Graphics/SkyboxBackground: Fixes

Former-commit-id: ab45a2efa957e33015e4d8dd57ebc8a5d028798c
This commit is contained in:
Lynix 2015-06-24 00:18:38 +02:00
parent bfa2246ca2
commit eddac5c0b6
2 changed files with 6 additions and 9 deletions

View File

@ -22,6 +22,8 @@ using NzSkyboxBackgroundRef = NzObjectRef<NzSkyboxBackground>;
class NAZARA_GRAPHICS_API NzSkyboxBackground : public NzAbstractBackground class NAZARA_GRAPHICS_API NzSkyboxBackground : public NzAbstractBackground
{ {
friend class NzGraphics;
public: public:
NzSkyboxBackground(NzTextureRef cubemapTexture = NzTextureRef()); NzSkyboxBackground(NzTextureRef cubemapTexture = NzTextureRef());
~NzSkyboxBackground() = default; ~NzSkyboxBackground() = default;
@ -44,9 +46,6 @@ class NAZARA_GRAPHICS_API NzSkyboxBackground : public NzAbstractBackground
NzTextureRef m_texture; NzTextureRef m_texture;
NzTextureSampler m_sampler; NzTextureSampler m_sampler;
NzIndexBufferRef m_indexBuffer;
NzShaderRef m_shader;
NzVertexBufferRef m_vertexBuffer;
}; };
#include <Nazara/Graphics/SkyboxBackground.inl> #include <Nazara/Graphics/SkyboxBackground.inl>

View File

@ -22,10 +22,7 @@ namespace
NzSkyboxBackground::NzSkyboxBackground(NzTextureRef cubemapTexture) NzSkyboxBackground::NzSkyboxBackground(NzTextureRef cubemapTexture)
{ {
m_indexBuffer = s_indexBuffer;
m_sampler.SetWrapMode(nzSamplerWrap_Clamp); // Nécessaire pour ne pas voir les côtés m_sampler.SetWrapMode(nzSamplerWrap_Clamp); // Nécessaire pour ne pas voir les côtés
m_shader = s_shader;
m_vertexBuffer = s_vertexBuffer;
SetTexture(std::move(cubemapTexture)); SetTexture(std::move(cubemapTexture));
} }
@ -35,14 +32,14 @@ void NzSkyboxBackground::Draw(const NzAbstractViewer* viewer) const
NzMatrix4f skyboxMatrix(viewer->GetViewMatrix()); NzMatrix4f skyboxMatrix(viewer->GetViewMatrix());
skyboxMatrix.SetTranslation(NzVector3f::Zero()); skyboxMatrix.SetTranslation(NzVector3f::Zero());
NzRenderer::SetIndexBuffer(m_indexBuffer); NzRenderer::SetIndexBuffer(s_indexBuffer);
NzRenderer::SetMatrix(nzMatrixType_View, skyboxMatrix); NzRenderer::SetMatrix(nzMatrixType_View, skyboxMatrix);
NzRenderer::SetMatrix(nzMatrixType_World, NzMatrix4f::Scale(NzVector3f(viewer->GetZNear()))); NzRenderer::SetMatrix(nzMatrixType_World, NzMatrix4f::Scale(NzVector3f(viewer->GetZNear())));
NzRenderer::SetRenderStates(s_renderStates); NzRenderer::SetRenderStates(s_renderStates);
NzRenderer::SetShader(m_shader); NzRenderer::SetShader(s_shader);
NzRenderer::SetTexture(0, m_texture); NzRenderer::SetTexture(0, m_texture);
NzRenderer::SetTextureSampler(0, m_sampler); NzRenderer::SetTextureSampler(0, m_sampler);
NzRenderer::SetVertexBuffer(m_vertexBuffer); NzRenderer::SetVertexBuffer(s_vertexBuffer);
NzRenderer::DrawIndexedPrimitives(nzPrimitiveMode_TriangleList, 0, 36); NzRenderer::DrawIndexedPrimitives(nzPrimitiveMode_TriangleList, 0, 36);
@ -124,6 +121,7 @@ bool NzSkyboxBackground::Initialize()
// Shader // Shader
NzShaderRef shader = NzShader::New(); NzShaderRef shader = NzShader::New();
shader->Create();
shader->AttachStageFromSource(nzShaderStage_Fragment, fragmentShaderSource); shader->AttachStageFromSource(nzShaderStage_Fragment, fragmentShaderSource);
shader->AttachStageFromSource(nzShaderStage_Vertex, vertexShaderSource); shader->AttachStageFromSource(nzShaderStage_Vertex, vertexShaderSource);
shader->Link(); shader->Link();