Tutorials are also available at the OpenGL SDK at http://www.opengl.org/sdk.It contains the latest version of my tutorials.
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.
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.
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 ;-)
I bought a GeForce 8800 GTX today. If you get one, make sure you have the required hardware ;-)
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.
//LOAD, COMPILE, LINK
glShader* shader = SM.loadfromFile("test.vert","test.frag");
if (shader==0) cout << "Error Loading, compiling or linking shader\n";
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)
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
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