|
From: James W. W. <os...@jw...> - 2007-10-15 02:20:14
|
On Oct 14, 2007, at 3:53 PM, Stefan Huber wrote: > The combination of kQ3FillStyleEdges and kQ3BackfacingStyleBoth/Flip > produces for large trimeshes (see kMinTrianglesToCache) junk lines > when kQ3RendererPropertyAutomaticTriangleStrips is on and VBOs are > used. > > Removing QORenderer::Renderer::RenderFastPathTriMesh line 1010f > (GetCachedTriangleStrip) temporarily "solves" the problem. > > The error occurs with Quesa OpenGL when kQ3FillStyleEdges is on and > with Quesa Wireframe and Hiddenline (Wireframe and Hiddenline are > using glPolygonMode( GL_FRONT_AND_BACK, GL_LINE )). This turned out to be pretty easy to figure out. In order to create a single triangle strip, the MakeStrip algorithm adds degenerate triangles linking together separate strips. In the usual filled style, these degenerate triangles are not drawn, but in edge fill style, they cause extra edges. I have committed a fix, which simply does not use triangle strips in the edge fill case. > The Interactive renderer has its own backface culling: here all is ok. Which has nothing to do with backface culling, only the fact that the IR never uses triangle strips. |