History

Fixed android compilation error and removed _glUniformi call

Olivier Prat committed 8 years ago

Commit 51fe60e1 parent 1a5c3825 files · +57 −21Browse files

Showing the changes to libraries/render-utils/src/DebugDeferredBuffer.cpp (1 of 5 files). Show all

Unified · Split

libraries/render-utils/src/DebugDeferredBuffer.cpp+11−11
@@ -60,7 +60,8 @@ enum TextureSlot { · 59 unmodified lines
60enum ParamSlot {60enum ParamSlot {
61 CameraCorrection = 0,61 CameraCorrection = 0,
62 DeferredFrameTransform,62 DeferredFrameTransform,
63 ShadowTransform63 ShadowTransform,
64 DebugParametersBuffer
64};65};
65 66
66static const std::string DEFAULT_ALBEDO_SHADER {67static const std::string DEFAULT_ALBEDO_SHADER {
@@ -139,13 +140,11 @@ static const std::string DEFAULT_LIGHTING_SHADER { · 72 unmodified lines
139 " }"140 " }"
140};141};
141 142
142static const std::string DEFAULT_SHADOW_SHADER{143static const std::string DEFAULT_SHADOW_DEPTH_SHADER{
143 "uniform sampler2DArrayShadow shadowMaps;"
144 "uniform int shadowCascadeIndex;"
145 "vec4 getFragmentColor() {"144 "vec4 getFragmentColor() {"
146 " for (int i = 255; i >= 0; --i) {"145 " for (int i = 255; i >= 0; --i) {"
147 " float depth = i / 255.0;"146 " float depth = i / 255.0;"
148 " if (texture(shadowMaps, vec4(uv, shadowCascadeIndex, depth)) > 0.5) {"147 " if (texture(shadowMaps, vec4(uv, parameters._shadowCascadeIndex, depth)) > 0.5) {"
149 " return vec4(vec3(depth), 1.0);"148 " return vec4(vec3(depth), 1.0);"
150 " }"149 " }"
151 " }"150 " }"
@@ -324,7 +323,7 @@ std::string DebugDeferredBuffer::getShaderSourceCode(Mode mode, std::string cust · 172 unmodified lines
324 case ShadowCascade1Mode:323 case ShadowCascade1Mode:
325 case ShadowCascade2Mode:324 case ShadowCascade2Mode:
326 case ShadowCascade3Mode:325 case ShadowCascade3Mode:
327 return DEFAULT_SHADOW_SHADER;326 return DEFAULT_SHADOW_DEPTH_SHADER;
328 case ShadowCascadeIndicesMode:327 case ShadowCascadeIndicesMode:
329 return DEFAULT_SHADOW_CASCADE_SHADER;328 return DEFAULT_SHADOW_CASCADE_SHADER;
330 case LinearDepthMode:329 case LinearDepthMode:
@@ -397,6 +396,7 @@ const gpu::PipelinePointer& DebugDeferredBuffer::getPipeline(Mode mode, std::str · 66 unmodified lines
397 slotBindings.insert(gpu::Shader::Binding("cameraCorrectionBuffer", CameraCorrection));396 slotBindings.insert(gpu::Shader::Binding("cameraCorrectionBuffer", CameraCorrection));
398 slotBindings.insert(gpu::Shader::Binding("deferredFrameTransformBuffer", DeferredFrameTransform));397 slotBindings.insert(gpu::Shader::Binding("deferredFrameTransformBuffer", DeferredFrameTransform));
399 slotBindings.insert(gpu::Shader::Binding("shadowTransformBuffer", ShadowTransform));398 slotBindings.insert(gpu::Shader::Binding("shadowTransformBuffer", ShadowTransform));
399 slotBindings.insert(gpu::Shader::Binding("parametersBuffer", DebugParametersBuffer));
400 400
401 slotBindings.insert(gpu::Shader::Binding("albedoMap", Albedo));401 slotBindings.insert(gpu::Shader::Binding("albedoMap", Albedo));
402 slotBindings.insert(gpu::Shader::Binding("normalMap", Normal));402 slotBindings.insert(gpu::Shader::Binding("normalMap", Normal));
@@ -433,8 +433,11 @@ const gpu::PipelinePointer& DebugDeferredBuffer::getPipeline(Mode mode, std::str · 30 unmodified lines
433}433}
434 434
435void DebugDeferredBuffer::configure(const Config& config) {435void DebugDeferredBuffer::configure(const Config& config) {
436 auto& parameters = _parameters.edit();
437
436 _mode = (Mode)config.mode;438 _mode = (Mode)config.mode;
437 _size = config.size;439 _size = config.size;
440 parameters._shadowCascadeIndex = glm::clamp(_mode - Mode::ShadowCascade0Mode, 0, (int)SHADOW_CASCADE_MAX_COUNT - 1);
438}441}
439 442
440void DebugDeferredBuffer::run(const RenderContextPointer& renderContext, const Inputs& inputs) {443void DebugDeferredBuffer::run(const RenderContextPointer& renderContext, const Inputs& inputs) {
@@ -484,18 +487,15 @@ void DebugDeferredBuffer::run(const RenderContextPointer& renderContext, const I · 43 unmodified lines
484 batch.setResourceTexture(Velocity, velocityFramebuffer->getVelocityTexture());487 batch.setResourceTexture(Velocity, velocityFramebuffer->getVelocityTexture());
485 }488 }
486 489
490 batch.setUniformBuffer(DebugParametersBuffer, _parameters);
491
487 auto lightStage = renderContext->_scene->getStage<LightStage>();492 auto lightStage = renderContext->_scene->getStage<LightStage>();
488 assert(lightStage);493 assert(lightStage);
489 assert(lightStage->getNumLights() > 0);494 assert(lightStage->getNumLights() > 0);
490 auto lightAndShadow = lightStage->getCurrentKeyLightAndShadow();495 auto lightAndShadow = lightStage->getCurrentKeyLightAndShadow();
491 const auto& globalShadow = lightAndShadow.second;496 const auto& globalShadow = lightAndShadow.second;
492 if (globalShadow) {497 if (globalShadow) {
493 const auto cascadeIndex = glm::clamp(_mode - Mode::ShadowCascade0Mode, 0, (int)globalShadow->getCascadeCount() - 1);
494 const auto cascadeIndexLocation = pipeline->getProgram()->getUniforms().findLocation("shadowCascadeIndex");
495 batch.setResourceTexture(Shadow, globalShadow->map);498 batch.setResourceTexture(Shadow, globalShadow->map);
496 if (cascadeIndexLocation >= 0) {
497 batch._glUniform1i(cascadeIndexLocation, cascadeIndex);
498 }
499 batch.setUniformBuffer(ShadowTransform, globalShadow->getBuffer());499 batch.setUniformBuffer(ShadowTransform, globalShadow->getBuffer());
500 batch.setUniformBuffer(DeferredFrameTransform, frameTransform->getFrameTransformBuffer());500 batch.setUniformBuffer(DeferredFrameTransform, frameTransform->getFrameTransformBuffer());
501 }501 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t