Ability to enable and disable the ShadowMapping

This commit is contained in:
Alexander Bock
2016-09-07 10:35:05 +02:00
parent e3d5a9ca38
commit 3785d30ff6
4 changed files with 54 additions and 37 deletions
@@ -264,16 +264,18 @@ void RenderableModelProjection::update(const UpdateData& data) {
void RenderableModelProjection::imageProjectGPU(
std::shared_ptr<ghoul::opengl::Texture> projectionTexture)
{
_projectionComponent.depthMapRenderBegin();
_depthFboProgramObject->activate();
_depthFboProgramObject->setUniform("ProjectorMatrix", _projectorMatrix);
_depthFboProgramObject->setUniform("ModelTransform", _transform);
_geometry->setUniforms(*_fboProgramObject);
if (_projectionComponent.needsShadowMap()) {
_projectionComponent.depthMapRenderBegin();
_depthFboProgramObject->activate();
_depthFboProgramObject->setUniform("ProjectorMatrix", _projectorMatrix);
_depthFboProgramObject->setUniform("ModelTransform", _transform);
_geometry->setUniforms(*_fboProgramObject);
_geometry->render();
_geometry->render();
_depthFboProgramObject->deactivate();
_projectionComponent.depthMapRenderEnd();
_depthFboProgramObject->deactivate();
_projectionComponent.depthMapRenderEnd();
}
_projectionComponent.imageProjectBegin();
_fboProgramObject->activate();
@@ -288,10 +290,6 @@ void RenderableModelProjection::imageProjectGPU(
_projectionComponent.depthTexture().bind();
_fboProgramObject->setUniform("depthTexture", unitDepthFbo);
glm::vec4 debugVector(0.0, 0.0, 0.0, 1.0);
glm::vec4 debugTransformed = _projectorMatrix * _transform * debugVector;
debugTransformed /= debugTransformed.w;
_fboProgramObject->setUniform("ProjectorMatrix", _projectorMatrix);
_fboProgramObject->setUniform("ModelTransform", _transform);
_fboProgramObject->setUniform("boresight", _boresight);