I updated OpenCSG for the modern version of OpenGL.
PixelFormatAttributes:
NSOpenGLPFAColorSize , 24 , NSOpenGLPFAAlphaSize , 8 , NSOpenGLPFADepthSize , 32 , NSOpenGLPFAStencilSize , 8 , NSOpenGLPFAAccelerated , NSOpenGLPFADoubleBuffer , NSOpenGLPFASupersample , NSOpenGLPFASampleBuffers, 1 , NSOpenGLPFASamples , 4 ,
FBO specifications: (tried to visualize FBO with multisample, but the lines became stronger and more visible, look at the screenshot below)
- created texture with power 2, GL_RGBA (checked GL_RGBA8 and GL_RGBA32F)
- GL_DEPTH24_STENCIL8 (checked GL_DEPTH32_STENCIL8, no result)
Just the Goldfeather algorithm:
while (i < depth complexity) { take channel for render merge layers if no free channel render each layer with stencil func, mask and depth params to channel (FBO) } merge layers (taking texture from FBO and render objects again with applying shader below)
In the shader, I have code for merging (the texture of the result from FBO overlaps over the rendering for testing, in OpenCSG it setupProjectiveTexture ):
vec2 ndcPos = gl_FragCoord.xy / sizetexture.xy; vec4 maskColor = texture2D(maskTexture, ndcPos.xy); if (maskColor[channel] < 0.5) { discard; }

It seems like after the FBO got an insufficiently clear texture or was not the right size.
EDIT:
These lines appear only in overlapping grid subtraction places.
EDIT 2:
Fixed with rendering for FBA without MSAA and applying FXAA by result.
opengl opengl-3 fragment-shader fbo csg
SAKrisT
source share