VolumeRendering

Open GL Installation

To perform 3D renderings, which have a high computational cost, we need a powerful minion, the graphics hardware. To use it, we need the OpenGL 3D graphics library and related drivers to be installed.

  • Test for OpenGL, if it is already installed:
    • glxinfo
      • Should output information about the installed graphics drivers and OpenGL version, like so:
name of display: /tmp/launch-SQg215/org.x:0
display: /tmp/launch-SQg215/org.x:0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method, 
    GLX_SGI_make_current_read, GLX_SGIX_fbconfig, GLX_MESA_copy_sub_buffer
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_rating, 
    GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group, 
    GLX_EXT_texture_from_pixmap
GLX version: 1.2
GLX extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_rating, 
    GLX_SGIX_fbconfig, GLX_EXT_texture_from_pixmap
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce 9400M OpenGL Engine
OpenGL version string: 2.1 NVIDIA-1.6.10
OpenGL shading language version string: 1.20
OpenGL extensions:
    GL_ARB_transpose_matrix, GL_ARB_vertex_program, GL_ARB_vertex_blend, 
    GL_ARB_window_pos, GL_ARB_shader_objects, GL_ARB_vertex_shader, 
    GL_ARB_shading_language_100, GL_EXT_multi_draw_arrays, 
    GL_EXT_clip_volume_hint, GL_EXT_rescale_normal, 
    GL_EXT_draw_range_elements, GL_EXT_fog_coord, 
    GL_EXT_gpu_program_parameters, GL_EXT_geometry_shader4, 
    ...
  • Hardware recommendations:
    • NVIDIA graphics card is hightly recommended!
    • Linux ATI drivers are not mature!!!
    • INTEL drivers do not support the very latest OpenGL version, but are sufficient for most OpenGL applications!
  • If OpenGL is not installed, we install the OpenGL library via the packet manager.
    • On Ubuntu we need to install the following packets: freeglut3-dev mesa-utils
    • On OpenSuse we need to install the following packet: freeglut-devel
    • With MacOS X the above packages are already included in the XCode development package.
  • If you do not have a suitable graphics card or problems with the driver installation on a particular hardware configuration, you can always fall back to the so-called OpenGL software rasterizer MESA.
    • The software rasterizer will work independently of the hardware configuration, but since it is a software implementation of the OpenGL standard, it will be slow, of course.
    • You enable the software rasterizer with the following commands on the console (bash):
export LIBGL_ALWAYS_SOFTWARE=1

If everything worked out well, you can check out a simple graphics program, which utilizes OpenGL to animate a set of rotating gears:

glxgears


Options: