-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Z fighting when applications render using GLSL #8
Comments
A valid bug. But in OpenCSG, just switching to a different of pipeline will not help, since this would introduce the same problem for applications using the fixed pipeline. Probably this means that there must be some kind of hook to control how OpenCSG transforms the vertices. That hook would optionally activate some programmable shader. Question is whether one hook is sufficient, and if this must be fully controlable from the calling application. |
Yeah, there are still, but hopefully very few, apps who still use legacy OpenGL. A compile-time flag might be the easiest option, but that will cause challenges for packaging, but will work for embedding. |
OpenCSG transforms vertices (and hence produces depth values) using the legacy OpenGL fixed pipeline.
On common GPUs (Tested modern Intel iGPU and nVidia), the fixed function pipeline produces slightly different vertex positions than the programmable pipeline. Since OpenCSG relies on applications rendering final images using a GL_EQUAL depth test, this causes z buffer tearing for applications rendering using a programmable pipeline.
For more info, see openscad/openscad#4595
The text was updated successfully, but these errors were encountered: