summaryrefslogtreecommitdiffstats
path: root/src/runtimerender/rendererimpl/Qt3DSRendererImpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtimerender/rendererimpl/Qt3DSRendererImpl.cpp')
-rw-r--r--src/runtimerender/rendererimpl/Qt3DSRendererImpl.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/runtimerender/rendererimpl/Qt3DSRendererImpl.cpp b/src/runtimerender/rendererimpl/Qt3DSRendererImpl.cpp
index 99d5c45..a0ea8b1 100644
--- a/src/runtimerender/rendererimpl/Qt3DSRendererImpl.cpp
+++ b/src/runtimerender/rendererimpl/Qt3DSRendererImpl.cpp
@@ -1131,6 +1131,26 @@ namespace render {
}
}
+ void Qt3DSRendererImpl::FillQuad(const QT3DSVec4 &color)
+ {
+ m_Context->SetCullingEnabled(false);
+ SFillRectShader *theShader = GetFillRectShader();
+ NVRenderContext &theContext(*m_Context);
+ theContext.SetActiveShader(&theShader->m_Shader);
+ NVRenderBlendEquationArgument equ(NVRenderBlendEquation::Add, NVRenderBlendEquation::Add);
+ NVRenderBlendFunctionArgument func(NVRenderSrcBlendFunc::One,
+ NVRenderDstBlendFunc::OneMinusSrcAlpha,
+ NVRenderSrcBlendFunc::One,
+ NVRenderDstBlendFunc::OneMinusSrcAlpha);
+ theContext.SetBlendEquation(equ);
+ theContext.SetBlendFunction(func);
+ theContext.SetBlendingEnabled(true);
+ theShader->m_color.Set(color);
+ GenerateXYQuad();
+ m_Context->SetInputAssembler(m_QuadInputAssembler);
+ m_Context->Draw(NVRenderDrawMode::Triangles, m_QuadIndexBuffer->GetNumIndices(), 0);
+ }
+
void Qt3DSRendererImpl::RenderQuad(const QT3DSVec2 inDimensions, const QT3DSMat44 &inMVP,
NVRenderTexture2D &inQuadTexture)
{