From: Brian P. <bri...@tu...> - 2006-02-01 15:22:04
|
Battle Nick wrote: >>The symptom is that, sometimes, the screen savers display 3D background >>objects that should be obscured by foreground objects - they appear >>"through" the foreground objects > > > I think I've sorted out what causes this - and it's not a Mesa problem. > > I managed to reproduce the problem in the regular X screen saver program by > selecting one of the OpenGL savers and asking it to use the "Default" X > visual rather than the "GL" visual. I don't know enough about X to explain > why choosing the wrong visual produces this strange behaviour, but choosing > the GL visual does fix the problem. I assume the KDE screen saver launch > program doesn't set the -visual argument. A visual, specifically a GLX visual, describes a framebuffer's or window's pixel format in terms of number of bits of red,green,blue,alpha, size of the depth(Z) buffer, stencil buffer etc. For hidden surface removal you need a depth buffer. If the visual doesn't have a depth buffer, 3D rendering will appear strange as you described. The default visual, used by the root window, may or may not have a Z/depth buffer. Often it doesn't in an effort to reduce memory usage. The 'glxinfo' program lists the attributes for each visual. This issue has been around for a long time, I'm sure google would turn up more background info. -Brian |