diff options
author | Jere Tuliniemi <jere.tuliniemi@qt.io> | 2019-05-03 15:31:34 +0300 |
---|---|---|
committer | Jere Tuliniemi <jere.tuliniemi@qt.io> | 2019-05-06 11:15:27 +0000 |
commit | 655c1952563a31179fefb46eb178caa662bc3bee (patch) | |
tree | 6596fd66d209d65cf6e54777226425c3b83fb21b /src/Runtime/Source/runtimerender/Qt3DSDistanceFieldRenderer.h | |
parent | e40d5ffa94622c316ff89bc4a0515c804cb2570e (diff) |
Implement fixes to the distance field renderer
- Change modelView matrix to mvp for sharper texts
- Support global opacity from parents
- Allow changing alpha from the text color picker
- Change shadow color to be the same as the text color
Task-number: QT3DS-3343
Task-number: QT3DS-3363
Change-Id: I37178abe6c9239619a3f9de440d2b9245a138a82
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'src/Runtime/Source/runtimerender/Qt3DSDistanceFieldRenderer.h')
-rw-r--r-- | src/Runtime/Source/runtimerender/Qt3DSDistanceFieldRenderer.h | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/src/Runtime/Source/runtimerender/Qt3DSDistanceFieldRenderer.h b/src/Runtime/Source/runtimerender/Qt3DSDistanceFieldRenderer.h index 0e037fd8..c82a0e80 100644 --- a/src/Runtime/Source/runtimerender/Qt3DSDistanceFieldRenderer.h +++ b/src/Runtime/Source/runtimerender/Qt3DSDistanceFieldRenderer.h @@ -57,7 +57,6 @@ struct GlyphInfo { struct Q3DSDistanceFieldShader { NVRenderShaderProgram *program = nullptr; NVRenderCachedShaderProperty<QT3DSMat44> mvp; - NVRenderCachedShaderProperty<QT3DSMat44> modelView; NVRenderCachedShaderProperty<QT3DSI32> textureWidth; NVRenderCachedShaderProperty<QT3DSI32> textureHeight; NVRenderCachedShaderProperty<QT3DSF32> fontScale; @@ -68,7 +67,6 @@ struct Q3DSDistanceFieldShader { struct Q3DSDistanceFieldDropShadowShader { NVRenderShaderProgram *program = nullptr; NVRenderCachedShaderProperty<QT3DSMat44> mvp; - NVRenderCachedShaderProperty<QT3DSMat44> modelView; NVRenderCachedShaderProperty<QT3DSI32> textureWidth; NVRenderCachedShaderProperty<QT3DSI32> textureHeight; NVRenderCachedShaderProperty<QT3DSF32> fontScale; @@ -95,17 +93,16 @@ public: const SText &textInfo); void buildShaders(); Q3DSDistanceFieldMesh buildMesh(const GlyphInfo &glyphInfo, bool shadow); - void renderMesh(NVRenderInputAssembler *inputAssembler, - NVRenderTexture2D *texture, const QT3DSMat44 &mvp, - const QT3DSMat44 &modelView, QT3DSI32 textureWidth, - QT3DSI32 textureHeight, QT3DSF32 fontScale, QT3DSVec4 color); + void renderMesh(NVRenderInputAssembler *inputAssembler, NVRenderTexture2D *texture, + const QT3DSMat44 &mvp, QT3DSI32 textureWidth, QT3DSI32 textureHeight, + QT3DSF32 fontScale, QT3DSVec4 color); void renderMeshWithDropShadow(NVRenderInputAssembler *inputAssembler, NVRenderTexture2D *texture, const QT3DSMat44 &mvp, - const QT3DSMat44 &modelView, QT3DSI32 textureWidth, - QT3DSI32 textureHeight, QT3DSF32 fontScale, - QT3DSVec2 shadowOffset, QT3DSVec4 color, QT3DSVec4 shadowColor); - void renderText(SText &text, const QT3DSMat44 &mvp, const QT3DSMat44 &modelView); - void renderTextDepth(SText &text, const QT3DSMat44 &mvp, const QT3DSMat44 &modelView); + QT3DSI32 textureWidth, QT3DSI32 textureHeight, + QT3DSF32 fontScale, QT3DSVec2 shadowOffset, + QT3DSVec4 color, QT3DSVec4 shadowColor); + void renderText(SText &text, const QT3DSMat44 &mvp); + void renderTextDepth(SText &text, const QT3DSMat44 &mvp); void setContext(IQt3DSRenderContext &context); QT3DS_IMPLEMENT_REF_COUNT_ADDREF_RELEASE_OVERRIDE(m_foundation.getAllocator()) |