diff options
Diffstat (limited to 'src/Runtime/Source/runtimerender/Qt3DSRenderShaderCodeGeneratorV2.cpp')
-rw-r--r-- | src/Runtime/Source/runtimerender/Qt3DSRenderShaderCodeGeneratorV2.cpp | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/src/Runtime/Source/runtimerender/Qt3DSRenderShaderCodeGeneratorV2.cpp b/src/Runtime/Source/runtimerender/Qt3DSRenderShaderCodeGeneratorV2.cpp index 173ba431..3aa03eae 100644 --- a/src/Runtime/Source/runtimerender/Qt3DSRenderShaderCodeGeneratorV2.cpp +++ b/src/Runtime/Source/runtimerender/Qt3DSRenderShaderCodeGeneratorV2.cpp @@ -94,6 +94,7 @@ struct SStageGeneratorBase : public IShaderStageGenerator { m_Incoming.insert(eastl::make_pair(Str(name), Str(type))); } + virtual const char8_t *GetIncomingVariableName() { return "in"; @@ -103,6 +104,12 @@ struct SStageGeneratorBase : public IShaderStageGenerator { AddIncoming(name.c_str(), type); } + + void AddIncoming(const QString &name, const char8_t *type) override + { + AddIncoming(name.toUtf8().constData(), type); + } + void AddOutgoing(const char8_t *name, const char8_t *type) override { if (m_Outgoing == NULL) { @@ -111,25 +118,44 @@ struct SStageGeneratorBase : public IShaderStageGenerator } m_Outgoing->insert(eastl::make_pair(Str(name), Str(type))); } + void AddOutgoing(const TStrType &name, const char8_t *type) override { AddOutgoing(name.c_str(), type); } + void AddOutgoing(const QString &name, const char8_t *type) override + { + AddOutgoing(name.toUtf8().constData(), type); + } + void AddUniform(const char8_t *name, const char8_t *type) override { m_Uniforms.insert(eastl::make_pair(Str(name), Str(type))); } + void AddUniform(const TStrType &name, const char8_t *type) override { AddUniform(name.c_str(), type); } + void AddUniform(const QString &name, const char8_t *type) override + { + AddUniform(name.toUtf8().constData(), type); + } + void AddConstantBuffer(const char *name, const char *layout) override { m_ConstantBuffers.insert(eastl::make_pair(Str(name), Str(layout))); } - void AddConstantBufferParam(const char *cbName, const char *paramName, const char *type) override + + void AddConstantBuffer(const QString &name, const char *layout) override + { + AddConstantBuffer(name.toUtf8().constData(), layout); + } + + void AddConstantBufferParam(const char *cbName, const char *paramName, + const char *type) override { TParamPair theParamPair(m_StringTable.RegisterStr(paramName), m_StringTable.RegisterStr(type)); @@ -138,13 +164,26 @@ struct SStageGeneratorBase : public IShaderStageGenerator m_ConstantBufferParams.push_back(theBufferParamPair); } + void AddConstantBufferParam(const QString &cbName, const QString ¶mName, + const char *type) override + { + AddConstantBufferParam(cbName.toUtf8().constData(), paramName.toUtf8().constData(), type); + } + IShaderStageGenerator &operator<<(const char *data) override { m_CodeBuilder.append(nonNull(data)); return *this; } + IShaderStageGenerator &operator<<(const TStrType &data) override { + m_CodeBuilder.append(data.c_str()); + return *this; + } + + IShaderStageGenerator &operator<<(const QString &data) override + { m_CodeBuilder.append(data); return *this; } |