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:
- glxinfo
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