Computergrafik-Uebung

Basisinstallation von OpenGL

?

Für den Übungsgbetrieb benötigt man eine funktionierende Entwickler-Installation von OpenGL.

  • Im Folgenden wird vorausgesetzt, dass der Ãœbungsbetrieb mit Linux (z.B. Ubuntu oder OpenSuSe) stattfindet.
  • Der Ãœbungsbetrieb mit Windows ist möglich, wird aber nicht unterstützend begleitet.

Wenn Sie Sich für Ubuntu entschieden haben, so installieren Sie bitte zuerst die passenden Grafiktreiber für Ihren Rechner. Dann installieren Sie mit dem Software Manager bzw. Synaptic Packet Manager die folgenden OpenGL Module:

  • freeglut3-dev
  • mesa-utils

Alternativ kann man die Installation von Hand vornehmen. Im Terminal-Programm gibt man dazu die folgende Kommandozeile ein:

sudo apt-get install freeglut3-dev mesa-utils

Weitere ausführliche Hinweise finden Sie im Ubuntu Forum unter dem Stichwort “OpenGL”, oder wenn Sie nach “opengl ubuntu” googlen.

Damit sollte ein erster Test mit dem Programm “glxinfo” erfolgreich verlaufen und eine Ausgabe wie folgt erscheinen:

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, 
    GL_EXT_transform_feedback, GL_APPLE_client_storage, 
    GL_APPLE_specular_vector, GL_APPLE_transform_hint, GL_APPLE_packed_pixels, 
    GL_APPLE_fence, GL_APPLE_vertex_array_object, 
    GL_APPLE_vertex_program_evaluators, GL_APPLE_element_array, 
    GL_APPLE_flush_render, GL_APPLE_aux_depth_stencil, 
    GL_NV_texgen_reflection, GL_NV_light_max_exponent, GL_IBM_rasterpos_clip, 
    GL_SGIS_generate_mipmap, GL_ARB_imaging, GL_ARB_point_parameters, 
    GL_ARB_texture_env_crossbar, GL_ARB_texture_border_clamp, 
    GL_ARB_multitexture, GL_ARB_texture_env_add, GL_ARB_texture_cube_map, 
    GL_ARB_texture_env_dot3, GL_ARB_multisample, GL_ARB_texture_env_combine, 
    GL_ARB_texture_compression, GL_ARB_texture_mirrored_repeat, GL_ARB_shadow, 
    GL_ARB_depth_texture, GL_ARB_fragment_program, 
    GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, 
    GL_ARB_occlusion_query, GL_ARB_point_sprite, 
    GL_ARB_texture_non_power_of_two, GL_ARB_vertex_buffer_object, 
    GL_ARB_pixel_buffer_object, GL_ARB_draw_buffers, 
    GL_ARB_shader_texture_lod, GL_ARB_color_buffer_float, 
    GL_ARB_half_float_vertex, GL_ARB_texture_rg, 
    GL_ARB_texture_compression_rgtc, GL_ARB_framebuffer_object, 
    GL_EXT_compiled_vertex_array, GL_EXT_draw_buffers2, 
    GL_EXT_framebuffer_object, GL_EXT_framebuffer_blit, 
    GL_EXT_framebuffer_multisample, GL_EXT_texture_rectangle, 
    GL_ARB_texture_rectangle, GL_EXT_texture_env_add, GL_EXT_blend_color, 
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_texture_lod_bias, 
    GL_EXT_abgr, GL_EXT_bgra, GL_EXT_stencil_wrap, 
    GL_EXT_texture_filter_anisotropic, GL_EXT_secondary_color, 
    GL_EXT_blend_func_separate, GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, 
    GL_EXT_depth_bounds_test, GL_EXT_texture_compression_s3tc, 
    GL_EXT_texture_compression_dxt1, GL_EXT_texture_sRGB, 
    GL_EXT_blend_equation_separate, GL_EXT_texture_mirror_clamp, 
    GL_EXT_packed_depth_stencil, GL_EXT_bindable_uniform, 
    GL_EXT_texture_integer, GL_EXT_gpu_shader4, GL_EXT_framebuffer_sRGB, 
    GL_EXT_provoking_vertex, GL_APPLE_flush_buffer_range, GL_APPLE_ycbcr_422, 
    GL_APPLE_rgb_422, GL_APPLE_vertex_array_range, GL_APPLE_texture_range, 
    GL_APPLE_float_pixels, GL_ATI_texture_float, GL_ARB_texture_float, 
    GL_ARB_half_float_pixel, GL_APPLE_pixel_buffer, GL_APPLE_object_purgeable, 
    GL_NV_point_sprite, GL_NV_blend_square, GL_NV_fog_distance, 
    GL_NV_depth_clamp, GL_NV_multisample_filter_hint, 
    GL_NV_fragment_program_option, GL_NV_fragment_program2, 
    GL_NV_vertex_program2_option, GL_NV_vertex_program3, 
    GL_NV_conditional_render, GL_ATI_texture_mirror_once, 
    GL_ATI_texture_env_combine3, GL_ATI_separate_stencil, 
    GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_EXT_texture_array, 
    GL_EXT_vertex_array_bgra, GL_EXT_packed_float, 
    GL_EXT_texture_shared_exponent

Die Ausgabe beschreibt die Treiberversionen der einzelnen OpenGL Module und deren spezifische Erweiterungen für Ihre spezielle Hardware, die auf Ihrem Rechner installiert ist. Bei obigem Beispiel eine NVIDIA GeForce 9400M.

Ein erstes Testprogramm, um tatsächlich etwas Dreidimensionales zu sehen, wäre zum Beispiel “glxgears”.

Falls sie OpenGL mit Ihrer Grafikkarte nicht zum Laufen bekommen, dann können Sie den Software-Renderer einschalten, dieser ist aber entsprechend langsam:

export LIBGL_ALWAYS_SOFTWARE=1

Viel Spaß und Erfolg beim Ausprobieren von OpenGL!

Options: