To Use openGL the openGL plugin of GroIMP is required
GroIMP features OpenGL-accelerated display of the scene. The OpenGL-based display may be selected if the Java Binding for the OpenGL API (JOGL) is installed. The menu View/Display of GroIMP's 3D view brings up the selection for the different supported display modes. These are:
Wireframe (AWT): A wireframe view of the scene. Will run on all systems.
OpenGL: OpenGL-based view. Will run on all systems with OpenGL 1.1 support. This mode will display colors and simple textures.
OpenGL (Proteus): OpenGL-based view. Requires a OpenGL 2.1 compatible GPU. This mode will preview the output of the internal raytracer Twilight in realtime. It features:
Preview of most materials including procedurally calculated shaders using the OpenGL Shading Language (GLSL)
Per pixel lighting
Rendering of shadows
Preview of Sky-Nodes as background
Rendering of transparent materials
Navigation and control is the same for the Wireframe and both OpenGL-based modes as explained in The 3D User Interface. A comparison of all three modes for an example scene is shown in the figure below.
The OpenGL view can be configured by opening the Option-Dialog (View/Display/Option/Edit) of GroIMP's 3D view while OpenGL is selected. The dialog features the following options:
lighting: If enabled the scene will be lit by the user-defined light-nodes (only up to 8 lights will be used). If disabled the scene will not be lit resulting in flat colored surfaces. [This option is not available for OpenGL (Proteus) mode]
Level of Detail: This option defines how "round" 3D Primitives appear. A higher value needs more rendering time but increases the quality
Show points: If disabled the 3D primitive "Point" will not be displayed. Points are normally used for displaying information of the used RGG model or to visualizie lightsources. These objects are not part of the physical scene. Hiding points helps to preview the scene as seen in results produced by a raytracer. Disabled this option may also increase performance.
Show Grid: If enabled a grid of lines is displayed at the scene's origin. The grid is an orientation helper while navigating and modifying the scene.
Grid dimension: This value sets the dimension of the displayed grid (in meters).
Grid spacing: This value defines the spacing between grid lines. A spacing of 1.0 means every meter a line is drawn.
Grid color (red, green, blue): These three values define the color of the grid. Each value may be set to a number between 0.0 and 1.0. If all values are set to 1.0 the lines of the grid will be displayed in white.
Show axes of coordinates: If enabled the orientation of the coordinate axes is displayed in the lower left corner. The axis are color-coded in red, green and blue representing the x-, z-, y-Axes respectively.
Show names at axes: If enabled the names of the axes are shown the coordinate axes.
Show display size: If enabled the size of the view in pixel is rendered at the upper left corner of the view.
OpenGL (Proteus) mode shares the options of OpenGL mode (see Options in OpenGL mode). Additionaly the following options are available in the Option-Dialog (View/Display/Option/Edit):
Enable lights: If this option is enabled contribution of all light sources in the scene are shown. If disabled a default, directional light source replaces all other lights. This option may be disabled if a scene features many lights to increase performance.
Use physical lighting falloff: If this option is enabled a quadratic falloff is used for all lightsources. This approximates the pathtracer of Twilight. If disabled no falloff is used which approximates the results of the standard raytracer of Twilight.
Enable shadows: If enabled shadows will be approximated and rendered to the scene. This will decrease performance drastically for dynamic scenes and while editing. For static scenes shadows will decrease performance only slightly. Disabling this option has the same effect as marking all lightsources as shadowless.
Show sky: If enabled the material of Sky-Nodes is rendered as the scenes background. If disabled a generic grey-colored pattern is shown.
Show diffuse Sky-Light: If enabled the 3D-View uses Sky-Nodes as an additional lightsource. For a bright, blue sky the scene will be shaded in a bluish color.
Global brightness: This value is used to scale the brightness of the rendered image. A low value will darken the scene while a higher value will brighten up the displayed picture.
Enable tonemapping: If enabled the value for Global-brightness is ignored. The image is transformed by the specified algorithm
Tonemapping algorithm: The selected Tonemapping algorithm controlls how the lit scene is presented to the user. The default value is linear mapping which divides the channels of each pixel by the maximum valued channel over all pixels.
DRR (Dynamic Range Reduction) uses the algorithm descriped in the paper "Dynamic Range Reduction Inspired by Photoreceptor Physiology" by Erik Reinhard and Kate Devlin (link). Currently only the default values for m, f', c and a are used.
Enable shader antialiasing: Some materials will result in hard edges or aliasing-artefacts. If enabled the visual quality of materials may be improved resulting in a small performance reduction. (This feature is not implemented by most shaders up to now)
Expand planes to infinity: If enabled planes will be rendered as infinitely large. If disabled a simple square is used to represent planes. This feature may not be supported by all GPU's so disabling will help to increase compatibility.
Max. depth layers: If set to a value higher than 0 transparent objects will be rendered. This value defines the maximum number of transparent layers that may be used to composite the image. A higher value allows to see more transparent objects behind other transparent object. Depending on the scenes setting (especially on how many transparent objects are positioned behind each other) a high value will reduce performance drastically. A small value (around 4) is recommended.