<?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 on: GL_ARB_shadow</title>
	<atom:link href="http://bitwiseor.com/gl_arb_shadow/feed/" rel="self" type="application/rss+xml" />
	<link>http://bitwiseor.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Mon, 14 Aug 2006 15:46:36 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: &#187; OpenGL Transforms and the Inverse Model View</title>
		<link>http://bitwiseor.com/gl_arb_shadow/comment-page-1/#comment-25</link>
		<dc:creator>&#187; OpenGL Transforms and the Inverse Model View</dc:creator>
		<pubDate>Mon, 14 Aug 2006 15:46:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.bitwiseor.com/gl_arb_shadow/#comment-25</guid>
		<description>[...] It is important to realise that OpenGL&#8217;s Model View matrix is actually M * C, so, if we want to get the position of the vertex in world space, we will have to use the modelview matrix to go to camera space, then multiply by C-1 (the inverse of the camera matrix). This gives us V * M * C * C-1 = V * gl_ModelViewMatrix * C-1 = V * M. And world space is exactly what we need to do shadow mapping, refraction, reflectiona and a plethora of other things. OpenGL took care of this for us with the GL_ARB_Shadow extension. By using glTexGen, OpenGL computes the inverse camera matrix and applies it without us having to fuss with inverses. But, now we&#8217;ll need to do an inverse ourselves. [...]</description>
		<content:encoded><![CDATA[<p>[...] It is important to realise that OpenGL&#8217;s Model View matrix is actually M * C, so, if we want to get the position of the vertex in world space, we will have to use the modelview matrix to go to camera space, then multiply by C-1 (the inverse of the camera matrix). This gives us V * M * C * C-1 = V * gl_ModelViewMatrix * C-1 = V * M. And world space is exactly what we need to do shadow mapping, refraction, reflectiona and a plethora of other things. OpenGL took care of this for us with the GL_ARB_Shadow extension. By using glTexGen, OpenGL computes the inverse camera matrix and applies it without us having to fuss with inverses. But, now we&#8217;ll need to do an inverse ourselves. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BitwiseOR &#187; GL_ARB_shadow_funcs</title>
		<link>http://bitwiseor.com/gl_arb_shadow/comment-page-1/#comment-24</link>
		<dc:creator>BitwiseOR &#187; GL_ARB_shadow_funcs</dc:creator>
		<pubDate>Tue, 10 Jan 2006 21:10:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.bitwiseor.com/gl_arb_shadow/#comment-24</guid>
		<description>[...] The GL_ARB_shadow_funcs extension requires GL_ARB_shadow and GL_ARB_depth_texture in order to have any effect. In the GL_ARB_shadow example on this site we use GL_LEQUAL when setting the GL_TEXTURE_COMPARE_FUNC_ARB texture parameter. GL_ARB_shadow allows this comparison function to be GL_GEQUAL as well, but not any of the other comparison functions. [...]</description>
		<content:encoded><![CDATA[<p>[...] The GL_ARB_shadow_funcs extension requires GL_ARB_shadow and GL_ARB_depth_texture in order to have any effect. In the GL_ARB_shadow example on this site we use GL_LEQUAL when setting the GL_TEXTURE_COMPARE_FUNC_ARB texture parameter. GL_ARB_shadow allows this comparison function to be GL_GEQUAL as well, but not any of the other comparison functions. [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
