From 47fa5dc7311f62e2cef79a879c06fadd09fd4266 Mon Sep 17 00:00:00 2001 From: Lynix Date: Mon, 19 Jan 2015 20:34:09 +0100 Subject: [PATCH] Moved resources includes to the top of the implementations Former-commit-id: 788a62f66aa47fe76e32ef0b76e9e962b1c5f2e6 --- .../Graphics/DeferredRenderTechnique.cpp | 70 +++++++++---------- src/Nazara/Graphics/Material.cpp | 43 ++++++------ src/Nazara/Graphics/ParticleSystem.cpp | 2 +- src/Nazara/Renderer/Renderer.cpp | 48 ++++++------- 4 files changed, 83 insertions(+), 80 deletions(-) diff --git a/src/Nazara/Graphics/DeferredRenderTechnique.cpp b/src/Nazara/Graphics/DeferredRenderTechnique.cpp index 042af5c81..d05b39fe7 100644 --- a/src/Nazara/Graphics/DeferredRenderTechnique.cpp +++ b/src/Nazara/Graphics/DeferredRenderTechnique.cpp @@ -35,6 +35,34 @@ namespace { + const nzUInt8 r_fragmentSource_BloomBright[] = { + #include + }; + + const nzUInt8 r_fragmentSource_BloomFinal[] = { + #include + }; + + const nzUInt8 r_fragmentSource_DirectionalLight[] = { + #include + }; + + const nzUInt8 r_fragmentSource_FXAA[] = { + #include + }; + + const nzUInt8 r_fragmentSource_GBufferClear[] = { + #include + }; + + const nzUInt8 r_fragmentSource_GaussianBlur[] = { + #include + }; + + const nzUInt8 r_fragmentSource_PointSpotLight[] = { + #include + }; + unsigned int RenderPassPriority[] = { 6, // nzRenderPassType_AA @@ -412,34 +440,6 @@ bool NzDeferredRenderTechnique::Resize(const NzVector2ui& dimensions) const bool NzDeferredRenderTechnique::Initialize() { - const nzUInt8 fragmentSource_BloomBright[] = { - #include - }; - - const nzUInt8 fragmentSource_BloomFinal[] = { - #include - }; - - const nzUInt8 fragmentSource_DirectionalLight[] = { - #include - }; - - const nzUInt8 fragmentSource_FXAA[] = { - #include - }; - - const nzUInt8 fragmentSource_GBufferClear[] = { - #include - }; - - const nzUInt8 fragmentSource_GaussianBlur[] = { - #include - }; - - const nzUInt8 fragmentSource_PointSpotLight[] = { - #include - }; - const char vertexSource_Basic[] = "#version 140\n" @@ -497,7 +497,7 @@ bool NzDeferredRenderTechnique::Initialize() NzShader* shader; // Shaders critiques (Nécessaires pour le Deferred Shading minimal) - shader = RegisterDeferredShader("DeferredGBufferClear", fragmentSource_GBufferClear, sizeof(fragmentSource_GBufferClear), ppVertexStage, &error); + shader = RegisterDeferredShader("DeferredGBufferClear", r_fragmentSource_GBufferClear, sizeof(r_fragmentSource_GBufferClear), ppVertexStage, &error); if (!shader) { NazaraError("Failed to register critical shader: " + error); @@ -505,7 +505,7 @@ bool NzDeferredRenderTechnique::Initialize() } - shader = RegisterDeferredShader("DeferredDirectionnalLight", fragmentSource_DirectionalLight, sizeof(fragmentSource_DirectionalLight), ppVertexStage, &error); + shader = RegisterDeferredShader("DeferredDirectionnalLight", r_fragmentSource_DirectionalLight, sizeof(r_fragmentSource_DirectionalLight), ppVertexStage, &error); if (!shader) { NazaraError("Failed to register critical shader: " + error); @@ -517,7 +517,7 @@ bool NzDeferredRenderTechnique::Initialize() shader->SendInteger(shader->GetUniformLocation("GBuffer2"), 2); - shader = RegisterDeferredShader("DeferredPointSpotLight", fragmentSource_PointSpotLight, sizeof(fragmentSource_PointSpotLight), basicVertexStage, &error); + shader = RegisterDeferredShader("DeferredPointSpotLight", r_fragmentSource_PointSpotLight, sizeof(r_fragmentSource_PointSpotLight), basicVertexStage, &error); if (!shader) { NazaraError("Failed to register critical shader: " + error); @@ -530,7 +530,7 @@ bool NzDeferredRenderTechnique::Initialize() // Shaders optionnels (S'ils ne sont pas présents, le rendu minimal sera quand même assuré) - shader = RegisterDeferredShader("DeferredBloomBright", fragmentSource_BloomBright, sizeof(fragmentSource_BloomBright), ppVertexStage, &error); + shader = RegisterDeferredShader("DeferredBloomBright", r_fragmentSource_BloomBright, sizeof(r_fragmentSource_BloomBright), ppVertexStage, &error); if (shader) shader->SendInteger(shader->GetUniformLocation("ColorTexture"), 0); else @@ -539,7 +539,7 @@ bool NzDeferredRenderTechnique::Initialize() } - shader = RegisterDeferredShader("DeferredBloomFinal", fragmentSource_BloomFinal, sizeof(fragmentSource_BloomFinal), ppVertexStage, &error); + shader = RegisterDeferredShader("DeferredBloomFinal", r_fragmentSource_BloomFinal, sizeof(r_fragmentSource_BloomFinal), ppVertexStage, &error); if (shader) { shader->SendInteger(shader->GetUniformLocation("ColorTexture"), 0); @@ -551,7 +551,7 @@ bool NzDeferredRenderTechnique::Initialize() } - shader = RegisterDeferredShader("DeferredFXAA", fragmentSource_FXAA, sizeof(fragmentSource_FXAA), ppVertexStage, &error); + shader = RegisterDeferredShader("DeferredFXAA", r_fragmentSource_FXAA, sizeof(r_fragmentSource_FXAA), ppVertexStage, &error); if (shader) shader->SendInteger(shader->GetUniformLocation("ColorTexture"), 0); else @@ -560,7 +560,7 @@ bool NzDeferredRenderTechnique::Initialize() } - shader = RegisterDeferredShader("DeferredGaussianBlur", fragmentSource_GaussianBlur, sizeof(fragmentSource_GaussianBlur), ppVertexStage, &error); + shader = RegisterDeferredShader("DeferredGaussianBlur", r_fragmentSource_GaussianBlur, sizeof(r_fragmentSource_GaussianBlur), ppVertexStage, &error); if (shader) shader->SendInteger(shader->GetUniformLocation("ColorTexture"), 0); else diff --git a/src/Nazara/Graphics/Material.cpp b/src/Nazara/Graphics/Material.cpp index 0f7d82b19..c79b4d6d0 100644 --- a/src/Nazara/Graphics/Material.cpp +++ b/src/Nazara/Graphics/Material.cpp @@ -15,6 +15,25 @@ #include #include +namespace +{ + const nzUInt8 r_coreFragmentShader[] = { + #include + }; + + const nzUInt8 r_coreVertexShader[] = { + #include + }; + + const nzUInt8 r_compatibilityFragmentShader[] = { + #include + }; + + const nzUInt8 r_compatibilityVertexShader[] = { + #include + }; +} + bool NzMaterialParams::IsValid() const { if (!NzUberShaderLibrary::Has(shaderName)) @@ -719,29 +738,13 @@ bool NzMaterial::Initialize() NzString vertexShader; if (glsl140) { - const nzUInt8 coreFragmentShader[] = { - #include - }; - - const nzUInt8 coreVertexShader[] = { - #include - }; - - fragmentShader.Set(reinterpret_cast(coreFragmentShader), sizeof(coreFragmentShader)); - vertexShader.Set(reinterpret_cast(coreVertexShader), sizeof(coreVertexShader)); + fragmentShader.Set(reinterpret_cast(r_coreFragmentShader), sizeof(r_coreFragmentShader)); + vertexShader.Set(reinterpret_cast(r_coreVertexShader), sizeof(r_coreVertexShader)); } else { - const nzUInt8 compatibilityFragmentShader[] = { - #include - }; - - const nzUInt8 compatibilityVertexShader[] = { - #include - }; - - fragmentShader.Set(reinterpret_cast(compatibilityFragmentShader), sizeof(compatibilityFragmentShader)); - vertexShader.Set(reinterpret_cast(compatibilityVertexShader), sizeof(compatibilityVertexShader)); + fragmentShader.Set(reinterpret_cast(r_compatibilityFragmentShader), sizeof(r_compatibilityFragmentShader)); + vertexShader.Set(reinterpret_cast(r_compatibilityVertexShader), sizeof(r_compatibilityVertexShader)); } uberShader->SetShader(nzShaderStage_Fragment, fragmentShader, "FLAG_TEXTUREOVERLAY ALPHA_MAPPING ALPHA_TEST AUTO_TEXCOORDS DIFFUSE_MAPPING"); diff --git a/src/Nazara/Graphics/ParticleSystem.cpp b/src/Nazara/Graphics/ParticleSystem.cpp index fbc8cd908..9bde83488 100644 --- a/src/Nazara/Graphics/ParticleSystem.cpp +++ b/src/Nazara/Graphics/ParticleSystem.cpp @@ -279,7 +279,7 @@ void NzParticleSystem::ResizeBuffer() // Histoire de décrire un peu mieux l'erreur en cas d'échec try { - m_buffer.resize(m_maxParticleCount*m_particleSize); + m_buffer.resize(m_maxParticleCount*m_particleSize*2); } catch (const std::exception& e) { diff --git a/src/Nazara/Renderer/Renderer.cpp b/src/Nazara/Renderer/Renderer.cpp index ec806b69c..fff66de22 100644 --- a/src/Nazara/Renderer/Renderer.cpp +++ b/src/Nazara/Renderer/Renderer.cpp @@ -34,6 +34,22 @@ namespace { + const nzUInt8 r_coreFragmentShader[] = { + #include + }; + + const nzUInt8 r_coreVertexShader[] = { + #include + }; + + const nzUInt8 r_compatibilityFragmentShader[] = { + #include + }; + + const nzUInt8 r_compatibilityVertexShader[] = { + #include + }; + enum ResourceType { ResourceType_Context, @@ -876,39 +892,23 @@ bool NzRenderer::Initialize() return false; } - const nzUInt8 coreFragmentShader[] = { - #include - }; - - const nzUInt8 coreVertexShader[] = { - #include - }; - - const nzUInt8 compatibilityFragmentShader[] = { - #include - }; - - const nzUInt8 compatibilityVertexShader[] = { - #include - }; - const char* fragmentShader; const char* vertexShader; unsigned int fragmentShaderLength; unsigned int vertexShaderLength; if (NzOpenGL::GetGLSLVersion() >= 140) { - fragmentShader = reinterpret_cast(coreFragmentShader); - fragmentShaderLength = sizeof(coreFragmentShader); - vertexShader = reinterpret_cast(coreVertexShader); - vertexShaderLength = sizeof(coreVertexShader); + fragmentShader = reinterpret_cast(r_coreFragmentShader); + fragmentShaderLength = sizeof(r_coreFragmentShader); + vertexShader = reinterpret_cast(r_coreVertexShader); + vertexShaderLength = sizeof(r_coreVertexShader); } else { - fragmentShader = reinterpret_cast(compatibilityFragmentShader); - fragmentShaderLength = sizeof(compatibilityFragmentShader); - vertexShader = reinterpret_cast(compatibilityVertexShader); - vertexShaderLength = sizeof(compatibilityVertexShader); + fragmentShader = reinterpret_cast(r_compatibilityFragmentShader); + fragmentShaderLength = sizeof(r_compatibilityFragmentShader); + vertexShader = reinterpret_cast(r_compatibilityVertexShader); + vertexShaderLength = sizeof(r_compatibilityVertexShader); } if (!shader->AttachStageFromSource(nzShaderStage_Fragment, fragmentShader, fragmentShaderLength))