GeeXLab 0.2.5 Released (GLSL FP64, PhysX


**** 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.

GeeXLab, FP64 in GLSL: Julia set
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 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 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.

GeeXLab 0.2.5:
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.

GeeXLab support forums are available HERE (french) and HERE (english).

For Twitter addicts, you can also send me tweets at Twitter/JeGX if you need short and fast replies about GXL. Additionally, you can follow GeeXLab tweets here: @GeeXLab.

GeeXLab, DoF demo
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.

OpenGL, Lua, Python, PhysX

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 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.

6 thoughts on “GeeXLab 0.2.5 Released (GLSL FP64, PhysX”

  1. mareknr

    Hi JeGX,
    I installed GeeXLab 0.2.4 and I have problem with GeeXLab_Python_Lua. It doesn’t want to star because of python27.dll is missing. I have Python 2.7(64bit) installed and python27.dll is situated in system32 directory. I tried to copy this file to GexxLab install directory but it didn’t help. My OS is Windows Vista Ultimate 64bit. Do you know where is the problem? Thanks for response.

  2. Pingback: [GeeXLab] Double Precision FP64 in GLSL: Julia Explorer Demo - 3D Tech News, Pixel Hacking, Data Visualization and 3D Programming -

  3. mareknr

    As I see GeeXLab require latest version of Python 32bit so 64bit isn’t supported?

  4. JeGX Post Author

    GeeXLab 0.2.4 is the previous version and is linked to Python 2.7. The new version of GeeXLab is the 0.2.5 and is now linked to Python 2.6.6. Even on a 64-bit version of Windows (I work with Win7 64-bit) you have to install a 32-bit version of Python: Python 2.6.6 32-bit installer.

    GeeXLab is currently a 32-bit app that why you need the Python 32-bit…

  5. Pingback: History of OpenGL Hardware Accelerated Tessellation - 3D Tech News, Pixel Hacking, Data Visualization and 3D Programming -

  6. Pingback: [Tutorial] First Steps with PIL: Python Imaging Library - 3D Tech News, Pixel Hacking, Data Visualization and 3D Programming -

Comments are closed.