OpenGL Shading Language Tutorials and Demos

Febrary 24, 2007 /Martin Christen

OpenGL SDK

OpenGL SDK is now available at http://www.opengl.org/sdk.It contains the latest version of my tutorials.

This site will change in the next few weeks.

 
November 13 , 2006/Martin Christen

libglsl-1.0.0rc4

Version 1.0.0rc4 of the C++ GLSL classes is available for download. It now supports Geometry Shaders.
Libglsl is a collection of classes to simplify loading, compiling and using GLSL vertex shaders, geometry shaders and fragment shaders. To compile it, the special version of glew (supporting latest OpenGL Extensions) is required. libglsl is released with a visual studio project and includes a simple demo of geometry instancing with geometry shaders. You need a GeForce 8800 and enable geometry shader extensions (with nvemulate) to run it.
 
November 11, 2006/Martin Christen

GLEW with GeForce 8800 extension support

To support the new OpenGL extensions of the GeForce 8800 I created a modified version of GLEW which supports them. This is NOT an official glew release, but if you already want to develop some geometry shaders you can use this.
Download Page.

Supported New Extensions: sEXT_bindable_uniform, EXT_draw_buffers2, EXT_draw_instanced, EXT_framebuffer_sRGB, EXT_geometry_shader4, EXT_packed_float, EXT_texture_array, EXT_texture_buffer_object, EXT_texture_compression_latc, EXT_texture_compression_rgtc, EXT_texture_integer, EXT_texture_shared_exponent, NV_depth_buffer_float, NV_fragment_program4, NV_framebuffer_multisample_coverage, NV_geometry_program4, NV_gpu_program4, NV_parameter_buffer_object, NV_transform_feedback, NV_vertex_program4.

Note:A new version of libglsl with geometry shader support should be available on Monday. My first geometry shader already runs fine ;-)
 
 
November 9, 2006/Martin Christen

GeForce 8800

I bought a GeForce 8800 GTX today. If you get one, make sure you have the required hardware ;-)
 
submitted by: /Martin Christen

libglsl-0.9.4

Version 0.9.4 of the C++ GLSL classes is available for download. It uses OpenGL 2.0 functions only. Libglsl is a collection of classes to simplify loading, compiling and using GLSL shaders. To compile it Glew 1.3.3 is required to handle OpenGL extensions.

Code Example:
   //LOAD, COMPILE, LINK
   glShaderManager SM;
   glShader* shader = SM.loadfromFile("test.vert","test.frag");
   if (shader==0) cout << "Error Loading, compiling or linking shader\n";
   //DRAW
   shader->begin();
   shader->setUniform1f("MyFloat", 1.123);
     glutSolidSphere(0.5,16,16);
   shader->end();
 
February 2nd, 2005/Martin Christen

New GLSL Demo available

Another GLSL demo is available for download. It shows some possibilities with real time procedural texture generation using noise(). The GLSL noise function is emulated with a 3D noise texture. Shader source code is included, C++ source code will be released once my new OpenGL/GLSL library is ready to be released.



The demo runs on GLSL compatible NVidia cards. GLSL syntax was validated with the 3Dlabs GLSL Validator, but I don't have a ATI or 3Dlabs card to test it, please let me know if you encounter problems.

download (Binary, 1.2 MB)

 
January 20, 2005/Martin Christen

GPU Ray Tracer (HLSL/GLSL)

The GPU Ray Tracer - including source code - is now available for download. It only works on NVidia GeForce 6 based graphics cards.

Unfortunately there are some GLSL related driver issues, so - for now - only the HLSL/Direct3D version runs on hardware.

Ray Tracer Project Page

 
November 23, 2004/Martin Christen

GPU Ray Tracer

I am currently implementing Ray Tracing on GPU. My first results look promising, but there is still a lot of work to do. In January I will post more information about it.


Image Rendered on GPU

original size

 

© 2003-2005 by Martin Christen. All Rights Reserved.
christen@clockworkcoders.com