<?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: 36. OpenGL Framebuffers</title>
	<atom:link href="http://www.swiftless.com/tutorials/opengl/framebuffer.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.swiftless.com/tutorials/opengl/framebuffer.html</link>
	<description>Game Programming and Computer Graphics Tutorials</description>
	<lastBuildDate>Wed, 01 Feb 2012 09:19:36 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Swiftless</title>
		<link>http://www.swiftless.com/tutorials/opengl/framebuffer.html/comment-page-1#comment-1629</link>
		<dc:creator>Swiftless</dc:creator>
		<pubDate>Tue, 26 Apr 2011 13:09:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.swiftless.com/?p=557#comment-1629</guid>
		<description>Hi Fath,

Yes, that is exactly right, that one line is what specifically attaches a depth buffer to a framebuffer object. Framebuffer objects are fully customisable, you don&#039;t need to have depth, colour or stencil buffers, you can do a combination of buffers to get exactly what you want. There are times when a colour buffer isn&#039;t required, but a depth buffer is, and it saves a lot of processing.

Cheers,
Swiftless</description>
		<content:encoded><![CDATA[<p>Hi Fath,</p>
<p>Yes, that is exactly right, that one line is what specifically attaches a depth buffer to a framebuffer object. Framebuffer objects are fully customisable, you don&#8217;t need to have depth, colour or stencil buffers, you can do a combination of buffers to get exactly what you want. There are times when a colour buffer isn&#8217;t required, but a depth buffer is, and it saves a lot of processing.</p>
<p>Cheers,<br />
Swiftless</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fath</title>
		<link>http://www.swiftless.com/tutorials/opengl/framebuffer.html/comment-page-1#comment-1627</link>
		<dc:creator>fath</dc:creator>
		<pubDate>Mon, 25 Apr 2011 04:36:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.swiftless.com/?p=557#comment-1627</guid>
		<description>Nice intro!!

Btw, i have a question, where does the fbo_depth variable obtain the depth buffer data?

or does this line 

glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, fbo_depth);

actually do the magic for assigning the depth buffer to fbo_depth?</description>
		<content:encoded><![CDATA[<p>Nice intro!!</p>
<p>Btw, i have a question, where does the fbo_depth variable obtain the depth buffer data?</p>
<p>or does this line </p>
<p>glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, fbo_depth);</p>
<p>actually do the magic for assigning the depth buffer to fbo_depth?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Seppo</title>
		<link>http://www.swiftless.com/tutorials/opengl/framebuffer.html/comment-page-1#comment-1598</link>
		<dc:creator>Seppo</dc:creator>
		<pubDate>Wed, 13 Apr 2011 00:13:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.swiftless.com/?p=557#comment-1598</guid>
		<description>Nice tutorial, I&#039;d like to share an experience I had tonight. So i&#039;ve got a basic deferred renderer and its time to add downsampling (HDR). From what I&#039;ve understood a single FBO is prefered but the textures are too plenty to fit in a row (more than 8). I wrote some book keeping to simplify attachment and got a weird defect in the display mode where all texture images are shown side by side. The buffers had shrank 1/4 by 1/4. Aha that caused by the new smaller downsampling texture. After some shotgun debugging i found that several diversly sized images where attached in the same FBO whereby (for unexamined reasons) the smaller one got used.
So here I wish to share my contract snippet to guard against this error in the future.

#define haltitude(expr)   breakitude(expr)
//#define haltitude(expr)   assert(expr)
    #define breakitude(expr)      {if(expr){}else{_asm int 3}}

    void assertSameSize(unsigned int t[8])
    {
        int firstWidth  = 0;
        int firstHeight = 0;
        int width;
        int height;

        for(int i=0;  i&lt;8;  ++i)
        {
            if(t[i] &amp;&amp; glIsTexture(t[i]))
            {
                glBindTexture(GL_TEXTURE_2D, t[i]);
                glGetTexLevelParameteriv(GL_TEXTURE_2D,0,GL_TEXTURE_WIDTH,&amp;width);
                glGetTexLevelParameteriv(GL_TEXTURE_2D,0,GL_TEXTURE_HEIGHT,&amp;height);
                glBindTexture(GL_TEXTURE_2D,0);

                if(0==i)
                {
                    firstWidth = width;
                    firstHeight = height;
                    continue;
                }

                haltitude(width==firstWidth);
                haltitude(height==firstHeight);
            }
        }
    }

thank you for your perseverance Swiftfless!</description>
		<content:encoded><![CDATA[<p>Nice tutorial, I&#8217;d like to share an experience I had tonight. So i&#8217;ve got a basic deferred renderer and its time to add downsampling (HDR). From what I&#8217;ve understood a single FBO is prefered but the textures are too plenty to fit in a row (more than 8). I wrote some book keeping to simplify attachment and got a weird defect in the display mode where all texture images are shown side by side. The buffers had shrank 1/4 by 1/4. Aha that caused by the new smaller downsampling texture. After some shotgun debugging i found that several diversly sized images where attached in the same FBO whereby (for unexamined reasons) the smaller one got used.<br />
So here I wish to share my contract snippet to guard against this error in the future.</p>
<p>#define haltitude(expr)   breakitude(expr)<br />
//#define haltitude(expr)   assert(expr)<br />
    #define breakitude(expr)      {if(expr){}else{_asm int 3}}</p>
<p>    void assertSameSize(unsigned int t[8])<br />
    {<br />
        int firstWidth  = 0;<br />
        int firstHeight = 0;<br />
        int width;<br />
        int height;</p>
<p>        for(int i=0;  i&lt;8;  ++i)<br />
        {<br />
            if(t[i] &amp;&amp; glIsTexture(t[i]))<br />
            {<br />
                glBindTexture(GL_TEXTURE_2D, t[i]);<br />
                glGetTexLevelParameteriv(GL_TEXTURE_2D,0,GL_TEXTURE_WIDTH,&amp;width);<br />
                glGetTexLevelParameteriv(GL_TEXTURE_2D,0,GL_TEXTURE_HEIGHT,&amp;height);<br />
                glBindTexture(GL_TEXTURE_2D,0);</p>
<p>                if(0==i)<br />
                {<br />
                    firstWidth = width;<br />
                    firstHeight = height;<br />
                    continue;<br />
                }</p>
<p>                haltitude(width==firstWidth);<br />
                haltitude(height==firstHeight);<br />
            }<br />
        }<br />
    }</p>
<p>thank you for your perseverance Swiftfless!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RipeTomatoe</title>
		<link>http://www.swiftless.com/tutorials/opengl/framebuffer.html/comment-page-1#comment-1089</link>
		<dc:creator>RipeTomatoe</dc:creator>
		<pubDate>Wed, 08 Dec 2010 02:29:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.swiftless.com/?p=557#comment-1089</guid>
		<description>Ok so it turns out you can&#039;t write a function that does this for any unsigned int. it didn&#039;t work, but now it does once I changed that.</description>
		<content:encoded><![CDATA[<p>Ok so it turns out you can&#8217;t write a function that does this for any unsigned int. it didn&#8217;t work, but now it does once I changed that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RipeTomatoe</title>
		<link>http://www.swiftless.com/tutorials/opengl/framebuffer.html/comment-page-1#comment-1088</link>
		<dc:creator>RipeTomatoe</dc:creator>
		<pubDate>Wed, 08 Dec 2010 01:59:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.swiftless.com/?p=557#comment-1088</guid>
		<description>I forgot to include that the status variable returns 30655 as the variable.</description>
		<content:encoded><![CDATA[<p>I forgot to include that the status variable returns 30655 as the variable.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RipeTomatoe</title>
		<link>http://www.swiftless.com/tutorials/opengl/framebuffer.html/comment-page-1#comment-1087</link>
		<dc:creator>RipeTomatoe</dc:creator>
		<pubDate>Wed, 08 Dec 2010 01:57:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.swiftless.com/?p=557#comment-1087</guid>
		<description>When I&#039;m using your code I keep getting a problem with the fbo not being complete (it closes saying there&#039;s a problem from the if statement in the fbo init function). Any reasons as to why this might happen?</description>
		<content:encoded><![CDATA[<p>When I&#8217;m using your code I keep getting a problem with the fbo not being complete (it closes saying there&#8217;s a problem from the if statement in the fbo init function). Any reasons as to why this might happen?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sneha Nagendra</title>
		<link>http://www.swiftless.com/tutorials/opengl/framebuffer.html/comment-page-1#comment-706</link>
		<dc:creator>Sneha Nagendra</dc:creator>
		<pubDate>Sat, 08 May 2010 08:23:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.swiftless.com/?p=557#comment-706</guid>
		<description>I am trying to do a project which will simulate navigation only with out the user interface(the routes will be predefined and based upon user selection the routes will be mapped). i have mapped the texture(a map) on the screen and i am trying to move the car over it. the problem i am facing is that i am not able to see the actual movement of the car and also,it is leaving a trail on th texture. please suggest a solution for this problem. thank u.</description>
		<content:encoded><![CDATA[<p>I am trying to do a project which will simulate navigation only with out the user interface(the routes will be predefined and based upon user selection the routes will be mapped). i have mapped the texture(a map) on the screen and i am trying to move the car over it. the problem i am facing is that i am not able to see the actual movement of the car and also,it is leaving a trail on th texture. please suggest a solution for this problem. thank u.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: OpenGL Framebuffer Tutorial Now Up &#124; Swiftless Tutorials</title>
		<link>http://www.swiftless.com/tutorials/opengl/framebuffer.html/comment-page-1#comment-617</link>
		<dc:creator>OpenGL Framebuffer Tutorial Now Up &#124; Swiftless Tutorials</dc:creator>
		<pubDate>Thu, 22 Apr 2010 04:17:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.swiftless.com/?p=557#comment-617</guid>
		<description>[...] 36. OpenGL Framebuffers Introduction Frame buffers are one of those mythical things that we have all heard of, but many beginner OpenGL developers avoid because there is not much information about them, and they can be confusing... [...]</description>
		<content:encoded><![CDATA[<p>[...] 36. OpenGL Framebuffers Introduction Frame buffers are one of those mythical things that we have all heard of, but many beginner OpenGL developers avoid because there is not much information about them, and they can be confusing&#8230; [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

