Graphics/DepthRenderTechnique: No longer require a viewer
Fixes crash
This commit is contained in:
parent
cb447e4db7
commit
ff5b72b469
|
|
@ -55,7 +55,6 @@ namespace Nz
|
||||||
NazaraSlot(Shader, OnShaderRelease, shaderReleaseSlot);
|
NazaraSlot(Shader, OnShaderRelease, shaderReleaseSlot);
|
||||||
|
|
||||||
// Autre uniformes
|
// Autre uniformes
|
||||||
int eyePosition;
|
|
||||||
int sceneAmbient;
|
int sceneAmbient;
|
||||||
int textureOverlay;
|
int textureOverlay;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -212,8 +212,6 @@ namespace Nz
|
||||||
|
|
||||||
void DepthRenderTechnique::DrawBasicSprites(const SceneData& sceneData, ForwardRenderQueue::Layer& layer) const
|
void DepthRenderTechnique::DrawBasicSprites(const SceneData& sceneData, ForwardRenderQueue::Layer& layer) const
|
||||||
{
|
{
|
||||||
NazaraAssert(sceneData.viewer, "Invalid viewer");
|
|
||||||
|
|
||||||
const Shader* lastShader = nullptr;
|
const Shader* lastShader = nullptr;
|
||||||
const ShaderUniforms* shaderUniforms = nullptr;
|
const ShaderUniforms* shaderUniforms = nullptr;
|
||||||
|
|
||||||
|
|
@ -240,8 +238,6 @@ namespace Nz
|
||||||
|
|
||||||
// Ambiant color of the scene
|
// Ambiant color of the scene
|
||||||
shader->SendColor(shaderUniforms->sceneAmbient, sceneData.ambientColor);
|
shader->SendColor(shaderUniforms->sceneAmbient, sceneData.ambientColor);
|
||||||
// Position of the camera
|
|
||||||
shader->SendVector(shaderUniforms->eyePosition, sceneData.viewer->GetEyePosition());
|
|
||||||
|
|
||||||
lastShader = shader;
|
lastShader = shader;
|
||||||
}
|
}
|
||||||
|
|
@ -330,8 +326,6 @@ namespace Nz
|
||||||
|
|
||||||
void DepthRenderTechnique::DrawBillboards(const SceneData& sceneData, ForwardRenderQueue::Layer& layer) const
|
void DepthRenderTechnique::DrawBillboards(const SceneData& sceneData, ForwardRenderQueue::Layer& layer) const
|
||||||
{
|
{
|
||||||
NazaraAssert(sceneData.viewer, "Invalid viewer");
|
|
||||||
|
|
||||||
const Shader* lastShader = nullptr;
|
const Shader* lastShader = nullptr;
|
||||||
const ShaderUniforms* shaderUniforms = nullptr;
|
const ShaderUniforms* shaderUniforms = nullptr;
|
||||||
|
|
||||||
|
|
@ -361,8 +355,6 @@ namespace Nz
|
||||||
|
|
||||||
// Ambiant color of the scene
|
// Ambiant color of the scene
|
||||||
shader->SendColor(shaderUniforms->sceneAmbient, sceneData.ambientColor);
|
shader->SendColor(shaderUniforms->sceneAmbient, sceneData.ambientColor);
|
||||||
// Position of the camera
|
|
||||||
shader->SendVector(shaderUniforms->eyePosition, sceneData.viewer->GetEyePosition());
|
|
||||||
|
|
||||||
lastShader = shader;
|
lastShader = shader;
|
||||||
}
|
}
|
||||||
|
|
@ -423,8 +415,6 @@ namespace Nz
|
||||||
|
|
||||||
// Ambiant color of the scene
|
// Ambiant color of the scene
|
||||||
shader->SendColor(shaderUniforms->sceneAmbient, sceneData.ambientColor);
|
shader->SendColor(shaderUniforms->sceneAmbient, sceneData.ambientColor);
|
||||||
// Position of the camera
|
|
||||||
shader->SendVector(shaderUniforms->eyePosition, sceneData.viewer->GetEyePosition());
|
|
||||||
|
|
||||||
lastShader = shader;
|
lastShader = shader;
|
||||||
}
|
}
|
||||||
|
|
@ -501,8 +491,6 @@ namespace Nz
|
||||||
|
|
||||||
void DepthRenderTechnique::DrawOpaqueModels(const SceneData& sceneData, ForwardRenderQueue::Layer& layer) const
|
void DepthRenderTechnique::DrawOpaqueModels(const SceneData& sceneData, ForwardRenderQueue::Layer& layer) const
|
||||||
{
|
{
|
||||||
NazaraAssert(sceneData.viewer, "Invalid viewer");
|
|
||||||
|
|
||||||
const Shader* lastShader = nullptr;
|
const Shader* lastShader = nullptr;
|
||||||
const ShaderUniforms* shaderUniforms = nullptr;
|
const ShaderUniforms* shaderUniforms = nullptr;
|
||||||
|
|
||||||
|
|
@ -526,8 +514,6 @@ namespace Nz
|
||||||
|
|
||||||
// Ambiant color of the scene
|
// Ambiant color of the scene
|
||||||
shader->SendColor(shaderUniforms->sceneAmbient, sceneData.ambientColor);
|
shader->SendColor(shaderUniforms->sceneAmbient, sceneData.ambientColor);
|
||||||
// Position of the camera
|
|
||||||
shader->SendVector(shaderUniforms->eyePosition, sceneData.viewer->GetEyePosition());
|
|
||||||
|
|
||||||
lastShader = shader;
|
lastShader = shader;
|
||||||
}
|
}
|
||||||
|
|
@ -641,7 +627,6 @@ namespace Nz
|
||||||
uniforms.shaderReleaseSlot.Connect(shader->OnShaderRelease, this, &DepthRenderTechnique::OnShaderInvalidated);
|
uniforms.shaderReleaseSlot.Connect(shader->OnShaderRelease, this, &DepthRenderTechnique::OnShaderInvalidated);
|
||||||
uniforms.shaderUniformInvalidatedSlot.Connect(shader->OnShaderUniformInvalidated, this, &DepthRenderTechnique::OnShaderInvalidated);
|
uniforms.shaderUniformInvalidatedSlot.Connect(shader->OnShaderUniformInvalidated, this, &DepthRenderTechnique::OnShaderInvalidated);
|
||||||
|
|
||||||
uniforms.eyePosition = shader->GetUniformLocation("EyePosition");
|
|
||||||
uniforms.textureOverlay = shader->GetUniformLocation("TextureOverlay");
|
uniforms.textureOverlay = shader->GetUniformLocation("TextureOverlay");
|
||||||
|
|
||||||
it = m_shaderUniforms.emplace(shader, std::move(uniforms)).first;
|
it = m_shaderUniforms.emplace(shader, std::move(uniforms)).first;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue