In the Radeon driver, TCL is currently enabled by default.  However, it seems 
like there is no guarantee that the same set of vertices will be transformed 
equally twice, so you get Z buffer artifacts when doing multipass rendering.

I am told that the DRI developers believes this is not a bug, because you 
should use glPolygonOffset when doing multipass rendering.  This is wrong.  
glPolygonOffset is used when you wish to render polygons in the same plane as 
previously rendered polygons using _different_ vertices than those of the 
previously rendered polygons.  However, if you render two polygons with 
exactly the same vertices, the pixels of both polygons should have exactly 
the same Z values.  glDepthFunc(GL_EQUAL) becomes pointless with the current 
behavior.

This tutorial at SGI describes multipass rendering without mentioning 
glPolygonOffset, but recommending the use of glDepthFunc(GL_EQUAL):

http://www.sgi.com/software/opengl/advanced97/notes/node67.html

This extension specification also uses glDepthFunc(GL_EQUAL) to perform 
multipass rendering:

http://oss.sgi.com/projects/ogl-sample/registry/ARB/occlusion_query.txt

Hence TCL must either be disabled by default, or it must be used consistently.

-- 
Morten Hustveit, http://www.ping.uio.no/~mortehu/



-------------------------------------------------------
This SF.net email is sponsored by: The SF.net Donation Program.
Do you like what SourceForge.net is doing for the Open
Source Community?  Make a contribution, and help us add new
features and functionality. Click here: http://sourceforge.net/donate/
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to