Attention Radeon users
category: general [glöplog]
wrong...
Radeon can render to texture and FAST, IF you use glTexImage2D.
glCopySubTexImage2D or whatever, on the other hand, results the framerates above.
At least if you check our intros (Kräsh, Skrätzh, PG, APCU, etc.), they are ALL opengl, they all use some kinda postfiltering tricks, and they are all FAST on a radeon.
Anyway according to Vercy/ÜD, the very newest drivers should fix the problem.
Radeon can render to texture and FAST, IF you use glTexImage2D.
glCopySubTexImage2D or whatever, on the other hand, results the framerates above.
At least if you check our intros (Kräsh, Skrätzh, PG, APCU, etc.), they are ALL opengl, they all use some kinda postfiltering tricks, and they are all FAST on a radeon.
Anyway according to Vercy/ÜD, the very newest drivers should fix the problem.
What?
Do you mean glTextImage() is faster than glCopyTexSubImage2D() on Radeons? That is opposite to all OpenGL manuals I have read.
Do you mean glTextImage() is faster than glCopyTexSubImage2D() on Radeons? That is opposite to all OpenGL manuals I have read.
glCopyTexSubImage2D() should indeed be used instead of glTexImage2D(). Using glTexImage2D() to perform RTT doesn't make much sense to me.
I've never had problems with the first on radeons. The extremely low framerate makes me think it can be caused by a wrong/unsupported parameter of glCopyTexSubImage2D, forcing the driver to fall to software mode.
Which parameters do you use?
I've never had problems with the first on radeons. The extremely low framerate makes me think it can be caused by a wrong/unsupported parameter of glCopyTexSubImage2D, forcing the driver to fall to software mode.
Which parameters do you use?
s/which/what
Hmm, I just use Direct3D.
Dump OGL shite ;) RTT works fine on Radeons in D3D
Ati had a bug in the 3.6 driver that affected glCopySubTexImage2d() when FSAA was active, thats fixed in 3.7 ( afaik ). the subimage is faster, or just as fast as a 'copyteximage' since it cant involve a reallocation of memory so the driver can disregard that test, but i think they often travel the same path,l except if the new dimensions differ from the previous ones.
the render to framebuffer and copy to texture is often calle d CTT (copy yo texture) not to confuse by RTT ( Render to texture) that actually change the rendertarget to the texture, and not involving any extra datacopy. Radeon is quite fast at RTT but its a real hell to use in Opengl ( its not vendor specific, but OS bound). we are looking forward to the new SuperBuffers which allows both render to texture in a simpley way, and Render to vertexbuffer, render to indexbuffer, and faster transfer from GPU to CPU. ATI hinted that this will be in their upcomming drivers ( 3.8 or 4.0 what ever they call it) and since they release a new driver each month we shouldnt need to wait that long :)
the render to framebuffer and copy to texture is often calle d CTT (copy yo texture) not to confuse by RTT ( Render to texture) that actually change the rendertarget to the texture, and not involving any extra datacopy. Radeon is quite fast at RTT but its a real hell to use in Opengl ( its not vendor specific, but OS bound). we are looking forward to the new SuperBuffers which allows both render to texture in a simpley way, and Render to vertexbuffer, render to indexbuffer, and faster transfer from GPU to CPU. ATI hinted that this will be in their upcomming drivers ( 3.8 or 4.0 what ever they call it) and since they release a new driver each month we shouldnt need to wait that long :)
Another reason to change to D3D :P
In that case I use both CTT and RTT for the glow. (Note that the glow used in Legomania is not the same as in the test programs.)
I create a p-buffer with a texture as render target. For each frame I do something like:
1. Copy screen into a temp texture using glCopyTexSubImage2D() (CTT)
2. Render temp texture into p-buffer (RTT) using multitexturing, fog and some other stuff
3. Render p-buffer multiple times to screen using addtitive blending
I create a p-buffer with a texture as render target. For each frame I do something like:
1. Copy screen into a temp texture using glCopyTexSubImage2D() (CTT)
2. Render temp texture into p-buffer (RTT) using multitexturing, fog and some other stuff
3. Render p-buffer multiple times to screen using addtitive blending
shash : i relly dont understand why i should change? was it becourse RTT functions is OS specific? or that we soon have teh render to vertexbuffer features? :)