diff options
author | Antti Määttä <antti.maatta@qt.io> | 2019-08-29 15:03:13 +0300 |
---|---|---|
committer | Antti Määttä <antti.maatta@qt.io> | 2019-09-12 14:29:39 +0300 |
commit | bc4a0aa611242083403fd11f791f51cbab8d4f3a (patch) | |
tree | 3fa11a231a382513560f84db5a8b7999dd84d94b /src/render/backends/gl/Qt3DSOpenGLUtil.h | |
parent | 18138ffc6b063e94b792ef61cbe310f90ea21287 (diff) |
Implement two-pass rendering for transparent objects
If object has both opaque parts and transparent parts it will be rendered
incorrectly due to no z-buffering. Add two-pass method to render the
opaque and transparent parts separately.
- Add opaque pixel check to transparency check of images.
- Add alpha test rendering to default material shadows too.
Task-number: QT3DS-3515
Change-Id: I9700b8fb463df9143c5bb9cbe66c7570081ebf5c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'src/render/backends/gl/Qt3DSOpenGLUtil.h')
-rw-r--r-- | src/render/backends/gl/Qt3DSOpenGLUtil.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/render/backends/gl/Qt3DSOpenGLUtil.h b/src/render/backends/gl/Qt3DSOpenGLUtil.h index 32f7dad..47f4230 100644 --- a/src/render/backends/gl/Qt3DSOpenGLUtil.h +++ b/src/render/backends/gl/Qt3DSOpenGLUtil.h @@ -1757,7 +1757,7 @@ namespace render { return NVRenderClearFlags(retval); } - static GLenum fromDrawModeToGL(NVRenderDrawMode::Enum value, bool inTesselationSupported) + static GLenum fromDrawModeToGL(NVRenderDrawMode::Enum value, bool inTessellationSupported) { switch (value) { case NVRenderDrawMode::Points: @@ -1775,7 +1775,7 @@ namespace render { case NVRenderDrawMode::Triangles: return GL_TRIANGLES; case NVRenderDrawMode::Patches: - return (inTesselationSupported) ? GL_PATCHES : GL_TRIANGLES; + return (inTessellationSupported) ? GL_PATCHES : GL_TRIANGLES; default: break; } |