OpenGL Support

3DSimED uses OpenGL for rendering. Over the years, OpenGL support for hardware developments has been achieved by adding extensions to the OpenGL API. 3DSimED has been written to allow it to run with any OpenGL version but take advantage of extensions supported by the video card driver. OpenGL, at the time of writing, is at version 2.0. Most graphic cards should have drivers available which are at version 2. If you have a recent card which does not support version 2 it is very likely that you are not running the latest version of the drivers. You can check the version of OpenGL and the extensions that 3DSimED requires by going to Tools->OpenGL Diagnostics while a drawing is open or with a blank page created by File->New.

GLSL Shaders.

Versions 1.10 of 3DSimED forwards use GLSL shaders to give better quality rendering than the fixed pipeline of OpenGL. GLSL shaders enable the programmer to control the rendering at pixel level giving improved specular & bump effects.

GLSL Vertex and pixel shaders are a fairly recent addition to OpenGL and it might be that some cards have problems running SimED's shader programs. The most likely symptom of a problem would be very slow frame-rates. This can occur when the driver simulates a shader in software. This will happen when a card supports shaders but only allows very very instructions within a program. 3DSimED loads a shader which requires just under 128 arithmetic instructions which is very small but may exceed the capability of your card. You can check the number of instructions supported by your video card by using Tools->OpenGL Diagnostics and looking for the "Maximum Fragment Program ALU " which needs to be at least 128. Should the OpenGL driver support more than 128 then SimED will load a more complex shading program which includes fog effects. 

FAQ

How can I check the capabilities of the OpenGL driver?.

You can start with Tools->OpenGL Diagnostics in 3DSimED as that lists the extensions used by SimED and whether the extensions are available.

For a full report I recommend using GLINFO2 which can be found at http://www.delphi3d.net/hardware/index.php .

How do I know 3DSimED is using GLSL Shaders?.

Go to Display->OpenGL Options->Shader Rendering. If this not greyed out then SimED has loaded the shader program it uses for rendering. You can switch between rendering with or without the shaders by checking/un-checking the menu item.

My video card runs at very slow frame rates with Shader Rendering on, why?

The only solution is to look for a later version of the OpenGL driver for the video card. As far as I know there isn't anything else you can do.

Note that by closing all 3DSimed's drawing windows you can disable GLSL shaders with OpenGL->Use Shader Programs.

3DSimED framerates are slower than earlier versions.

This is simply a consequence of the GLSL shaders which work at the pixel level rather than the vertex level. You can temporarily go back to the faster rendering of OpenGL's fixed pipeline by switching off the shaders with Display->OpenGL Options->Shader Rendering.

Display->OpenGL Options->Shader Rendering  is greyed out - what can I do?.

Again the only solution is to hope that there is a later version of an OpenGL driver for the video card.

Enabling fog in the Display->Colours and Fog is ignored no matter what values I give for the near and far fog distances.

This is a consequence of 3DSimED having to run a small shader program because the video card is only supporting 128 instructions. There is nothing you can do about this.