Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /home/clients/50536745d503cc9bd290722a231d5f8f/web/includes/o3_common.php on line 79

Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /home/clients/50536745d503cc9bd290722a231d5f8f/web/includes/o3_common.php on line 79
oZone3D.Net Tutorials - NVIDIA G80: OpenGL Programming - New OpenGL Extensions - GLSL - Geometry shader




GeeXLab
Current version: 0.45.1
>GeeXLab homepage

FurMark
Current version: 1.30.0
>FurMark homepage

GPU Caps Viewer
Current version: 1.55.0.0
>GPU Caps Viewer homepage

GPU Shark
Current version: 0.26.0.0
>GPU Shark homepage


Blogs
>JeGX's HackLab

Geeks3D's Articles
>GPU Memory Speed Demystified

>Multi-Threading Programming Resources

>GeForce and Radeon OpenCL Overview

>How to Get your Multi-core CPU Busy at 100%

>How To Make a VGA Dummy Plug

>Night Vision Post Processing Filter

PhysX FluidMark
Current version: 1.5.4
>FluidMark homepage

TessMark
Current version: 0.3.0
>TessMark homepage

ShaderToyMark
Current version: 0.3.0
>ShaderToyMark homepage
>ShaderToyMark Scores

Demoniak3D
Current Version: 1.23.0
>Demoniak3D
>Download
>Libraries and Plugins
>Demos
>Online Help - Reference Guide
>Codes Samples
 


NVIDIA nZone.com NVIDIA Developer Blog
NVIDIA G80: OpenGL Programming

By: Christophe [Groove] Riccio - www.g-truc.net
Initial Version: November 12, 2006
Edited and Translated by the oZone3D Team
Last Update: March 25, 2007


[ Index ]

Introduction | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

�Next Page



4 - Variables

6.1 - Framebuffer sRGB

Here we reach a new chapter that makes us discover the new features of this video card: all that deals with the framebuffer object. Although this notion is not yet a part of the OpenGL specification, it became some fetish functionality for programmers who wish to make some "render to texture", because by doing so we ensure the best performances. The color buffer format can now be a sRGB one thanks to the EXT_framebuffer_sRGB extension. Just a recall: the sRGB format is an IEC normalized format which characterizes the displays' non linear nature, especially in poorly enlightened rooms. Fundamentally, it is a 2.2 gamma correction.



6.2 - 32-bits Float Z-Buffer

EXT_packed_depth_stencil is an extension which allows a 24 bits storage on 32 bits for the Z-Buffer and 8 bits for the stencil buffer in a texture. With the GeForce 8800, there is in addition the NV_depth_buffer_float which contains a new format that makes it possible to store on 64 bits, a 32 bits Z-Buffer and an 8 bits stencil buffer, which makes 24 unused bits. Let's clarify that the reason of such an extension, except the fact that less memory is wasted, is to have a Z-Buffer coded on floating numbers.



6.3 - Coverage Sample AntiAliasing

The GeForce 8800 brings a new antialiasing mode called CSAA (Coverage Sample AntiAliasing) that uses an array of Boolean (for example 16 per pixel for the CSAA 16x) to determine a percentage of the final pixel overlap. In order to support this functionality in the render-to-texture mode, we have the NV_framebuffer_multisample_coverage extension.



6.4. Render targets blending

To end with this render-to-texture subject, we've got the GL_EXT_draw_buffers2 extension which completes the GL_ARB_draw_buffers. The point is to allow writing in several color buffers from a fragment shader. This functionality is often known as "Render To Target" (RTT) which is the foundation of the "deferred shader" approach. GL_EXT_draw_buffers2 allows assigning different color masks for each one of the chromatic buffer. Moreover, it allows to enable or not the blending for each target, although the function and the blending equation remain the same for all the chromatic buffers. Talking about chromatic buffers is excessive because the idea of the deferred shaders is to use for example one of the additional target to store the normals. The intention is respectable with this extension, but there is yet a lot to do. Nevertheless, a programmable blending in the next future remains topical.





[ Index ]

Introduction | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

�Next Page





GeeXLab demos


GLSL - Mesh exploder


PhysX 3 cloth demo


Normal visualizer with GS


Compute Shaders test on Radeon


Raymarching in GLSL



Misc
>Texture DataPack #1
>Asus Silent Knight CPU Cooler
Page generated in 0.0035319328308105 seconds.