RenderingPipeline

from geometry to pixels

OpenGL

WebGL Statistics

Currently there is only one version on WebGL and just a hand-full extensions. But this does not boil down the question of WebGL support to a simple yes/no question. For some requirements of the GPU, WebGL only defines a lower limit to support (e.g. tiny textures of just 64*64 texels!) but each implementation can support […]

 

, ,

Learning OpenGL

Back in the days when I started with OpenGL the question where to start was often answered in the same way: Get a copy of the Redbook and/or look at the NeHe Tutorials. Since then OpenGL has moved on but these ressources not so much. The Redbook covers also more modern OpenGL but still starts […]

 

, , , , ,

Partially Resident Textures – AMD_sparse_texture

AMD has just released more infos about the new feature of the Radeon 7xxx GPUs: Partially Resident Textures. PRT is a new way of getting some hardware support for MegaTextures / VirtualTexturing as it is for example implemented in Rage right now and as it is planned (with PRT support) e.g. for Doom 4. The […]

 

, , , , , , ,

glGetActiveFragmentOut

glGetActiveFragmentOut can be a useful OpenGL call, similar to glGetActiveAttrib and glGetActiveUniform it can query the names of the fragment shader outputs from a shader program. It’s useful for rapid prototyping or shader IDE where the program has to check user-generated (or not well-tested) shaders whether they match the provided geometry data and attributes (glGetActiveAttrib), […]

 

,

Are Vertex Shaders obsolete?

Ok, obsolete is a bit harsh, but currently a OpenGL shader program needs at least a vertex and a fragment shader (or it is a separable shader program in OpenGL 4.1 but in that case the shader program pipeline object needs a vertex shader). With attribute-less rendering (aka ‘drawing without data’) a vertex shader needs […]

 

, , ,

Attribute-less rendering

The first step of the rendering pipeline is to fetch application provided data from one or multiple places (think of array buffers) and pass them as attributes into the vertex shader stage. This fetch can be controlled by an index and N attributes will get pulled from M arrays. The details are not so important […]

 

, , ,

Next posts