<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for The graphics blog</title>
	<atom:link href="http://www.flashbang.se/comments/feed" rel="self" type="application/rss+xml" />
	<link>http://www.flashbang.se</link>
	<description>Exploring the lighter side of graphics</description>
	<lastBuildDate>Mon, 16 Aug 2010 18:02:02 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Comment on Depth Shadow maps by Peter Wallström</title>
		<link>http://www.flashbang.se/archives/87/comment-page-1#comment-47</link>
		<dc:creator>Peter Wallström</dc:creator>
		<pubDate>Mon, 16 Aug 2010 18:02:02 +0000</pubDate>
		<guid isPermaLink="false">http://tgb.flashbang.se/?p=87#comment-47</guid>
		<description>Your right, it should be 
pos= gl_ModelViewMatrix * gl_Vertex;

at certiain angles the difference is so small i didn&#039;t notice it, the reason it&#039;s there in the first place was because pos was originally used for something else.</description>
		<content:encoded><![CDATA[<p>Your right, it should be<br />
pos= gl_ModelViewMatrix * gl_Vertex;</p>
<p>at certiain angles the difference is so small i didn&#8217;t notice it, the reason it&#8217;s there in the first place was because pos was originally used for something else.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Depth Shadow maps by ruxbin</title>
		<link>http://www.flashbang.se/archives/87/comment-page-1#comment-46</link>
		<dc:creator>ruxbin</dc:creator>
		<pubDate>Mon, 16 Aug 2010 14:48:56 +0000</pubDate>
		<guid isPermaLink="false">http://tgb.flashbang.se/?p=87#comment-46</guid>
		<description>Hey,nice shadow map tutorial.
But one thing I&#039;m not quite sure is about the following code in vertex shader
&quot;pos= gl_ModelViewProjectionMatrix * gl_Vertex;&quot;
which I think should be pos=gl_ModelView * gl_Vertex. Because we are considering camera coordinates while multiplying with gl_ModelViewProjectionMatrix  will transform to the clip coordinates space.
And after changing the code, I do see difference :)
Is that right? Or U write that code 4 some specific reason?
Thx</description>
		<content:encoded><![CDATA[<p>Hey,nice shadow map tutorial.<br />
But one thing I&#8217;m not quite sure is about the following code in vertex shader<br />
&#8220;pos= gl_ModelViewProjectionMatrix * gl_Vertex;&#8221;<br />
which I think should be pos=gl_ModelView * gl_Vertex. Because we are considering camera coordinates while multiplying with gl_ModelViewProjectionMatrix  will transform to the clip coordinates space.<br />
And after changing the code, I do see difference :)<br />
Is that right? Or U write that code 4 some specific reason?<br />
Thx</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Running OpenGL3.0 – part3 by Peter Wallström</title>
		<link>http://www.flashbang.se/archives/148/comment-page-1#comment-42</link>
		<dc:creator>Peter Wallström</dc:creator>
		<pubDate>Tue, 13 Jul 2010 16:55:42 +0000</pubDate>
		<guid isPermaLink="false">http://tgb.flashbang.se/?p=148#comment-42</guid>
		<description>for a few simple reasons.
1. these tutorials assume that you already know some of this, either trough nehe or other places.
2. it&#039;s written to be as general as possible as i don&#039;t know what kind of codebase or language any one person is running, especially for the last 5 (VAO to Screenshots)
3. for the ones that are missing code i actually don&#039;t have any specific source code, it&#039;s all integrated into other code which i cant release without cleaning it up

Though the next few might be better on the sourcecode area, at least the final one in a series i am planning.</description>
		<content:encoded><![CDATA[<p>for a few simple reasons.<br />
1. these tutorials assume that you already know some of this, either trough nehe or other places.<br />
2. it&#8217;s written to be as general as possible as i don&#8217;t know what kind of codebase or language any one person is running, especially for the last 5 (VAO to Screenshots)<br />
3. for the ones that are missing code i actually don&#8217;t have any specific source code, it&#8217;s all integrated into other code which i cant release without cleaning it up</p>
<p>Though the next few might be better on the sourcecode area, at least the final one in a series i am planning.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Running OpenGL3.0 – part3 by amir</title>
		<link>http://www.flashbang.se/archives/148/comment-page-1#comment-41</link>
		<dc:creator>amir</dc:creator>
		<pubDate>Tue, 13 Jul 2010 16:26:03 +0000</pubDate>
		<guid isPermaLink="false">http://tgb.flashbang.se/?p=148#comment-41</guid>
		<description>Hey your guides are awesome but one thing is missing and that is the source code i just wonder why you dont publish that ?</description>
		<content:encoded><![CDATA[<p>Hey your guides are awesome but one thing is missing and that is the source code i just wonder why you dont publish that ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Running OpenGL3.0 – part3 by Peter Wallström</title>
		<link>http://www.flashbang.se/archives/148/comment-page-1#comment-16</link>
		<dc:creator>Peter Wallström</dc:creator>
		<pubDate>Tue, 04 May 2010 15:07:44 +0000</pubDate>
		<guid isPermaLink="false">http://tgb.flashbang.se/?p=148#comment-16</guid>
		<description>&lt;strong&gt;-old comments-&lt;/strong&gt;

&lt;strong&gt;Comment by Overlord on 2009:10:03 17:37&lt;/strong&gt;
have a gldOrtho here also by popular request


void gldOrtho(float *m, float left, float right, float bottom, float top, float Znear, float Zfar)
{

float m2[16] = {0};

m2[0] = 2/(right-left);
m2[1] = 0;
m2[2] = 0;
m2[3] = -((right+left)/(right-left));

m2[4] = 0;
m2[5] = 2/(top-bottom);
m2[6] = 0;
m2[7] = -((top+bottom)/(top-bottom));

m2[8] = 0;
m2[9] = 0;
m2[10] = 2/(Zfar-Znear);
m2[11] = -((Zfar+Znear)/(Zfar-Znear));

m2[12] = 0;
m2[13] = 0;
m2[14] = 0;
m2[15] = 1;

gldMultMatrix(m,m2);

}

&lt;strong&gt;Comment by Øystein on 2009:10:28 18:07&lt;/strong&gt;
What do you do if you have two objects thath you want to translate/rotate separately? You have only one model/view/projection-matrix, projMat, for the whole scene, right?

&lt;strong&gt;Comment by Overlord on 2009:10:29 07:54&lt;/strong&gt;
no, you make one matrix per object if needed, you upload matrix 1 then draw object 1, then upload matrix 2 then draw object 2 and so on.
Though it would be good to reuse certain base matrices.</description>
		<content:encoded><![CDATA[<p><strong>-old comments-</strong></p>
<p><strong>Comment by Overlord on 2009:10:03 17:37</strong><br />
have a gldOrtho here also by popular request</p>
<p>void gldOrtho(float *m, float left, float right, float bottom, float top, float Znear, float Zfar)<br />
{</p>
<p>float m2[16] = {0};</p>
<p>m2[0] = 2/(right-left);<br />
m2[1] = 0;<br />
m2[2] = 0;<br />
m2[3] = -((right+left)/(right-left));</p>
<p>m2[4] = 0;<br />
m2[5] = 2/(top-bottom);<br />
m2[6] = 0;<br />
m2[7] = -((top+bottom)/(top-bottom));</p>
<p>m2[8] = 0;<br />
m2[9] = 0;<br />
m2[10] = 2/(Zfar-Znear);<br />
m2[11] = -((Zfar+Znear)/(Zfar-Znear));</p>
<p>m2[12] = 0;<br />
m2[13] = 0;<br />
m2[14] = 0;<br />
m2[15] = 1;</p>
<p>gldMultMatrix(m,m2);</p>
<p>}</p>
<p><strong>Comment by Øystein on 2009:10:28 18:07</strong><br />
What do you do if you have two objects thath you want to translate/rotate separately? You have only one model/view/projection-matrix, projMat, for the whole scene, right?</p>
<p><strong>Comment by Overlord on 2009:10:29 07:54</strong><br />
no, you make one matrix per object if needed, you upload matrix 1 then draw object 1, then upload matrix 2 then draw object 2 and so on.<br />
Though it would be good to reuse certain base matrices.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Running OpenGL3.0 – part1 by Peter Wallström</title>
		<link>http://www.flashbang.se/archives/133/comment-page-1#comment-15</link>
		<dc:creator>Peter Wallström</dc:creator>
		<pubDate>Tue, 04 May 2010 15:06:36 +0000</pubDate>
		<guid isPermaLink="false">http://tgb.flashbang.se/?p=133#comment-15</guid>
		<description>&lt;strong&gt;-old comments-&lt;/strong&gt;

&lt;strong&gt;Comment by MZIskandar on 2009:06:12 00:58&lt;/strong&gt;
Nice explanation.. I&#039;m waiting for part 2.

&lt;strong&gt;Comment by X on 2009:07:07 00:02&lt;/strong&gt;
Thanks for your hard work!

Looking forward to more ;)

&lt;strong&gt;Comment by pommes on 2010:03:15 18:44&lt;/strong&gt;
Hey

Can I download this code in a projectfile somewhere or do I have to change it in your basecode?

&lt;strong&gt;Comment by Overlord on 2010:03:15 21:23&lt;/strong&gt;
Yea, you have to change the base code as i don&#039;t have any specific code for this tutorial.
This tutorial was written as a bit more general than usual so you can apply this to any basecode or update your existing application.</description>
		<content:encoded><![CDATA[<p><strong>-old comments-</strong></p>
<p><strong>Comment by MZIskandar on 2009:06:12 00:58</strong><br />
Nice explanation.. I&#8217;m waiting for part 2.</p>
<p><strong>Comment by X on 2009:07:07 00:02</strong><br />
Thanks for your hard work!</p>
<p>Looking forward to more ;)</p>
<p><strong>Comment by pommes on 2010:03:15 18:44</strong><br />
Hey</p>
<p>Can I download this code in a projectfile somewhere or do I have to change it in your basecode?</p>
<p><strong>Comment by Overlord on 2010:03:15 21:23</strong><br />
Yea, you have to change the base code as i don&#8217;t have any specific code for this tutorial.<br />
This tutorial was written as a bit more general than usual so you can apply this to any basecode or update your existing application.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Vertex array objects by Peter Wallström</title>
		<link>http://www.flashbang.se/archives/131/comment-page-1#comment-14</link>
		<dc:creator>Peter Wallström</dc:creator>
		<pubDate>Tue, 04 May 2010 15:04:54 +0000</pubDate>
		<guid isPermaLink="false">http://tgb.flashbang.se/?p=131#comment-14</guid>
		<description>-old comments-

Comment by Jason on 2009:05:10 12:39
I think it&#039;s important to state the Vertex Array Objects are not shared over multiple contexts.

Comment by alex on 2009:05:12 13:43
Thank you for your tutorial. I&#039;d be interested in seeing more tutorials like these that will bring the rest of us OpenGL1.1/OpenGL2.1 newbies up to speed on OpenGL3.1

Comment by Overlord on 2009:05:12 23:31
Thanks, yea i am working on that currently, OpenGL 3.0 in forward compatible mode is more complicated, they basically dropped stuff like, glColor, glVertexPointer, glRotatef, glTranslatef, glVertex3f and so on, it&#039;s basically an entirely new way of doing things, first of all shaders are mandatory unless that is if black is your favorite color, next all translations are made by you by hand, which would be only slightly annoying if they would have kept the old glLoadMatrixf, naturally they didn&#039;t.
It&#039;s definitely more powerful though but it&#039;s gonna take a few days to dig trough.</description>
		<content:encoded><![CDATA[<p>-old comments-</p>
<p>Comment by Jason on 2009:05:10 12:39<br />
I think it&#8217;s important to state the Vertex Array Objects are not shared over multiple contexts.</p>
<p>Comment by alex on 2009:05:12 13:43<br />
Thank you for your tutorial. I&#8217;d be interested in seeing more tutorials like these that will bring the rest of us OpenGL1.1/OpenGL2.1 newbies up to speed on OpenGL3.1</p>
<p>Comment by Overlord on 2009:05:12 23:31<br />
Thanks, yea i am working on that currently, OpenGL 3.0 in forward compatible mode is more complicated, they basically dropped stuff like, glColor, glVertexPointer, glRotatef, glTranslatef, glVertex3f and so on, it&#8217;s basically an entirely new way of doing things, first of all shaders are mandatory unless that is if black is your favorite color, next all translations are made by you by hand, which would be only slightly annoying if they would have kept the old glLoadMatrixf, naturally they didn&#8217;t.<br />
It&#8217;s definitely more powerful though but it&#8217;s gonna take a few days to dig trough.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Depth Shadow maps by Peter Wallström</title>
		<link>http://www.flashbang.se/archives/87/comment-page-1#comment-13</link>
		<dc:creator>Peter Wallström</dc:creator>
		<pubDate>Tue, 04 May 2010 15:03:29 +0000</pubDate>
		<guid isPermaLink="false">http://tgb.flashbang.se/?p=87#comment-13</guid>
		<description>&lt;strong&gt;-old comments-&lt;/strong&gt;

&lt;strong&gt;Comment by mziskandar on 2007:02:21 15:43&lt;/strong&gt;
the tutorial im waiting for... great zeo!

&lt;strong&gt;Comment by mziskandar on 2007:02:21 19:26&lt;/strong&gt;
sadly, im receiving: GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT error.

im using ati9600xt.

&lt;strong&gt;Comment by mziskandar on 2007:02:21 20:36&lt;/strong&gt;
just want to share with anybody who failed to compile using vs2005.

remove:
#include

add:
#include
using namespace std;

&lt;strong&gt;Comment by eXile on 2007:08:30 10:51&lt;/strong&gt;
Oh well ...

... I just got it running in my Ati 9600 Pro (fixed some errors, like mziskandar said).

&lt;strong&gt;Comment by eXile on 2007:08:30 11:15&lt;/strong&gt;
In glsl.frag REPLACE the three lines:
gl_TexCoord[2] = gl_TexCoord[2]/gl_TexCoord[2].w;

gl_TexCoord[2]=(gl_TexCoord[2]+ 1.0) * 0.5;

With:
vec4 texCoord2 = ((gl_TexCoord[2]/gl_TexCoord[2].w) + 1.0) * 0.5;

---

In glsl.frag REPLACE the line:
vec4 shadow = texture2D(texunit2,gl_TexCoord[2].xy);

With:
vec4 shadow = texture2D(texunit2,texCoord2.xy);

---

In glsl.frag REPLACE the line:
if((shadow.z+0.005) &lt; gl_TexCoord[2].z)

With:
if((shadow.z+0.005) &lt; texCoord2.z)

---

In glsl.frag REPLACE the three lines:

float fresnel =max((norm.z-0.6)*-1.0,0);

float diffuse = max(dot(lightVec, norm),0);

With:
float fresnel =max((norm.z-0.6)*-1.0,0.0);

float diffuse = max(dot(lightVec, norm),0.0);

---

In ZeoTut03a.cpp REPLACE the line:
glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24, 2048, 2048, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, NULL );

With:
glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, 2048, 2048, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, NULL );

---

And recompile :-) If you are using Visual Studio 2005, you have to replace all &quot;#include fstream.h&quot; with &quot;#include fstream&quot; + an &quot;using namespace

std;&quot;. If you never compiled an OpenGL-application before, you also need to download the glext.h from

&lt;a href=&quot;http://oss.sgi.com/projects/ogl-sample/ABI/glext.h&quot; rel=&quot;nofollow&quot;&gt;http://oss.sgi.com/projects/ogl-sample/ABI/glext.h and place it into your Visual Studio 2005 installation path into .../VC/PlatformSDK/Include/gl.

Tested twice and working with above changes on a Ati 9600 Pro.

&lt;strong&gt;Comment by vinnythepoo on 2009:05:16 18:58&lt;/strong&gt;
Thanks for your tutorials,
i have noticed that in your shadow mapping you declare the bias matrix, but you don&#039;t use, and also you don&#039;t invert anymore the camera, why ?

&lt;strong&gt;Comment by vinnythepoo on 2009:05:16 20:59&lt;/strong&gt;
Forgot another thing, looks like that the instructions

glMatrixMode(GL_TEXTURE);
glLoadMatrixf(textureMatrix);

Completely corrupt the pipeline once the function ends, i see because i have an fps counter and it is not shown

&lt;strong&gt;Comment by Overlord on 2009:05:16 23:30&lt;/strong&gt;
The bias matrix was previously used but i later put that in the shader, the downloadable code as an older version that i just didn&#039;t update so the code on this page is the correct one, i will probably do a full update once i have time, i am working on like 6 different projects right now all with a close deadline, but once it&#039;s done i think you will like it.

regarding glMatrixMode(GL_TEXTURE);, yea that might happen, just reset it with
glMatrixMode(GL_TEXTURE);
glLoadIdentity ();
I used the texture matrix because it&#039;s convenient and easy to understand, in a production environment i would probably send a uniform to the shaders, it&#039;s also something your required to do in 3.1.
&lt;strong&gt;
Comment by vinnythepoo on 2009:05:17 07:41&lt;/strong&gt;
I tried to reset the texture matrix but i get blank screen if i reset it, even after the end of the rendering function.
How can i solve this ? looks like the texture matrix is corrupted after being used

&lt;strong&gt;Comment by wallifin@hotmail.com on 2010:04:23 10:10&lt;/strong&gt;
hi vinnythepoo,
try to change this lines
glMatrixMode(GL_PROJECTION);
glLoadMatrixf(cameraProjectionMatrix);

glMatrixMode(GL_TEXTURE);
glLoadMatrixf(textureMatrix);

glMatrixMode(GL_MODELVIEW);
glLoadMatrixf(cameraViewMatrix);
with:
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadMatrixf(cameraProjectionMatrix);

glMatrixMode(GL_TEXTURE);
glPushMatrix();
glLoadMatrixf(textureMatrix);

glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadMatrixf(cameraViewMatrix);

and at the end of rendering add this line:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glPopMatrix();

glMatrixMode(GL_TEXTURE);
glLoadIdentity();
glPopMatrix();

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glPopMatrix();
glFlush ();

for any questions send me a mail
reguards
walter :)
exsuse me for my bad english :(</description>
		<content:encoded><![CDATA[<p><strong>-old comments-</strong></p>
<p><strong>Comment by mziskandar on 2007:02:21 15:43</strong><br />
the tutorial im waiting for&#8230; great zeo!</p>
<p><strong>Comment by mziskandar on 2007:02:21 19:26</strong><br />
sadly, im receiving: GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT error.</p>
<p>im using ati9600xt.</p>
<p><strong>Comment by mziskandar on 2007:02:21 20:36</strong><br />
just want to share with anybody who failed to compile using vs2005.</p>
<p>remove:<br />
#include</p>
<p>add:<br />
#include<br />
using namespace std;</p>
<p><strong>Comment by eXile on 2007:08:30 10:51</strong><br />
Oh well &#8230;</p>
<p>&#8230; I just got it running in my Ati 9600 Pro (fixed some errors, like mziskandar said).</p>
<p><strong>Comment by eXile on 2007:08:30 11:15</strong><br />
In glsl.frag REPLACE the three lines:<br />
gl_TexCoord[2] = gl_TexCoord[2]/gl_TexCoord[2].w;</p>
<p>gl_TexCoord[2]=(gl_TexCoord[2]+ 1.0) * 0.5;</p>
<p>With:<br />
vec4 texCoord2 = ((gl_TexCoord[2]/gl_TexCoord[2].w) + 1.0) * 0.5;</p>
<p>&#8212;</p>
<p>In glsl.frag REPLACE the line:<br />
vec4 shadow = texture2D(texunit2,gl_TexCoord[2].xy);</p>
<p>With:<br />
vec4 shadow = texture2D(texunit2,texCoord2.xy);</p>
<p>&#8212;</p>
<p>In glsl.frag REPLACE the line:<br />
if((shadow.z+0.005) < gl_TexCoord[2].z)</p>
<p>With:<br />
if((shadow.z+0.005) < texCoord2.z)</p>
<p>---</p>
<p>In glsl.frag REPLACE the three lines:</p>
<p>float fresnel =max((norm.z-0.6)*-1.0,0);</p>
<p>float diffuse = max(dot(lightVec, norm),0);</p>
<p>With:<br />
float fresnel =max((norm.z-0.6)*-1.0,0.0);</p>
<p>float diffuse = max(dot(lightVec, norm),0.0);</p>
<p>---</p>
<p>In ZeoTut03a.cpp REPLACE the line:<br />
glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24, 2048, 2048, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, NULL );</p>
<p>With:<br />
glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, 2048, 2048, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, NULL );</p>
<p>---</p>
<p>And recompile :-) If you are using Visual Studio 2005, you have to replace all "#include fstream.h" with "#include fstream" + an "using namespace</p>
<p>std;". If you never compiled an OpenGL-application before, you also need to download the glext.h from</p>
<p><a href="http://oss.sgi.com/projects/ogl-sample/ABI/glext.h" rel="nofollow"><a href="http://oss.sgi.com/projects/ogl-sample/ABI/glext.h" rel="nofollow">http://oss.sgi.com/projects/ogl-sample/ABI/glext.h</a> and place it into your Visual Studio 2005 installation path into &#8230;/VC/PlatformSDK/Include/gl.</p>
<p>Tested twice and working with above changes on a Ati 9600 Pro.</p>
<p><strong>Comment by vinnythepoo on 2009:05:16 18:58</strong><br />
Thanks for your tutorials,<br />
i have noticed that in your shadow mapping you declare the bias matrix, but you don&#8217;t use, and also you don&#8217;t invert anymore the camera, why ?</p>
<p><strong>Comment by vinnythepoo on 2009:05:16 20:59</strong><br />
Forgot another thing, looks like that the instructions</p>
<p>glMatrixMode(GL_TEXTURE);<br />
glLoadMatrixf(textureMatrix);</p>
<p>Completely corrupt the pipeline once the function ends, i see because i have an fps counter and it is not shown</p>
<p><strong>Comment by Overlord on 2009:05:16 23:30</strong><br />
The bias matrix was previously used but i later put that in the shader, the downloadable code as an older version that i just didn&#8217;t update so the code on this page is the correct one, i will probably do a full update once i have time, i am working on like 6 different projects right now all with a close deadline, but once it&#8217;s done i think you will like it.</p>
<p>regarding glMatrixMode(GL_TEXTURE);, yea that might happen, just reset it with<br />
glMatrixMode(GL_TEXTURE);<br />
glLoadIdentity ();<br />
I used the texture matrix because it&#8217;s convenient and easy to understand, in a production environment i would probably send a uniform to the shaders, it&#8217;s also something your required to do in 3.1.<br />
<strong><br />
Comment by vinnythepoo on 2009:05:17 07:41</strong><br />
I tried to reset the texture matrix but i get blank screen if i reset it, even after the end of the rendering function.<br />
How can i solve this ? looks like the texture matrix is corrupted after being used</p>
<p><strong>Comment by <a href="mailto:wallifin@hotmail.com">wallifin@hotmail.com</a> on 2010:04:23 10:10</strong><br />
hi vinnythepoo,<br />
try to change this lines<br />
glMatrixMode(GL_PROJECTION);<br />
glLoadMatrixf(cameraProjectionMatrix);</p>
<p>glMatrixMode(GL_TEXTURE);<br />
glLoadMatrixf(textureMatrix);</p>
<p>glMatrixMode(GL_MODELVIEW);<br />
glLoadMatrixf(cameraViewMatrix);<br />
with:<br />
glMatrixMode(GL_PROJECTION);<br />
glPushMatrix();<br />
glLoadMatrixf(cameraProjectionMatrix);</p>
<p>glMatrixMode(GL_TEXTURE);<br />
glPushMatrix();<br />
glLoadMatrixf(textureMatrix);</p>
<p>glMatrixMode(GL_MODELVIEW);<br />
glPushMatrix();<br />
glLoadMatrixf(cameraViewMatrix);</p>
<p>and at the end of rendering add this line:<br />
glMatrixMode(GL_PROJECTION);<br />
glLoadIdentity();<br />
glPopMatrix();</p>
<p>glMatrixMode(GL_TEXTURE);<br />
glLoadIdentity();<br />
glPopMatrix();</p>
<p>glMatrixMode(GL_MODELVIEW);<br />
glLoadIdentity();<br />
glPopMatrix();<br />
glFlush ();</p>
<p>for any questions send me a mail<br />
reguards<br />
walter :)<br />
exsuse me for my bad english :(</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Per pixel lighting by Peter Wallström</title>
		<link>http://www.flashbang.se/archives/60/comment-page-1#comment-12</link>
		<dc:creator>Peter Wallström</dc:creator>
		<pubDate>Tue, 04 May 2010 15:00:47 +0000</pubDate>
		<guid isPermaLink="false">http://tgb.flashbang.se/?p=60#comment-12</guid>
		<description>&lt;strong&gt;-old comments-&lt;/strong&gt;

&lt;strong&gt;Comment by eXile on 2007:08:30 10:37&lt;/strong&gt;
In glsl.frag replace the line:
float fresnel =max((norm.z-0.4)*-1.0,0);

With this one:
float fresnel =max((norm.z-0.4)*-1.0,0.0);

This should resolve a issue with Ati-cards (&quot;no overloaded function max&quot;). :)</description>
		<content:encoded><![CDATA[<p><strong>-old comments-</strong></p>
<p><strong>Comment by eXile on 2007:08:30 10:37</strong><br />
In glsl.frag replace the line:<br />
float fresnel =max((norm.z-0.4)*-1.0,0);</p>
<p>With this one:<br />
float fresnel =max((norm.z-0.4)*-1.0,0.0);</p>
<p>This should resolve a issue with Ati-cards (&#8220;no overloaded function max&#8221;). :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on FBO feeedbackbuffer by Peter Wallström</title>
		<link>http://www.flashbang.se/archives/50/comment-page-1#comment-11</link>
		<dc:creator>Peter Wallström</dc:creator>
		<pubDate>Tue, 04 May 2010 14:59:42 +0000</pubDate>
		<guid isPermaLink="false">http://tgb.flashbang.se/?p=50#comment-11</guid>
		<description>&lt;strong&gt;-old comments-&lt;/strong&gt;

&lt;strong&gt;Comment by overlord on 2006:05:05 18:09&lt;/strong&gt;
Just a quick note, since this tutorial uses GL_RGBA16F_ARB it may run slow on older hardware, if it does then try changing it to GL_RGBA.

&lt;strong&gt;Comment by Desert on 2009:12:10 22:11&lt;/strong&gt;
Hi,

Some time ago i wondered how to emulate the accumulation buffer using FBO, now i see how.

Sadly the code does not port to Linux as smooth as i would like.

But thanks a lot for the hints!.</description>
		<content:encoded><![CDATA[<p><strong>-old comments-</strong></p>
<p><strong>Comment by overlord on 2006:05:05 18:09</strong><br />
Just a quick note, since this tutorial uses GL_RGBA16F_ARB it may run slow on older hardware, if it does then try changing it to GL_RGBA.</p>
<p><strong>Comment by Desert on 2009:12:10 22:11</strong><br />
Hi,</p>
<p>Some time ago i wondered how to emulate the accumulation buffer using FBO, now i see how.</p>
<p>Sadly the code does not port to Linux as smooth as i would like.</p>
<p>But thanks a lot for the hints!.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
