Help end child hunger
Nov 232012
 

Both FreeGLUT and GLUT allow us to define an OpenGL context with multisampling. However the number of samples is fixed (4) and I’ve not found a way to change it using the API.

In here we’re going to see how to hack FreeGLUT so that we can change the default number of samples. This can be achieved either by changing the default value, or by adding a new function to set this value.

Note: This hack should be used only for testing purposes, not for redistribution, as FreeGLUT has a large base of users which already have the official version installed.

Continue reading »

Nov 132012
 

OpenGL renders to framebuffers. By default OpenGL renders to screen, the default framebuffer that commonly contains a color and a depth buffer. This is great for many purposes where a pipeline consists of a single pass, a pass being a sequence of shaders. For instance a simple pass can have only a vertex and a fragment shader.

For more complex graphical effects or techniques, such as shadows or deferred rendering, multiple passes are often required, where the outputs of a pass are inputs of the following pass, for instance as textures. In this context, instead of rendering to screen, and then copying the result to a texture it would be much nicer to render to texture directly. The figure shows a two pass pipeline, where the first produces three textures that are used in the second pass to compose the final image. This is one of the advantages of framebuffer objects: we can render to multiple outputs in a single pass.

Besides, rendering to screen requires the outputs to be of a displayable format, which is not always the case in a multipass pipeline. Sometimes the textures produced by a pass need to have a floating point format which does not translate directly to colors, for instance the speed of a particle in meters per second.

In this short tutorial we will see how a framebuffer object can be created, and used with shaders. A demo is also provided with full source code, and a VS 2010 solution.

Oct 292012
 

Flipcode has been down for about 7 years, but it is back since August :-) This was one of the reference sites for people in CG in its glory days. Glad to see you back, and all the best for the site. I’ve added flipcode to the the permanent list of links on the right side of the site.

Oct 262012
 

A Lighthouse3D short tutorial on OpenGL atomic buffers is now available in here. The tutorial covers both the OpenGL and GLSL definition and usage. As the official documentation, and demos on the net are not abundant, it is difficult to be too assertive in some issues. Everything on the tutorial has been tested and it works perfectly with recent NVIDIA beta drivers. Unfortunately, a few things seem not to work with AMD catalyst 12.9 drivers. Anyway, check it out, and let me know if I missed something, or if you find any bugs.

Oct 152012
 

Shaderific is a great iOS application for OpenGL ES shader learning. The app provides the source code for the vertex and fragment shaders for 18 built-in demo shaders, and it allows the creation of new ones. Many 3D objects (including the required teapot) are available, and material and lighting can also be set. There is a free version that lets us try it out, but the changes are not kept once the app is closed.

Oct 102012
 

This course is the next installment in the established series of SIGGRAPH courses on real-time rendering. It presents the best graphics practices and research from the game-development community and provides practical and production-proven algorithms. The focus of the course is on the intersection between the game-development community and state-of-the-art 3D graphics research, and the potential for cross-pollination of knowledge in future games and other interactive applications.

Slides are available in here.