Warning: strpos() [function.strpos]: needle is not a string or an integer in /home/www/6c0b12205eaced73565c8eab34735279/web/jegx/index.php on line 41

Warning: strpos() [function.strpos]: needle is not a string or an integer in /home/www/6c0b12205eaced73565c8eab34735279/web/jegx/index.php on line 48

Warning: strpos() [function.strpos]: needle is not a string or an integer in /home/www/6c0b12205eaced73565c8eab34735279/web/jegx/index.php on line 55
JeGX's DevBlog
GLSL: ATI vs NVIDIA 
Tuesday, May 29, 2007, 09:48 AM - OpenGL
Today two new differences between Radeon and Geforce GLSL support.

1 - float2 / vec2
vec2 is the GLSL type to hold a 2d vector. vec2 is supported by NVIDIA and ATI. float2 is a 2d vector but for Direct3D HLSL and for Cg. The GLSL compilation for Geforce is done via the NVIDIA Cg compiler. Here is the GLSL version displayed by GPU Caps Viewer: 1.20 NVIDIA via Cg compiler. That explains why a GLSL source that contains a float2 is compilable on NVIDIA hardware. But the GLSL compiler of ATI is strict and doesn't recognize the float2 type.

2 - the following line:

vec2 vec = texture2D( tex, gl_TexCoord[0].st );

is valid for NVIDIA compiler but produces an error with ATI compiler. One again, the ATI GLSL compiler has done a good job. By default, texture2D() returns a 4d vector. The right syntax is:

vec2 vec = texture2D( tex, gl_TexCoord[0].st ).xy;


Conclusion: always test your shaders on both ATI and NVIDIA platforms unless you target one platform only.

view entry ( 2307 views )   |  0 trackbacks   |  permalink   |   ( 3 / 1053 )

HDRR and DoF 
Thursday, May 24, 2007, 11:57 AM - OpenGL
Here are some screenshots of few demos I'm working on these last days. I played with HDRR (High Dynamic Range Rendering) and DoF (Depth of Field) algorithms. These techniques are really terrific in a visual point of view but are somewhat hard to implement and the hardware must be poweful and especially well configured (the right graphics drivers!!!). I'll add the HDDR to Hyperion asap.











view entry ( 2833 views )   |  0 trackbacks   |  permalink   |   ( 3 / 1767 )

New NVIDIA OpenGL Extensions Headers 
Saturday, February 24, 2007, 09:04 AM - OpenGL
The new OpenGL headers files contain new extensions stuff. You can download them from... just a second, I start GPU Caps Viewer and... okay I got it :thumbup: : from http://developer.nvidia.com/object/nvid ... pecs.html.

But there are a couple of weird things:

1 - the glext.h version is 28 (#define GL_GLEXT_VERSION 28). The version I use to compile the oZone3D engine renderer is
the 29. And I use this header since more than one year...

2 - the glext.h header does not compile with vc6 (yes I still use visual studio 6!) because of the GL_EXT_timer_query extension. Here is the origianl piece of code you can find in glext.h:


/*
* Original code - does not compile with vc6.
*/
#ifndef GL_EXT_timer_query
typedef signed long long GLint64EXT;
typedef unsigned long long GLuint64EXT;
#endif


and here is the code I updated for visual c 6:

/*
Modified code for oZone3D engine - compile with vc6
*/
#ifndef GL_EXT_timer_query
#ifdef _WIN32
typedef signed __int64 GLint64EXT;
typedef unsigned __int64 GLuint64EXT;
#else
typedef signed long long GLint64EXT;
typedef unsigned long long GLuint64EXT;
#endif
#endif


I wonder if the original glext.h compiles with vc7 or vc8. If anyone has the answer, feel free to contact me...

view entry ( 1455 views )   |  0 trackbacks   |  permalink   |   ( 3 / 2028 )

NVIDIA the OpenGL Extension Specifications 
Wednesday, February 21, 2007, 08:24 AM - OpenGL
Finally NVIDIA releases the specs of the new OpenGL extensions that come with the gf8800. Great news! :thumbup:

These specs are very important for us, poor graphics developers, in order to update our software with the latest cool features. So among these specs, there is the GL_EXT_draw_instanced that allows to do geometry instancing. Another extension is WGL_NV_gpu_affinity. This ext allows to send the gfx calls to a particular GPU in multi-gpus system. Should be cool to see how a 7950GX2 behaves. The GL_EXT_timer_query ext provides a nano-second resolution timer to determine the amount of time it takes to fully complete a set of OpenGL gfx calls. There are still so many cool extensions. As soon as I get a 8800 board, I'll made a little tutorial to cover these cool extensions.
view entry ( 1423 views )   |  0 trackbacks   |  permalink   |  related link   |   ( 3 / 1882 )

Uniform Arrays in GLSL 
Tuesday, August 8, 2006, 06:30 PM - OpenGL
A new version of the Soft Shadows Benchmark is available but this time using uniform arrays to pass the blurring kernel to the pixel shader. On nVidia boards, there is a little increase of speed (1 or 2 fps).
On my X700... black screen... Houston, we've got a problem... This is with Catalyst 6.6. Okay I try the very latest Catalyst, the 6.7. Bad idea, it's worse! Both versions (with and without uniform arrays) do not work anymore with C6.7. Back to C6.6. That really sucks! :thumbdown:

But I've just received a feedback telling me that the uniform arrays version works fine on an ATI X1600 Pro with C6.5. :thumbup:
Okay, there is certainly a problem with the X*** series and uniform arrays.

view entry ( 483 views )   |  0 trackbacks   |  permalink   |  related link   |   ( 3 / 2040 )


| 1 | 2 | 3 | 4 | 5 | 6 | 7 |