whats a render target?
It is the surface you are rendering on, or perhaps the type of surface you are rendering on -- generally a color buffer or a texture.
its a surface to where you'll render your 3D objects. The default render target is the screen backbuffer.
They're OpenGL or Direct3D textures that have been set aside in CPU RAM and / or GPU RAM. When the texture is passed along to OpenGL / Direct3D, and then explicitely "enabled" by the appropriate API call, it gets copied to GPU RAM, where it can be used to directly capture shader output.
One can then either continue to use the render-target texture as input / output for subsequent GPU shaders, or instead copy it back to CPU RAM where it can be accessed (read / write) from CPU code written in C++, etc.
By doing this, your GPU has been used as a non-visual processor. Like the CPU, but several times faster in relation to linear algebra and trigonometry operations.
Multiple render-targets are primarily used to increase the number of output values that are returned from a single shader call.
On the 6800GT, I believe the maximum render-targets is 4, which would provide a total of 16 output values in the form of 4 vec4 textures.
It's not hard to think of 16 qualities that one could use to describe the space around them. General Relativity's equations have 16, but it doesn't account for things like squirrel colour or quality of parking location. Qualities add up fast when you're limited.
If the GPU only has a single render-target, the shader would be rewritten to be done in 4 consecutive shader calls (1 per output texture). Just means more time spent switching back and forth between the CPU / GPU instead of uninterrupted math processing.
[Edited by - taby on May 16, 2007 12:51:02 AM]
One can then either continue to use the render-target texture as input / output for subsequent GPU shaders, or instead copy it back to CPU RAM where it can be accessed (read / write) from CPU code written in C++, etc.
By doing this, your GPU has been used as a non-visual processor. Like the CPU, but several times faster in relation to linear algebra and trigonometry operations.
Multiple render-targets are primarily used to increase the number of output values that are returned from a single shader call.
On the 6800GT, I believe the maximum render-targets is 4, which would provide a total of 16 output values in the form of 4 vec4 textures.
It's not hard to think of 16 qualities that one could use to describe the space around them. General Relativity's equations have 16, but it doesn't account for things like squirrel colour or quality of parking location. Qualities add up fast when you're limited.
If the GPU only has a single render-target, the shader would be rewritten to be done in 4 consecutive shader calls (1 per output texture). Just means more time spent switching back and forth between the CPU / GPU instead of uninterrupted math processing.
[Edited by - taby on May 16, 2007 12:51:02 AM]
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement