[Demotool] GeeXLab 0.2.5 Released (GLSL FP64, PhysX 22.214.171.124)
**** UPDATE ****
GeeXLab 0.2.6 is available with gamma correction support.
A new version of GeeXLab is available. The main new feature of GeeXLab 0.2.5 is the support of double precision (or fp64) variables in GLSL shaders. New functions have been added in the HYP_GpuProgram lib (Python and Lua) to deal with fp64 uniform variables.
Difference between fp32 and fp64: Julia set explorer demo
GeeXLab 0.2.5 uses an OpenGL 4.1 compatibility profile context that makes it possible to mix new OpenGL 3 and 4 functionalities with old OpenGL 2 ones (and it works fine as you will see in the Julia fp64 demo I will release in one of the next posts). The OpenGL compatibility profile allows me to progressively add and test features of OpenGL 3 and OpenGL 4 without breaking current GeeXLab code and functions. In the next versions of GeeXLab, some objects (like the mesh for example) will have new data structures (actually a new mesh object will be added) designed to work with OpenGL 4 core profile. But now, you can play with some OpenGL 3 and 4 features (tessellation like in TessMark? not yet…) thanks to the compatibility profile.
Another GeeXLab 0.2.5 update is related to PhysX. The PhysX plugin has been compiled with PhysX SDK 126.96.36.199. What does it bring? Two things: 1/ a gain in CPU PhysX thanks to the use of SSE2 instructions in the PhysX engine and 2/ the driverless model. The driverless model is the cool new thing of PhysX 2.8.4 branch. The installation of the PhysX System Software is no longer required for applications that have been compiled with PhysX SDK 188.8.131.52. All necessary PhysX DLLs are shipped with GeeXLab so you can easily distribute a PhysX-based demo.
GeeXLab running a PhysX demo in VirtualBox (host: Win7, guest: WinXP)
Python 2.6.6 is now the default Python version used by GeeXLab. The latest Python 2.7 works fine but there are many packages that have not been updated for Python 2.7 and do not work with it. But if you need Python 2.7, GeeXLab 0.2.5 is shipped with a DLL called GeeXLabCore_Py27.dll. Just rename it in GeeXLabCore.dll and you’ll have Python 2.7.
[ DOWNLOAD ]
Left-click to download (right-click disabled)
Two versions are packed in the installer: GeeXLab_Lua and GeeXLab_Python_Lua. The version of GeeXLab with Python support requires the Python 2.6.6 32-bit installer
(or Python 2.7 32-bit installer).
The code samples pack has been updated and is available HERE.
All GeeXLab news including tutorials and demos: GeeXLab News.
DoF (depth of field) demo, soon available.
What is GeeXLab?
GeeXLab is a tool (we can call it a demotool) for quick coding and prototyping of real time 3D scenes. GeeXLab can be seen as a real time 3D scene browser (like Firefox for html scripts). You code your 3D scene in one or several source code files, you load the main scene file in GeeXLab and GeeXLab displays the scene. That’s all. GeeXLab language uses a simple mixture of XML, Lua and/or Python and GLSL. All rendering is done with the OpenGL API. For an overview of GeeXLab, just read this article.
GeeXLab 0.2.5 changelog
- New: added double precision fp64 support to GPU program (in XML, and in Python / Lua).
- New: use of OpenGL 4.1 compatibility profile if available.
- New: added GetOpenGLModel(), GetOpenGLVendor(), GetOpenGLVersion(), GetOpenGLNumExtensions(),
GetOpenGLExtensionName() and CheckOpenGLExtension() to HYP_ZoomGPU lib (Python and Lua).
- New: added gpu_program and gpu_shader attributes to particle_system XML node.
- Update: the PhysX plugin has been compiled with PhysX 184.108.40.206 SDK.
- Change: Python 2.6.6 is now the default Python version used. The GeeXLabCore with Python 2.7 is also
available (GeeXLabCore_Py2.7.dll, you have to rename it).
- Bugfix: HYP_Utils.BitmapFontRender3D() didn’t work anymore if HYP_Utils.BitmapFontRender2D()
was used before.