#38 glTexImage3DEXT() not supported in Mac OS

Code (13)

executable fails to find glTexImage3D on Mac OS.

see http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=250375
"...look for GL_VERSION >= 1.2, and use the core function glTexImage3D() instead."

--- src/extensionmanager.cpp (revision 461)
+++ src/extensionmanager.cpp (working copy)
@@ -41,7 +41,12 @@
// warning: ISO C++ forbids casting between pointer-to-function and pointer-to-object
// There's no other solution at the time of writing.
this->glTexImage3D = (PFNGLTEXIMAGE3DEXTPROC)SDL_GL_GetProcAddress("glTexImage3DEXT");
if (this->glTexImage3D == NULL) {
+ this->glTexImage3D = (PFNGLTEXIMAGE3DEXTPROC)SDL_GL_GetProcAddress("glTexImage3D");
+ }
+ if (this->glTexImage3D == NULL) {
OPENCITY_ERROR( "GL_EXT_texture3D extension unsupported by your video driver" );
ok = false;


  • Hi there,

    Thank you for trying OpenCity. Could you call opencity with the switch -glv then upload the output here, please ? OpenCity's command line version may need the switches -cd and -dd. You can also call opencity with --help switch for more information.

    Thank you.

    • status: open --> pending

  • 2011-07-03

    Hi, did you actually read the post? the code above fixes the bug.



  • 2011-07-03

    • status: pending --> open
  • Hi there,

    I'd like to have more information concerning your video driver and video card. It would help me for future development, that's why I asked you to call opencity with the -glv switch.

    Btw, your patch is already in the trunk. There's also release out there which contains that piece of code.


    • status: open --> pending

  • 2011-07-04

    hi, posting few lines from at the beginning, considering its a big one; hope this provides sufficient information on OpenGL on the system.
    Welcome to opencity-0.0.7
    Copyright (C) by Duong Khang NGUYEN. All rights reserved.
    web : http://www.opencity.info
    email: neoneurone @ gmail com

    This program is released under the terms of
    GNU General Public License (See the COPYING file for more details)

    Starting OpenCity standalone/client application...

    <OPTION> -glv detected
    <INFO> Failed to initialized BinReloc routines to search for the datadir. The error was: 4
    <INFO> Failed to initialized BinReloc routines to search for the confdir. The error was: 4
    <INFO> Detected data directory : <prefix>/share/opencity/
    <INFO> Detected config directory : <prefix>/etc/opencity/
    <INFO> Detected save directory : <HOME>/.opencity/
    <INFO> Reading XML config file: "<prefix>/etc/opencity/config/opencity.xml"
    <DEBUG> ../../src/main.cpp 299 : SDL Initialization
    <INFO> SDL compile-time version: 1.2.14
    <INFO> SDL run-time version: 1.2.14
    <INFO> Loading default OpenGL driver...
    <INFO> Using 750x560 at 32 bpp
    <INFO> Current video driver: Quartz
    <INFO> GL vendor: NVIDIA Corporation
    <INFO> GL renderer: NVIDIA GeForce 9400M OpenGL Engine
    <INFO> GL version: 2.1 NVIDIA-1.6.36
    <INFO> GL 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_ARB_instanced_arrays GL_ARB_depth_buffer_float GL_EXT_packed_float GL_EXT_texture_shared_exponent
    <INFO> Video double buffer supported
    <DEBUG> ../../src/extensionmanager.cpp 26 : ctor
    <INFO> GL_EXT_texture3D supported
    <DEBUG> ../../src/texture.cpp 46 : Ctor
    <DEBUG> ../../src/texture.cpp 46 : Ctor
    <DEBUG> ../../src/texture.cpp 46 : Ctor
    <DEBUG> ../../src/texture.cpp 46 : Ctor


  • 2011-07-04

    • status: pending --> open
    • status: open --> closed-fixed
  • Since your patch is already in the trunk, I'm going to close the bug.

    Thank you for your help.