mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 09:28:46 +02:00
Fixing crash on exit, deferred debugging tool
This commit is contained in:
parent
ae8f841912
commit
a1a1a03bbc
2 changed files with 31 additions and 27 deletions
|
@ -425,8 +425,11 @@ protected:
|
||||||
return offset == other.offset && size == other.size && buffer == other.buffer;
|
return offset == other.offset && size == other.size && buffer == other.buffer;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
std::array<BufferState, MAX_NUM_UNIFORM_BUFFERS> _buffers;
|
|
||||||
//Buffers _buffers { };
|
// MAX_NUM_UNIFORM_BUFFERS-1 is the max uniform index BATCHES are allowed to set, but
|
||||||
|
// MIN_REQUIRED_UNIFORM_BUFFER_BINDINGS is used here because the backend sets some
|
||||||
|
// internal UBOs for things like camera correction
|
||||||
|
std::array<BufferState, MIN_REQUIRED_UNIFORM_BUFFER_BINDINGS> _buffers;
|
||||||
} _uniform;
|
} _uniform;
|
||||||
|
|
||||||
// Helper function that provides common code
|
// Helper function that provides common code
|
||||||
|
|
|
@ -422,7 +422,6 @@ void DebugDeferredBuffer::run(const RenderContextPointer& renderContext, const I
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
assert(renderContext->args);
|
assert(renderContext->args);
|
||||||
assert(renderContext->args->hasViewFrustum());
|
assert(renderContext->args->hasViewFrustum());
|
||||||
RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->args;
|
||||||
|
@ -465,10 +464,11 @@ void DebugDeferredBuffer::run(const RenderContextPointer& renderContext, const I
|
||||||
batch.setResourceTexture(Textures::DeferredLighting, deferredFramebuffer->getLightingTexture());
|
batch.setResourceTexture(Textures::DeferredLighting, deferredFramebuffer->getLightingTexture());
|
||||||
}
|
}
|
||||||
if (velocityFramebuffer) {
|
if (velocityFramebuffer) {
|
||||||
batch.setResourceTexture(Textures::TaaVelocity, velocityFramebuffer->getVelocityTexture());
|
batch.setResourceTexture(Textures::DebugVelocity, velocityFramebuffer->getVelocityTexture());
|
||||||
}
|
}
|
||||||
|
|
||||||
batch.setUniformBuffer(UBOs:: DebugParametersBuffer, _parameters);
|
// FIXME can't find the corresponding buffer
|
||||||
|
// batch.setUniformBuffer(UBOs:: DebugParametersBuffer, _parameters);
|
||||||
|
|
||||||
auto lightStage = renderContext->_scene->getStage<LightStage>();
|
auto lightStage = renderContext->_scene->getStage<LightStage>();
|
||||||
assert(lightStage);
|
assert(lightStage);
|
||||||
|
@ -482,41 +482,42 @@ void DebugDeferredBuffer::run(const RenderContextPointer& renderContext, const I
|
||||||
}
|
}
|
||||||
|
|
||||||
if (linearDepthTarget) {
|
if (linearDepthTarget) {
|
||||||
batch.setResourceTexture(Textures::LLinearDepth, linearDepthTarget->getLinearDepthTexture());
|
batch.setResourceTexture(Textures::DebugDepth, linearDepthTarget->getLinearDepthTexture());
|
||||||
batch.setResourceTexture(HalfLinearDepth, linearDepthTarget->getHalfLinearDepthTexture());
|
batch.setResourceTexture(Textures::DebugHalfDepth, linearDepthTarget->getHalfLinearDepthTexture());
|
||||||
batch.setResourceTexture(HalfNormal, linearDepthTarget->getHalfNormalTexture());
|
batch.setResourceTexture(Textures::DebugHalfNormal, linearDepthTarget->getHalfNormalTexture());
|
||||||
}
|
}
|
||||||
if (surfaceGeometryFramebuffer) {
|
if (surfaceGeometryFramebuffer) {
|
||||||
batch.setResourceTexture(Curvature, surfaceGeometryFramebuffer->getCurvatureTexture());
|
batch.setResourceTexture(Textures::DeferredCurvature, surfaceGeometryFramebuffer->getCurvatureTexture());
|
||||||
batch.setResourceTexture(DiffusedCurvature, surfaceGeometryFramebuffer->getLowCurvatureTexture());
|
batch.setResourceTexture(Textures::DeferredDiffusedCurvature,
|
||||||
|
surfaceGeometryFramebuffer->getLowCurvatureTexture());
|
||||||
}
|
}
|
||||||
if (ambientOcclusionFramebuffer) {
|
if (ambientOcclusionFramebuffer) {
|
||||||
batch.setResourceTexture(Textures::SsaoOcclusion, ambientOcclusionFramebuffer->getOcclusionTexture());
|
batch.setResourceTexture(Textures::DebugOcclusion, ambientOcclusionFramebuffer->getOcclusionTexture());
|
||||||
batch.setResourceTexture(AmbientOcclusionBlurred, ambientOcclusionFramebuffer->getOcclusionBlurredTexture());
|
batch.setResourceTexture(Textures::DebugOcclusionBlurred,
|
||||||
|
ambientOcclusionFramebuffer->getOcclusionBlurredTexture());
|
||||||
}
|
}
|
||||||
const glm::vec4 color(1.0f, 1.0f, 1.0f, 1.0f);
|
const glm::vec4 color(1.0f, 1.0f, 1.0f, 1.0f);
|
||||||
const glm::vec2 bottomLeft(_size.x, _size.y);
|
const glm::vec2 bottomLeft(_size.x, _size.y);
|
||||||
const glm::vec2 topRight(_size.z, _size.w);
|
const glm::vec2 topRight(_size.z, _size.w);
|
||||||
geometryBuffer->renderQuad(batch, bottomLeft, topRight, color, _geometryId);
|
geometryBuffer->renderQuad(batch, bottomLeft, topRight, color, _geometryId);
|
||||||
|
|
||||||
batch.setResourceTexture(Albedo, nullptr);
|
batch.setResourceTexture(Textures::DeferredColor, nullptr);
|
||||||
batch.setResourceTexture(Normal, nullptr);
|
batch.setResourceTexture(Textures::DeferredNormal, nullptr);
|
||||||
batch.setResourceTexture(Specular, nullptr);
|
batch.setResourceTexture(Textures::DeferredSpecular, nullptr);
|
||||||
batch.setResourceTexture(Depth, nullptr);
|
batch.setResourceTexture(Textures::DeferredDepth, nullptr);
|
||||||
batch.setResourceTexture(Lighting, nullptr);
|
batch.setResourceTexture(Textures::DeferredLighting, nullptr);
|
||||||
batch.setResourceTexture(Shadow, nullptr);
|
batch.setResourceTexture(Textures::Shadow, nullptr);
|
||||||
batch.setResourceTexture(LinearDepth, nullptr);
|
batch.setResourceTexture(Textures::DebugDepth, nullptr);
|
||||||
batch.setResourceTexture(HalfLinearDepth, nullptr);
|
batch.setResourceTexture(Textures::DebugHalfDepth, nullptr);
|
||||||
batch.setResourceTexture(HalfNormal, nullptr);
|
batch.setResourceTexture(Textures::DebugHalfNormal, nullptr);
|
||||||
|
|
||||||
batch.setResourceTexture(Curvature, nullptr);
|
batch.setResourceTexture(Textures::DeferredCurvature, nullptr);
|
||||||
batch.setResourceTexture(DiffusedCurvature, nullptr);
|
batch.setResourceTexture(Textures::DeferredDiffusedCurvature, nullptr);
|
||||||
|
|
||||||
batch.setResourceTexture(AmbientOcclusion, nullptr);
|
batch.setResourceTexture(Textures::DebugOcclusion, nullptr);
|
||||||
batch.setResourceTexture(AmbientOcclusionBlurred, nullptr);
|
batch.setResourceTexture(Textures::DebugOcclusionBlurred, nullptr);
|
||||||
|
|
||||||
batch.setResourceTexture(Velocity, nullptr);
|
batch.setResourceTexture(Textures::DebugVelocity, nullptr);
|
||||||
|
|
||||||
});
|
});
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue