diff options
Diffstat (limited to 'src/render/backend/renderview.cpp')
-rw-r--r-- | src/render/backend/renderview.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/render/backend/renderview.cpp b/src/render/backend/renderview.cpp index 93802754c..75a87e6cd 100644 --- a/src/render/backend/renderview.cpp +++ b/src/render/backend/renderview.cpp @@ -568,7 +568,15 @@ void RenderView::buildComputeRenderCommands(Entity *node) // Add the RenderPass Parameters ParameterInfoList globalParameters = parameters; parametersFromParametersProvider(&globalParameters, m_manager->parameterManager(), pass); - // TO DO: Build appropriate Render Commands + + RenderCommand *command = m_allocator->allocate<RenderCommand>(); + command->m_type = RenderCommand::Compute; + setShaderAndUniforms(command, + pass, + globalParameters, + *(node->worldTransform()), + QVector<LightSource>()); + m_commands.append(command); } } } @@ -851,7 +859,7 @@ void RenderView::setShaderAndUniforms(RenderCommand *command, RenderPass *rPass, // -> uniform block / array (4.3) // -> ssbo block / array (4.3) - if ((!uniformNames.isEmpty() || !uniformBlockNames.isEmpty()) && !parameters.isEmpty()) { + if ((!uniformNames.isEmpty() || !uniformBlockNames.isEmpty() || !shaderStorageBlockNames.isEmpty()) && !parameters.isEmpty()) { ParameterInfoList::iterator it = parameters.begin(); const ParameterInfoList::iterator parametersEnd = parameters.end(); while (it != parametersEnd) { |