Depth buffer not working on Win7-64b?

classic Classic list List threaded Threaded
20 messages Options
Reply | Threaded
Open this post in threaded view
|

Depth buffer not working on Win7-64b?

Martin
Hi folks,

I started using JOGL2 on a Win7, 64b computer. I retrieved a window-i586 release since Win7 is supposed to be able to run 32 bit binaries.
It seems that the depth buffer does not work properly: as shown by this image [1], the center of the gear is rendered before its edge:


 
When I turn around the gears, the gears are always displayed "sorted", meaning the blue is always on top of green, which is on top of red gear, which is consistent with a GL method calls in the sample program (red, green and then blue).I confirm that gl.glEnable(GL2.GL_DEPTH_TEST); is in the code.

I made the same test on a WinXP, 32b computer: it works properly, so Win7 or 64b suspected :) All these problems reminds me a related discussion concerning Jzy3d, using JOGL-1.1.1 [2], where a user does not have the feedback buffer working properly on a Win7, 32b computer.

If you see anything weird in my setting below, please let me know! Thanks in advance!
Martin
-------
[1] http://martin.pernollet.free.fr/jogl/gear-problem.png
[2] http://code.google.com/p/jzy3d/issues/detail?id=10

-------
Gear.java output:

Gears: Init: AWT-GLCanvas[ class javax.media.nativewindow.awt.AWTGraphicsConfiguration[class javax.media.nativewindow.awt.AWTGraphicsScreen[class javax.media.nativewindow.awt.AWTGraphicsDevice[type AWT, awtDevice Win32GraphicsDevice[screen=0], handle 0x0], idx 0],
        chosen    GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 24, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false],
        requested GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 24, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false],
        sun.awt.Win32GraphicsConfig@169e11[dev=Win32GraphicsDevice[screen=0],pixfmt=0],
        encapsulated WindowsWGLGraphicsConfiguration[class javax.media.nativewindow.DefaultGraphicsScreen[class javax.media.nativewindow.windows.WindowsGraphicsDevice[type Windows, handle 0x0], idx 0], pfdID 1, wglChoosen true,
        requested GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 24, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false],
        chosen    GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 8, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: false, Stereo: false, HardwareAccelerated: true, DepthBits: 0, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: true, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false]]], com.jogamp.opengl.impl.windows.wgl.WindowsOnscreenWGLDrawable, GLAnimatorControl: com.jogamp.opengl.util.Animator@743399, GLEventListeners num 1 [demos.gears.Gears@eee36c[init true], ]]
Chosen GLCapabilities: GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 24, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false]
INIT GL IS: com.jogamp.opengl.impl.gl4.GL4bcImpl
GL_VENDOR: Intel
GL_RENDERER: Intel(R) Graphics Media Accelerator HD
GL_VERSION: 2.1.0 - Build 8.15.10.2021
Gears: Reshape: 0/0 284x262
Gears: Dispose

-------
GLInfo.java output:

GLProfile[GL2/GL2] GLInfo.start()
GLProfile[GL2/GL2] GLCapabilities PRE : GLCapabilities[Capabilities[Onscreen: true, Red: 5, Green: 6, Blue: 5, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 16, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false]
GLProfile[GL2/GL2] GLWindow : NEWT-GLWindow[
        Helper: GLAnimatorControl: null, GLEventListeners num 0 [],
        Drawable: null,
        Context: null]
Detected screen size 1366x768
GLProfile[GL2/GL2] GL Profile Static: GLAvailability[Native[GL4bc false, GL4 false, GL3bc false, GL3 false, GL2 true[1.5 (compatibility profile, any, old)], GL2ES1 true, GLES1 false, GL2ES2 true, GLES2 false], Profiles[GLProfile[GL2ES2/GL2ES12], GLProfile[GL2ES1/GL2ES12], GLProfile[GL2/GL2], GLProfile[GL2GL3/GL2], , default GLProfile[GL2/GL2]]]
GLProfile[GL2/GL2] GL Profile Static - MaxFixedFunc: GLProfile[GL2/GL2]
GLProfile[GL2/GL2] GL Profile Static - MaxProgrammable: GLProfile[GL2/GL2]
GLProfile[GL2/GL2] GLCapabilities POST: GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 8, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 16, StencilBits: 0, Red Accum: 16, Green Accum: 16, Blue Accum: 16, Alpha Accum: 16, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: true, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false]
GLProfile[GL2/GL2] GL Profile: GLProfile[GL2/GL2]
GLProfile[GL2/GL2] GL:com.jogamp.opengl.impl.gl4.GL4bcImpl@15ff48b
GLProfile[GL2/GL2]
GLProfile[GL2/GL2] Context GL Version: 2.1 (compatibility profile, any, old) - 2.1.0 - Build 8.15.10.2021
GLProfile[GL2/GL2]
GLProfile[GL2/GL2] GL_VERSION: 2.1.0 - Build 8.15.10.2021
GLProfile[GL2/GL2] GL_EXTENSIONS:
GLProfile[GL2/GL2]   GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_blend_color GL_EXT_abgr GL_EXT_texture3D GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_SGIS_texture_edge_clamp GL_SGIS_generate_mipmap GL_EXT_draw_range_elements GL_SGIS_texture_lod GL_EXT_rescale_normal GL_EXT_packed_pixels GL_EXT_separate_specular_color GL_ARB_multitexture GL_EXT_texture_env_combine GL_EXT_bgra GL_EXT_blend_func_separate GL_EXT_secondary_color GL_EXT_fog_coord GL_EXT_texture_env_add GL_ARB_texture_cube_map GL_ARB_transpose_matrix GL_ARB_texture_env_add GL_IBM_texture_mirrored_repeat GL_EXT_multi_draw_arrays GL_NV_blend_square GL_ARB_texture_compression GL_3DFX_texture_compression_FXT1 GL_EXT_texture_filter_anisotropic GL_ARB_texture_border_clamp GL_ARB_point_parameters GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_env_crossbar GL_EXT_texture_compression_s3tc GL_ARB_shadow GL_ARB_window_pos GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_ARB_vertex_program GL_EXT_texture_rectangle GL_ARB_fragment_program GL_EXT_stencil_two_side GL_ATI_separate_stencil GL_ARB_vertex_buffer_object GL_EXT_texture_lod_bias GL_ARB_occlusion_query GL_ARB_fragment_shader GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_non_power_of_two GL_ARB_vertex_shader GL_NV_texgen_reflection GL_ARB_point_sprite GL_EXT_blend_equation_separate GL_ARB_depth_texture GL_ARB_texture_rectangle GL_ARB_draw_buffers GL_ARB_pixel_buffer_object GL_WIN_swap_hint GL_EXT_framebuffer_object GL_EXT_texture_sRGB GL_ARB_color_buffer_float GL_ARB_half_float_pixel GL_ARB_texture_float GL_NV_conditional_render GL_EXT_texture_swizzle GL_ARB_draw_instanced
GLProfile[GL2/GL2]
GLProfile[GL2/GL2] Platform EXTENSIONS:
GLProfile[GL2/GL2]   WGL_ARB_buffer_region WGL_ARB_extensions_string WGL_ARB_make_current_read WGL_ARB_pixel_format WGL_ARB_pbuffer WGL_EXT_extensions_string WGL_EXT_swap_control WGL_ARB_pixel_format_float
GLProfile[GL2/GL2]
GLProfile[GL2/GL2] Availability Tests:
GLProfile[GL2/GL2]   glConvolutionFilter2D: false
GLProfile[GL2/GL2]   Fixed: glBegin: true
GLProfile[GL2/GL2]   ES1  : glClearColorx: false
GLProfile[GL2/GL2]   GLSL : glUseProgram: true
GLProfile[GL2/GL2]   GL_ARB_vertex_array_object: false
GLProfile[GL2/GL2]   GL_ARB_vertex_array_object: glBindVertexArray: false
GLProfile[GL2/GL2]   GL_EXT_gpu_shader4: false
GLProfile[GL2/GL2]   GL_EXT_gpu_shader4: glBindFragDataLocationfalse
GLProfile[GL2/GL2]
GLProfile[GL2/GL2]   GL_VERSION_3_0: false, complete: false
GLProfile[GL2/GL2]       glBeginConditionalRender: true
GLProfile[GL2/GL2]       GL_ARB_framebuffer_object: false
GLProfile[GL2/GL2]           glIsRenderbuffer: true
GLProfile[GL2/GL2]       GL_ARB_map_buffer_range: false
GLProfile[GL2/GL2]           glMapBufferRange: false
GLProfile[GL2/GL2]       GL_ARB_vertex_array_object: false
GLProfile[GL2/GL2]           glBindVertexArray: false
GLProfile[GL2/GL2]
GLProfile[GL2/GL2]   GL_VERSION_3_1: false, complete: false
GLProfile[GL2/GL2]       glDrawArraysInstanced: true
GLProfile[GL2/GL2]       GL_ARB_uniform_buffer_object: false
GLProfile[GL2/GL2]           glGetUniformIndices: false
GLProfile[GL2/GL2]       GL_ARB_copy_buffer: false
GLProfile[GL2/GL2]           glCopyBufferSubData: false
GLProfile[GL2/GL2]
GLProfile[GL2/GL2]   GL_VERSION_3_2: false, complete: false
GLProfile[GL2/GL2]       GL_ARB_vertex_array_bgra: false
GLProfile[GL2/GL2]       GL_ARB_draw_elements_base_vertex: false
GLProfile[GL2/GL2]           glDrawElementsBaseVertex: false
GLProfile[GL2/GL2]       GL_ARB_fragment_coord_conventions: false
GLProfile[GL2/GL2]       GL_ARB_provoking_vertex: false
GLProfile[GL2/GL2]           glProvokingVertex: false
GLProfile[GL2/GL2]       GL_ARB_seamless_cube_map: false
GLProfile[GL2/GL2]       GL_ARB_texture_multisample: false
GLProfile[GL2/GL2]           glTexImage2DMultisample: false
GLProfile[GL2/GL2]       GL_ARB_depth_clamp: false
GLProfile[GL2/GL2]       GL_ARB_geometry_shader4: false
GLProfile[GL2/GL2]           glProgramParameteri: false
GLProfile[GL2/GL2]       GL_ARB_sync: false
GLProfile[GL2/GL2]           glFenceSync: false
GLProfile[GL2/GL2]
GLProfile[GL2/GL2]   GL_VERSION_3_3: false, complete: false
GLProfile[GL2/GL2]       GL_ARB_shader_bit_encoding: false
GLProfile[GL2/GL2]       GL_ARB_blend_func_extended: false
GLProfile[GL2/GL2]       GL_ARB_explicit_attrib_location: false
GLProfile[GL2/GL2]       GL_ARB_occlusion_query2: false
GLProfile[GL2/GL2]       GL_ARB_sampler_objects: false
GLProfile[GL2/GL2]       GL_ARB_texture_rgb10_a2ui: false
GLProfile[GL2/GL2]       GL_ARB_texture_swizzle: false
GLProfile[GL2/GL2]       GL_ARB_timer_query: false
GLProfile[GL2/GL2]       GL_ARB_instanced_arrays: false
GLProfile[GL2/GL2]       GL_ARB_vertex_type_2_10_10_10_rev: false
GLProfile[GL2/GL2]
GLProfile[GL2/GL2]   GL_VERSION_4_0: false, complete: false
GLProfile[GL2/GL2]       GL_ARB_texture_query_lod: false
GLProfile[GL2/GL2]       GL_ARB_draw_buffers_blend: false
GLProfile[GL2/GL2]       GL_ARB_draw_indirect: false
GLProfile[GL2/GL2]       GL_ARB_gpu_shader5: false
GLProfile[GL2/GL2]       GL_ARB_gpu_shader_fp64: false
GLProfile[GL2/GL2]       GL_ARB_sample_shading: false
GLProfile[GL2/GL2]       GL_ARB_shader_subroutine: false
GLProfile[GL2/GL2]       GL_ARB_tessellation_shader: false
GLProfile[GL2/GL2]       GL_ARB_texture_buffer_object_rgb32: false
GLProfile[GL2/GL2]       GL_ARB_texture_cube_map_array: false
GLProfile[GL2/GL2]       GL_ARB_texture_gather: false
GLProfile[GL2/GL2]       GL_ARB_transform_feedback2: false
GLProfile[GL2/GL2]       GL_ARB_transform_feedback3: false
GLProfile[GL2/GL2]
GLProfile[GL2/GL2]   GL_AMD_vertex_shader_tessellator: false
GLProfile[GL2/GL2]       glTessellationFactorAMD: false
GLProfile[GL2/GL2]
GLProfile[GL2/GL2]   GL_VERSION_4_1: false, complete: false
GLProfile[GL2/GL2]       GL_ARB_ES2_compatibility: false
GLProfile[GL2/GL2]       GL_ARB_get_program_binary: false
GLProfile[GL2/GL2]       GL_ARB_separate_shader_objects: false
GLProfile[GL2/GL2]       GL_ARB_shader_precision: false
GLProfile[GL2/GL2]       GL_ARB_vertex_attrib_64bit: false
GLProfile[GL2/GL2]       GL_ARB_viewport_array: false
GLProfile[GL2/GL2]
GLProfile[GL2/GL2]   GL_AMD_vertex_shader_tessellator: false
GLProfile[GL2/GL2]       glTessellationFactorAMD: false
GLProfile[GL2/GL2]
GLProfile[GL2/GL2]   EGL  : eglCreateContext: false
GLProfile[GL2/GL2]   EGLEx: eglCreateImage: false
GLProfile[GL2/GL2]
GLProfile[GL2/GL2]   GLX  : glXCreateWindow: false
GLProfile[GL2/GL2]   GLX_ARB_create_context: false
GLProfile[GL2/GL2]
GLProfile[GL2/GL2]   WGL  : wglCreateContext: true
GLProfile[GL2/GL2]
GLProfile[GL2/GL2]   CGL  : CGLCreateContext: false
GLProfile[GL2/GL2] display: 0
GLProfile[GL2/GL2] display: 1
GLProfile[GL2/GL2] GLInfo.run() 1
GLProfile[GL2/GL2] GLInfo.run() 2
GLProfile[GL2/GL2] display: 2
GLProfile[GL2/GL2] GLInfo.run() 3
GLProfile[GL2/GL2] display: 3
GLProfile[GL2/GL2] dispose
GLProfile[GL2/GL2] GLInfo shut down cleanly.



Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

gouessej
Administrator
Hi!

Do you use the same graphics chip on XP?
GL_VENDOR: Intel
GL_RENDERER: Intel(R) Graphics Media Accelerator HD
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

Martin
Thanks for your reply.

Unfortunately not, my desktop computer is running with:
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce 7300 LE/PCI/SSE2
GL_VERSION: 2.0.3
Gears: Reshape: 0/0 292x273

The first one is my laptop graphic's card.
Martin
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

gouessej
Administrator
Martin wrote
Thanks for your reply.
You're welcome and I feel concerned as I want to use jzy3d.

Martin wrote
Unfortunately not, my desktop computer is running with:
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce 7300 LE/PCI/SSE2
GL_VERSION: 2.0.3
Gears: Reshape: 0/0 292x273

The first one is my laptop graphic's card.
The problem is that the main impacting difference is then not the operating system but rather the graphics chip. Intel on-board graphics chips are known to be quite buggy unfortunately. In commercial products, I simply advise to use only NVIDIA and ATI graphics cards (even though they have their own bugs especially on laptops).
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

Wade Walker
Administrator
In reply to this post by Martin
I second gouessej's warning about Intel integrated graphics. We've had many problems with it at work. Usually we can come up with a workaround that changes the GL settings if we detect Intel, but it can take some experimentation.

Here are the kinds of things we've had to do in the past to work around Intel integrated driver bugs:

- Turn off vertex arrays in TextRenderer to avoid a crash, e.g. textrenderer.setUseVertexArrays( false );
- Comment out some GL calls and let the Intel driver pick the default, e.g.

// commenting these in makes all polygons black, but only on Intel Mobile 965 Express
//            gl.glShadeModel( GL.GL_FLAT );
//            gl.glPolygonMode( GL.GL_FRONT, GL.GL_FILL );

- Tell users not to dock/undock their laptops while running our app (sometimes the driver returns an unaccelerated context)

We've never had similar problems from ATI or NVIDIA drivers. Sometimes we get a Java hotspot crash on an ATI or NVIDIA card with an old driver, but a driver update from the manufacturer has always fixed it.
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

Martin
Wade Walker wrote
I second gouessej's warning about Intel integrated graphics. We've had many problems with it at work. Usually we can come up with a workaround that changes the GL settings if we detect Intel, but it can take some experimentation.
actually I understood there are 2 graphical chips on my laptop:
Intel(R) Graphics Media Accelerator HD
NVIDIA GeForce 310M

I went into the NVIDIA settings, marked a checkbox asking to use it for 3D rendering, but nothing changed after reboot.
Is there a way to force JOGL on this chip?

Wade Walker wrote
- Comment out some GL calls and let the Intel driver pick the default, e.g.
- Tell users not to dock/undock their laptops while running our app (sometimes the driver returns an unaccelerated context)

2010/10/20 Wade Walker [via jogamp] <ml-node+1739740-841475364-243031@n3.nabble.com>
I second gouessej's warning about Intel integrated graphics. We've had many problems with it at work. Usually we can come up with a workaround that changes the GL settings if we detect Intel, but it can take some experimentation.

Here are the kinds of things we've had to do in the past to work around Intel integrated driver bugs:

- Turn off vertex arrays in TextRenderer to avoid a crash, e.g. textrenderer.setUseVertexArrays( false );
- Comment out some GL calls and let the Intel driver pick the default, e.g.

// commenting these in makes all polygons black, but only on Intel Mobile 965 Express
//            gl.glShadeModel( GL.GL_FLAT );
//            gl.glPolygonMode( GL.GL_FRONT, GL.GL_FILL );

- Tell users not to dock/undock their laptops while running our app (sometimes the driver returns an unaccelerated context)

I plugged the laptop, and even asked:
GLCapabilities caps = new GLCapabilities(GLProfile.getDefault());
caps.setHardwareAccelerated(true);
GLCanvas canvas = new GLCanvas(caps);

without more success!
I'll try downloading the 32bit version to see how that work (jogl 1-1-1.rc3 in 32 bits works well)

Thanks for your suggestions.
Martin
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

Martin
Hi,
It seems there's no win-32 release in the last 5 jogl builds, is that normal?
http://jogamp.org/deployment/autobuilds/jogl-b187-2010-09-30_18-13-01/build/
Regards,
Martin
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

Wade Walker
Administrator
The 32-bit Windows release should be the jogl-2.0-pre-20101001-windows-i586.zip (it seems to be there at http://jogamp.org/deployment/autobuilds/jogl-b187-2010-09-30_18-13-01/build/).

To me, "i586" doesn't clearly mean 32-bit, but that's the way the old JOGL 1.1.1a was named too (see http://download.java.net/media/jogl/builds/archive/jsr-231-1.1.1a/ for example).
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

Martin
Right, thanks for the remark :)
Martin
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

Martin
I have been able to try the demo on another Win7-64b computer which worked well, so it should only be a problem of accessing the appropriate chip rather than a system/arch version.
Regards,
Martin
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

markm
...for those whose only option is an Intel graphics chip, the following might be useful:
After having this exact problem on my rather old laptop, it turned out that the GLCapabilities object I was using to create my GLCanvas was asking for a 24-bit depth buffer:

GLProfile profile = GLProfile.get(GLProfile.GL2);
GLCapabilities capabilities = new GLCapabilities(profile);
System.out.println("caps: " + capabilities.getDepthBits());  // Returns 24

Now I'm assuming that my graphics chip can't fulfil this request, because later when I come to query the actual depth buffer size, it's zero...

public void init(GLAutoDrawable drawable) {
  ...
  GL2 gl2 = drawable.getGL().getGL2();
  IntBuffer buff = IntBuffer.allocate(1);
  gl2.glGetIntegerv(GL2.GL_DEPTH_BITS,buff);
  System.out.println("Depth buffer: " + buff.get(0));  // Prints 0; oops, our depth buffer looks a little shallow...
  ...
}

I was able to work around this on my system by changing the depth requested by the GLCapabilities:

capabilities.setDepthBits(16);  // Gears now render correctly!

I'm not yet sure as to the ideal way to incorporate this workaround in my code; it'd be nice if I could find out in advance the best non-zero depth buffer value to ask for. But for the moment this seems to work. Hope it's useful to someone.
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

gouessej
Administrator
Hi!

Thank you very much for the tip. If you reproduce your problem with it, then it will be considered as a bug except if the driver "says" your chip supports 24 bits whereas it's wrong. Do you see what I mean?

GLCapabilities field "depth bits" is at 24 by default and is updated only when GLCanvas.addNotify() is called.

GraphicsConfigurationFactory should fetch the available GLCapabilities instance. If it is a bug, we should investigate there.

Edit.: I have looked at the source code, the DefaultCapabilitiesChooser is called in all GraphicsConfigurationFactory implementations and it does the job correctly. It is highly probable that your crappy chip "says" it supports 24 bits. I cannot reproduce your bug, I only use JOGL 2 with NVIDIA, ATI, Matrox and VIA/SiS graphic chips.

Sven, is it a driver bug?

markm, please enable the debug pipeline so that we can see which GLCapabilities instances are available on your machine.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

Martin
Mark,
Thank you very much for your suggestion.
I'll tell you how that works as soon as I have time to try it.
Best regards,
Martin
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

Sven Gothel
Administrator
In reply to this post by markm
On Thursday, November 18, 2010 23:28:41 markm [via jogamp] wrote:

>
> ...for those whose only option is an Intel graphics chip, the following might be useful:
> After having this exact problem on my rather old laptop, it turned out that the GLCapabilities object I was using to create my GLCanvas was asking for a 24-bit depth buffer:
>
> GLProfile profile = GLProfile.get(GLProfile.GL2);
> GLCapabilities capabilities = new GLCapabilities(profile);
> System.out.println("caps: " + capabilities.getDepthBits());  // Returns 24
>
> Now I'm assuming that my graphics chip can't fulfil this request, because later when I come to query the actual depth buffer size, it's zero...
>
> public void init(GLAutoDrawable drawable) {
>   ...
>   GL2 gl2 = drawable.getGL().getGL2();
>   IntBuffer buff = IntBuffer.allocate(1);
>   gl2.glGetIntegerv(GL2.GL_DEPTH_BITS,buff);
>   System.out.println("Depth buffer: " + buff.get(0));  // Prints 0; oops, our depth buffer looks a little shallow...
>   ...
> }
>
> I was able to work around this on my system by changing the depth requested by the GLCapabilities:
>
> capabilities.setDepthBits(16);  // Gears now render correctly!
>
> I'm not yet sure as to the ideal way to incorporate this workaround in my code; it'd be nice if I could find out in advance the best non-zero depth buffer value to ask for. But for the moment this seems to work. Hope it's useful to someone.

Thats a very good one!

I guess we should lower the level to 16 as the min requirement.

The highest available will be picked up anyways.

~Sven
dz3
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

dz3
In reply to this post by markm
On 11/18/2010 4:28 PM, markm [via jogamp] wrote:

> ...for those whose only option is an Intel graphics chip, the
> following might be useful:
> After having this exact problem on my rather old laptop, it turned out
> that the GLCapabilities object I was using to create my GLCanvas was
> asking for a 24-bit depth buffer:
>
> GLProfile profile = GLProfile.get(GLProfile.GL2);
> GLCapabilities capabilities = new GLCapabilities(profile);
> System.out.println("caps: " + capabilities.getDepthBits());  //
> Returns 24
>
> Now I'm assuming that my graphics chip can't fulfil this request,
> because later when I come to query the actual depth buffer size, it's
> zero...
>
> public void init(GLAutoDrawable drawable) {
>   ...
>   GL2 gl2 = drawable.getGL().getGL2();
>   IntBuffer buff = IntBuffer.allocate(1);
>   gl2.glGetIntegerv(GL2.GL_DEPTH_BITS,buff);
>   System.out.println("Depth buffer: " + buff.get(0));  // Prints 0;
> oops, our depth buffer looks a little shallow...
>   ...
> }
>
> I was able to work around this on my system by changing the depth
> requested by the GLCapabilities:
>
> capabilities.setDepthBits(16);  // Gears now render correctly!
>
> I'm not yet sure as to the ideal way to incorporate this workaround in
> my code; it'd be nice if I could find out in advance the best non-zero
> depth buffer value to ask for. But for the moment this seems to work.
> Hope it's useful to someone.
>

Thanks for the excellent suggestion.  That fixed the rendering on a
program I'm working on (using JOGL version 1.1.1).  I did a little
experimenting and here are the results:

I ran the following code several times with different values for
depthBits (values of 8, 16, 24 and 32):

GLCapabilities capabilities = new GLCapabilities();
if (System.getProperty("os.name").contains("Windows")) {
     int depthBits = 16;  // tried values of 8, 16, 24 and 32
     capabilities.setDepthBits(depthBits);
}
glCanvas = new GLCanvas(capabilities);
glCanvas.addGLEventListener(glEvtListener);
...

Then in the GLEventListener's init method:......display the value...

IntBuffer ibuff = IntBuffer.allocate(1);
gl.glGetIntegerv(GL.GL_DEPTH_BITS, ibuff);
System.out.println("depth bits="+ibuff.get(0));

and the results were:
with depthBits set to either 8, 16 or 32 it would end up as 16 and the
graphics would display properly;
setting depthBits to 24 (which was also the default without setting it)
then the printout would show 24 (different than your result showing 0)
and the graphics were all goofed up as far as hidden surface removal.

Here is information about my system:
using Jogl version 1.1.1

Op sys info:
Windows Vista Home Premium
64 bit operating system

OpenGL info: via gl.glGetString(GL.GL_...) with GL.GL_VENDOR,
GL.GL_RENDERER, GL.GL_VERSION, and GL.GL_EXTENSIONS respectively

Vendor: Intel
Renderer: Intel(R) G45/G43 Express Chipset
Version: 2.1.0 - Build 8.15.10.2189
Extensions: GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_blend_color
GL_EXT_abgr GL_EXT_texture3D GL_EXT_clip_volume_hint
GL_EXT_compiled_vertex_array GL_SGIS_texture_edge_clamp
GL_SGIS_generate_mipmap GL_EXT_draw_range_elements GL_SGIS_texture_lod
GL_EXT_rescale_normal GL_EXT_packed_pixels GL_EXT_texture_edge_clamp
GL_EXT_separate_specular_color GL_ARB_multitexture
GL_EXT_texture_env_combine GL_EXT_bgra GL_EXT_blend_func_separate
GL_EXT_secondary_color GL_EXT_fog_coord GL_EXT_texture_env_add
GL_ARB_texture_cube_map GL_ARB_transpose_matrix GL_ARB_texture_env_add
GL_IBM_texture_mirrored_repeat GL_EXT_multi_draw_arrays
GL_NV_blend_square GL_ARB_texture_compression
GL_3DFX_texture_compression_FXT1 GL_EXT_texture_filter_anisotropic
GL_ARB_texture_border_clamp GL_ARB_point_parameters
GL_ARB_texture_env_combine GL_ARB_texture_env_dot3
GL_ARB_texture_env_crossbar GL_EXT_texture_compression_s3tc
GL_ARB_shadow GL_ARB_window_pos GL_EXT_shadow_funcs GL_EXT_stencil_wrap
GL_ARB_vertex_program GL_EXT_texture_rectangle GL_ARB_fragment_program
GL_EXT_stencil_two_side GL_ATI_separate_stencil
GL_ARB_vertex_buffer_object GL_EXT_texture_lod_bias
GL_ARB_occlusion_query GL_ARB_fragment_shader GL_ARB_shader_objects
GL_ARB_shading_language_100 GL_ARB_texture_non_power_of_two
GL_ARB_vertex_shader GL_NV_texgen_reflection GL_ARB_point_sprite
GL_EXT_blend_equation_separate GL_ARB_depth_texture
GL_ARB_texture_rectangle GL_ARB_draw_buffers GL_ARB_color_buffer_float
GL_ARB_half_float_pixel GL_ARB_texture_float GL_ARB_pixel_buffer_object
GL_EXT_framebuffer_object GL_ARB_draw_instanced GL_ARB_half_float_vertex
GL_EXT_draw_buffers2 GL_WIN_swap_hint GL_EXT_texture_sRGB
GL_EXT_packed_float GL_EXT_texture_shared_exponent GL_ARB_texture_rg
GL_ARB_texture_compression_rgtc GL_NV_conditional_render
GL_EXT_texture_swizzle GL_ARB_framebuffer_sRGB
GL_EXT_packed_depth_stencil GL_ARB_depth_buffer_float
GL_EXT_transform_feedback GL_EXT_framebuffer_blit
GL_ARB_vertex_array_object

So I guess that means that in JOGL 1.1.1 the GL object sets the depth
bit buffer to a legitimate value close to what you ask it for (which
seems to be either 16 or 24 on my graphics card) but that in the case of
24 it (the Intel driver) is buggy.
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

markm
In reply to this post by gouessej
Sorry for the delay; unfortunately I often tend to move Rather Slowly :)

> except if the driver "says" your chip supports 24 bits whereas it's wrong.
gouessej, that's a good point. So far I'd merely assumed that my graphics chip didn't support a 24-bit depth buffer. I'm at "work" right now, but will post back with debug pipeline results later. Will also try to find out what depth values my graphics chip claims to support.

Thanks all,
  Mark
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

markm
Right, specific information for my system: Using JOGL 2.0-b222-20101118 on Windows XP Home with an Intel 915GM graphics chip.

The datasheet for the 915GM (http://www.intel.com/Products/Notebook/Chipsets/915GM/915GM-technicaldocuments.htm) says
"A 16-bit Z/W or 24 bit Z/W buffer can be selected with a 16-bit color buffer. Z buffer is not supported in 8-bit mode."
Which seems consistent with others' suggestions that it's my graphics chip/driver(?) at fault for failing to honour a 24-bit request.

JOGLGearsDemo.java (modified so it explicitly asks for the default GLProfile and prints depth buffer info as above) gives the following output for the default 24-bit case:

Requesting 24-bit depth buffer.
Actual depth buffer: 0
INIT GL IS: javax.media.opengl.DebugGL2
Chosen GLCapabilities: GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 24, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false]
GL_VENDOR: Intel
GL_RENDERER: Intel 915GM
GL_VERSION: 1.4.0 - Build 4.14.10.4020
JOGLGearsDemo.dispose: AWT-GLCanvas[ class javax.media.nativewindow.awt.AWTGraphicsConfiguration[class javax.media.nativewindow.awt.AWTGraphicsScreen[class javax.media.nativewindow.awt.AWTGraphicsDevice[type AWT[subType null], connection \Display0, unitID 0, awtDevice Win32GraphicsDevice[screen=0], handle 0x0], idx 0],
        chosen    GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 24, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false],
        requested GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 24, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false],
        sun.awt.Win32GraphicsConfig@83cc67[dev=Win32GraphicsDevice[screen=0],pixfmt=0],
        encapsulated WindowsWGLGraphicsConfiguration[class javax.media.nativewindow.DefaultGraphicsScreen[class javax.media.nativewindow.windows.WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0], idx 0], pfdID 1, wglChoosen true,
        requested GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 24, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false],
        chosen    GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 8, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: false, Stereo: false, HardwareAccelerated: true, DepthBits: 0, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: true, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false]]], com.jogamp.opengl.impl.windows.wgl.WindowsOnscreenWGLDrawable]

...and in the 16-bit case:

Requesting 16-bit depth buffer.
Actual depth buffer: 16
INIT GL IS: javax.media.opengl.DebugGL2
Chosen GLCapabilities: GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 16, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false]
GL_VENDOR: Intel
GL_RENDERER: Intel 915GM
GL_VERSION: 1.4.0 - Build 4.14.10.4020
JOGLGearsDemo.dispose: AWT-GLCanvas[ class javax.media.nativewindow.awt.AWTGraphicsConfiguration[class javax.media.nativewindow.awt.AWTGraphicsScreen[class javax.media.nativewindow.awt.AWTGraphicsDevice[type AWT[subType null], connection \Display0, unitID 0, awtDevice Win32GraphicsDevice[screen=0], handle 0x0], idx 0],
        chosen    GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 16, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false],
        requested GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 16, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false],
        sun.awt.Win32GraphicsConfig@83cc67[dev=Win32GraphicsDevice[screen=0],pixfmt=0],
        encapsulated WindowsWGLGraphicsConfiguration[class javax.media.nativewindow.DefaultGraphicsScreen[class javax.media.nativewindow.windows.WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0], idx 0], pfdID 4, wglChoosen true,
        requested GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 16, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false],
        chosen    GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 8, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 16, StencilBits: 0, Red Accum: 16, Green Accum: 16, Blue Accum: 16, Alpha Accum: 16, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: true, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false]]], com.jogamp.opengl.impl.windows.wgl.WindowsOnscreenWGLDrawable]
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

Sven Gothel
Administrator
On Tuesday, November 23, 2010 21:57:36 markm [via jogamp] wrote:
>
> Right, specific information for my system: Using JOGL 2.0-b222-20101118 on Windows XP Home with an Intel 915GM graphics chip.

please try a newer build which includes a 1st fix of #397
        http://jogamp.org/bugzilla/show_bug.cgi?id=397

which would be a master build >= b229,
or one of the new base_2_0 release builds.

Cheers, Sven
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

markm
Thanks - using JOGL 2.0-b3-20101124 gives correct rendering using the default GLProfile for my system.

I see the GLCapabilities derived from this profile now defaults to requesting a 16-bit depth buffer (as observed by GLCapabilities.getDepthBits()). For completeness/spam :), output below.

Perhaps interestingly, it seems the demo can now use a 24-bit depth buffer if this is requested. See second output below.

Thanks for everyone's comments and assistance since I joined the thread - hope it means the original problem has been solved too!
  Mark

[First output:]

Requesting default 16-bit depth buffer.
Actual depth buffer: 16
INIT GL IS: javax.media.opengl.DebugGL2
Chosen GLCapabilities: GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 16, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false]
GL_VENDOR: Intel
GL_RENDERER: Intel 915GM
GL_VERSION: 1.4.0 - Build 4.14.10.4020
JOGLGearsDemo.dispose: AWT-GLCanvas[ class javax.media.nativewindow.awt.AWTGraphicsConfiguration[class javax.media.nativewindow.awt.AWTGraphicsScreen[class javax.media.nativewindow.awt.AWTGraphicsDevice[type AWT[subType null], connection \Display0, unitID 0, awtDevice Win32GraphicsDevice[screen=0], handle 0x0], idx 0],
        chosen    GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 16, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false],
        requested GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 16, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false],
        sun.awt.Win32GraphicsConfig@83cc67[dev=Win32GraphicsDevice[screen=0],pixfmt=0],
        encapsulated WindowsWGLGraphicsConfiguration[class javax.media.nativewindow.DefaultGraphicsScreen[class javax.media.nativewindow.windows.WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0], idx 0], pfdID 4, wglChoosen true,
        requested GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 16, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false],
        chosen    GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 8, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 16, StencilBits: 0, Red Accum: 16, Green Accum: 16, Blue Accum: 16, Alpha Accum: 16, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: true, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false]]], com.jogamp.opengl.impl.windows.wgl.WindowsOnscreenWGLDrawable]

[Second output:]

Requesting non-default 24-bit depth buffer.
Actual depth buffer: 24
INIT GL IS: javax.media.opengl.DebugGL2
Chosen GLCapabilities: GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 24, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false]
GL_VENDOR: Intel
GL_RENDERER: Intel 915GM
GL_VERSION: 1.4.0 - Build 4.14.10.4020
JOGLGearsDemo.dispose: AWT-GLCanvas[ class javax.media.nativewindow.awt.AWTGraphicsConfiguration[class javax.media.nativewindow.awt.AWTGraphicsScreen[class javax.media.nativewindow.awt.AWTGraphicsDevice[type AWT[subType null], connection \Display0, unitID 0, awtDevice Win32GraphicsDevice[screen=0], handle 0x0], idx 0],
        chosen    GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 24, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false],
        requested GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 24, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false],
        sun.awt.Win32GraphicsConfig@83cc67[dev=Win32GraphicsDevice[screen=0],pixfmt=0],
        encapsulated WindowsWGLGraphicsConfiguration[class javax.media.nativewindow.DefaultGraphicsScreen[class javax.media.nativewindow.windows.WindowsGraphicsDevice[type Windows, connection decon, unitID 0, handle 0x0], idx 0], pfdID 6, wglChoosen true,
        requested GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 0, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 24, StencilBits: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: false, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false],
        chosen    GLCapabilities[Capabilities[Onscreen: true, Red: 8, Green: 8, Blue: 8, Alpha: 8, Opaque: true], GL profile: GLProfile[GL2/GL2], PBuffer: false, DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 24, StencilBits: 8, Red Accum: 16, Green Accum: 16, Blue Accum: 16, Alpha Accum: 16, Multisample: false, Num samples: 0, PBuffer-FloatingPointBuffers: true, PBuffer-RenderToTexture: false, PBuffer-RenderToTextureRectangle: false]]], com.jogamp.opengl.impl.windows.wgl.WindowsOnscreenWGLDrawable]
Reply | Threaded
Open this post in threaded view
|

Re: Depth buffer not working on Win7-64b?

Martin
markm wrote
Thanks for everyone's comments and assistance since I joined the thread - hope it means the original problem has been solved too!
Up to now I did not have time to try all your suggestions, but it will really help me in the near future! Thanks to all of you!
Martin