GLSL Hacker
Current version: 0.8.2
»GLSL Hacker homepage
»GLSL Hacker Overview

Current version: 1.15.1
»FurMark homepage
»FurMark 1.9.x Submissions

GPU Caps Viewer
Current version: 1.23.0
»GPU Caps Viewer homepage
»GPU DB Submissions

GPU Shark
Current version: 0.9.4
»GPU Shark homepage

»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.2
»FluidMark homepage
»FluidMark 1.4.x Submissions

Current version: 0.4.0
»GeeXLab homepage
»GeeXLab Overview

Current version: 0.3.0
»TessMark homepage

Current version: 0.3.0
»ShaderToyMark homepage
»ShaderToyMark Scores

Current Version: 1.23.0
»Libraries and Plugins
»Online Help - Reference Guide
»Codes Samples

3D Graphics Search Engine:

The Geeks Of 3D


NVIDIA NVIDIA Developer Blog
NVIDIA G80: OpenGL Programming

By: Christophe [Groove] Riccio -
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

GLSL Hacker demos

GLSL - Mesh exploder

PhysX 3 cloth demo

Normal visualizer with GS

Compute Shaders test on Radeon

Raymarching in GLSL

Geeks3D latest news

Geeks3D forum news

»Texture DataPack #1
»Asus Silent Knight CPU Cooler
Page generated in 0.010267019271851 seconds.