3D Transformations – OpenGL

Since version 3.1 ChaosPro is able to make use of OpenGL: In case you don’t know OpenGL, I’ll explain it in a few words:

OpenGL is a software interface for graphics hardware that allows graphics programmers to produce high-quality color images of 3D objects. OpenGL is a rendering only, vendor neutral API providing 2D and 3D graphics functions, including modelling, transformations, color, lighting, smooth shading, as well as advanced features like texture mapping, NURBS, fog, alpha blending and motion blur. OpenGL works in both immediate and retained (display list) graphics modes. OpenGL is window system and operating system independent. OpenGL has been integrated with Windows NT and with the X Window System under UNIX. Also, OpenGL is network transparent. A defined common extension to the X Window System allows an OpenGL client on one vendor’s platform to run across a network to another vendor’s OpenGL server.

As you can imagine, Microsoft does not like an API which has been created by another company (OpenGL originally comes from SGI). Due to that they created another API just for Windows and their needs. You know how it is called: DirectX and Direct3D.
ChaosPro currently supports only OpenGL, perhaps in the future I will support Direct3D: It is faster, much more hardware oriented, and buggy (i.e. from Microsoft)

Have a look at the example image below to get an idea of how good OpenGL is: Compare it to the standard method and you’ll see that it is much more realistic.

ChaosPro 3d ogl example OpenGL

You switch to OpenGL mode by choosing the “OpenGL” radio button at the top of the properties window. In OpenGL mode the fractal window (the place where the fractal gets drawn) reacts on some mouse commands like dragging. For more information see the description of the fractal window.

After switching to OpenGL mode you have five tabs instead of three: They offer settings grouped by the following categories:

  • View : This tab contains all settings regarding your camera: It lets you set your position, your up-vector, your distance and where you look at.
  • Light: Here you can define upto 8 light sources with different settings for each light source.
  • Object: On this tab you tell OpenGL how to map from a fractal color to a height (by defining a spline). Additionally you specify how OpenGL should draw your fractal, i.e. what size, whether it should be solid or just a wire frame model, whether shading should appear, whether it should be triangulated or nurbisized.
  • Material: After you have defined how your object should be drawn you may want to further specify your fractals properties: It lets you specify the material used for your fractal: You can define some color settings and additionally you can apply texturing.
  • Water & Sky: Finally you have your object! And now on this tab you can add water and sky. The example image above uses a water texture and a sky texture to create a more realistic scene.