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
PAL - Physics Abstraction Layer 
Monday, October 29, 2007, 06:52 PM - Programming
Posted by JeGX
Je viens de découvrir cette librairie de physique qui n'en est pas directement une car c'est en fait un abstracteur de moteurs physiques existants.

La chose intéressante c'est c'est la même philosophie que le plugin de physique fourni avec Hyperion. Actuellement seul un plugin pour le moteur physique Ageia PhysX (anciennement NovodeX) est livré avec Hyperion mais rien n'empêche (si une chose: le temps) d'avoir plusieurs plugins physiques livrés avec Hyperion. Je vais analyser de plus près cette librairie et voir de quelle manière que vais pouvoir l'exploiter dans Hyperion.

"The Physics Abstraction Layer (PAL) provides a unified interface to a number of different physics engines. This enables the use of multiple physics engines within one application. It is not just a simple physics wrapper, but provides an extensible plug-in architecture for the physics system, as well as extended functionality for common simulation components."
view entry ( 1388 views )   |  0 trackbacks   |  permalink   |  related link   |   ( 3.4 / 2665 )

Blender GameEngine and GLSL 
Wednesday, August 29, 2007, 08:31 AM - 3D
Posted by JeGX
I'm glad the GLSL shaders I wrote can help the Blender GameEngine community. That's cool :winkhappy:

Many new GLSL samples will be soon available with the new Hyperion. So stay tuned!

Read the full topic here:

view entry ( 5592 views )   |  0 trackbacks   |  permalink   |  related link   |   ( 3.4 / 2613 )

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 )

Le Magazine de Developpez.com 
Tuesday, May 22, 2007, 12:57 PM - Programming
Je viens de recevoir une news sur le magazine de developpez.com, le portail des developpeurs francophones. Je ne connaissais pas l'existance de ce mag qui en est poutrant déjà au numero 9. Il y a un petit article sur la 2D/3D: "Présentation de la bibliothèque IrrKlang". Ca tombe bien c'est quelque chose que j'avais en tete: faire un plugin sonore pour Hyperion basé sur IrrKlang. IrrKlang ressemble à OpenAL mais d'après l'article peut lire directement des mp3, ogg et wav. De base, OpenAL ne peut lire que des wav. Mais tout comme OpenAL, IrrKlang ne donne pas accès au buffer des fréquences au contraire du surpuissant FMOD et c'est dommage. Ceci étant, un plugin IrrKlang verra le jour...
view entry ( 1717 views )   |  0 trackbacks   |  permalink   |  related link   |   ( 3 / 1781 )

Embedded Your Shader Souce Code In Your C/C++ Apps 
Sunday, March 18, 2007, 10:58 AM - Programming
The NVIDIA developer blog shows a way to include shaders codes to your
windows exe: http://blogs.nvidia.com/developers/2007 ... ader.html.

But this example is not fully operational. I slightly modified the code to make it totally operational (I compiled it on vc++ 6.0):

1) Add a define to your resource.h file:
#define IDF_SHADEFILE 1000

2) Add an entry in your resource.rc file:

3) Use the resource in your code:
HMODULE hModule = GetModuleHandle(NULL);
HRSRC hResource = FindResource(hModule, (LPCTSTR)IDF_SHADERFILE, RT_RCDATA);
DWORD dwSize = SizeofResource(hModule, hResource);
HGLOBAL hGlobal = LoadResource(hModule, hResource);
LPVOID pData = LockResource(hGlobal);
// Cast pData to a char * and you have your shader
char *shader_code = (char *)pData;

// Now do whatever you want with shader_code pointer.
// Do not forget that shader_code is not a zero-terminated string!
// Use dwSize to handle that.


SimplePHPBlog sucks a little bit because it can't display properly a preformated block of code. I have to use the pre tag and tidy up manually the code :thumbdown:
view entry ( 3705 views )   |  0 trackbacks   |  permalink   |   ( 3 / 1962 )

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;

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;
typedef signed long long GLint64EXT;
typedef unsigned long long GLuint64EXT;

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 )

Tutoriaux sur Blender 
Wednesday, April 19, 2006, 10:05 AM - Programming
Voilà un petit site sympa en français qui propose des tutoriaux sur Blender (et aussi sur 3dsmax) comme par exemple:

Prise en main de l'interface
Première manip de base

Je ne vais tarder à tester blender histoire de voir sa compatibilité avec hyperion au niveau de l'export des meshes.

view entry ( 241 views )   |  0 trackbacks   |  permalink   |  related link   |   ( 3 / 1914 )

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