Fixed rendering

Resource encoder now store unsigned char instead of signed char


Former-commit-id: 648dd1d55facd40bc37075291782a54cbbc4811f
This commit is contained in:
Lynix 2013-11-26 15:25:43 +01:00
parent a8a0bcf005
commit 0e99205046
7 changed files with 55 additions and 59 deletions

View File

@ -23,9 +23,6 @@ function encodeResources()
headerContent = ""
for i = 1, contentLength do
local b = resourceContent:sub(i, i):byte()
if (b >= 128) then
b = b - 256
end
headerContent = headerContent .. string.format("%d,", b)
end

View File

@ -26,7 +26,7 @@ namespace
{
NzShaderProgram* BuildClearProgram()
{
const char fragmentSource[] = {
const nzUInt8 fragmentSource[] = {
#include <Nazara/Graphics/Resources/DeferredShading/Shaders/ClearGBuffer.frag.h>
};
@ -44,7 +44,7 @@ namespace
std::unique_ptr<NzShaderProgram> program(new NzShaderProgram(nzShaderLanguage_GLSL));
program->SetPersistent(false);
if (!program->LoadShader(nzShaderType_Fragment, NzString(fragmentSource, sizeof(fragmentSource))))
if (!program->LoadShader(nzShaderType_Fragment, NzString(reinterpret_cast<const char*>(fragmentSource), sizeof(fragmentSource))))
{
NazaraError("Failed to load fragment shader");
return nullptr;
@ -67,7 +67,7 @@ namespace
NzShaderProgram* BuildDirectionalLightProgram()
{
const char fragmentSource[] = {
const nzUInt8 fragmentSource[] = {
#include <Nazara/Graphics/Resources/DeferredShading/Shaders/DirectionalLight.frag.h>
};
@ -85,7 +85,7 @@ namespace
std::unique_ptr<NzShaderProgram> program(new NzShaderProgram(nzShaderLanguage_GLSL));
program->SetPersistent(false);
if (!program->LoadShader(nzShaderType_Fragment, NzString(fragmentSource, sizeof(fragmentSource))))
if (!program->LoadShader(nzShaderType_Fragment, NzString(reinterpret_cast<const char*>(fragmentSource), sizeof(fragmentSource))))
{
NazaraError("Failed to load fragment shader");
return nullptr;
@ -112,7 +112,7 @@ namespace
NzShaderProgram* BuildPointLightProgram()
{
const char fragmentSource[] = {
const nzUInt8 fragmentSource[] = {
#include <Nazara/Graphics/Resources/DeferredShading/Shaders/PointLight.frag.h>
};
@ -132,7 +132,7 @@ namespace
std::unique_ptr<NzShaderProgram> program(new NzShaderProgram(nzShaderLanguage_GLSL));
program->SetPersistent(false);
if (!program->LoadShader(nzShaderType_Fragment, NzString(fragmentSource, sizeof(fragmentSource))))
if (!program->LoadShader(nzShaderType_Fragment, NzString(reinterpret_cast<const char*>(fragmentSource), sizeof(fragmentSource))))
{
NazaraError("Failed to load fragment shader");
return nullptr;
@ -159,7 +159,7 @@ namespace
NzShaderProgram* BuildSpotLightProgram()
{
const char fragmentSource[] = {
const nzUInt8 fragmentSource[] = {
#include <Nazara/Graphics/Resources/DeferredShading/Shaders/SpotLight.frag.h>
};
@ -179,7 +179,7 @@ namespace
std::unique_ptr<NzShaderProgram> program(new NzShaderProgram(nzShaderLanguage_GLSL));
program->SetPersistent(false);
if (!program->LoadShader(nzShaderType_Fragment, NzString(fragmentSource, sizeof(fragmentSource))))
if (!program->LoadShader(nzShaderType_Fragment, NzString(reinterpret_cast<const char*>(fragmentSource), sizeof(fragmentSource))))
{
NazaraError("Failed to load fragment shader");
return nullptr;
@ -206,7 +206,7 @@ namespace
NzShaderProgram* BuildBloomBrightProgram()
{
const char fragmentSource[] = {
const nzUInt8 fragmentSource[] = {
#include <Nazara/Graphics/Resources/DeferredShading/Shaders/BloomBright.frag.h>
};
@ -224,7 +224,7 @@ namespace
std::unique_ptr<NzShaderProgram> program(new NzShaderProgram(nzShaderLanguage_GLSL));
program->SetPersistent(false);
if (!program->LoadShader(nzShaderType_Fragment, NzString(fragmentSource, sizeof(fragmentSource))))
if (!program->LoadShader(nzShaderType_Fragment, NzString(reinterpret_cast<const char*>(fragmentSource), sizeof(fragmentSource))))
{
NazaraError("Failed to load fragment shader");
return nullptr;
@ -249,7 +249,7 @@ namespace
NzShaderProgram* BuildGaussianBlurProgram()
{
const char fragmentSource[] = {
const nzUInt8 fragmentSource[] = {
#include <Nazara/Graphics/Resources/DeferredShading/Shaders/GaussianBlur.frag.h>
};
@ -267,7 +267,7 @@ namespace
std::unique_ptr<NzShaderProgram> program(new NzShaderProgram(nzShaderLanguage_GLSL));
program->SetPersistent(false);
if (!program->LoadShader(nzShaderType_Fragment, NzString(fragmentSource, sizeof(fragmentSource))))
if (!program->LoadShader(nzShaderType_Fragment, NzString(reinterpret_cast<const char*>(fragmentSource), sizeof(fragmentSource))))
{
NazaraError("Failed to load fragment shader");
return nullptr;
@ -292,7 +292,7 @@ namespace
NzShaderProgram* BuildBloomFinalProgram()
{
const char fragmentSource[] = {
const nzUInt8 fragmentSource[] = {
#include <Nazara/Graphics/Resources/DeferredShading/Shaders/BloomFinal.frag.h>
};
@ -310,7 +310,7 @@ namespace
std::unique_ptr<NzShaderProgram> program(new NzShaderProgram(nzShaderLanguage_GLSL));
program->SetPersistent(false);
if (!program->LoadShader(nzShaderType_Fragment, NzString(fragmentSource, sizeof(fragmentSource))))
if (!program->LoadShader(nzShaderType_Fragment, NzString(reinterpret_cast<const char*>(fragmentSource), sizeof(fragmentSource))))
{
NazaraError("Failed to load fragment shader");
return nullptr;
@ -336,7 +336,7 @@ namespace
NzShaderProgram* BuildAAProgram()
{
const char fragmentSource[] = {
const nzUInt8 fragmentSource[] = {
#include <Nazara/Graphics/Resources/DeferredShading/Shaders/FXAA.frag.h>
};
@ -354,7 +354,7 @@ namespace
std::unique_ptr<NzShaderProgram> program(new NzShaderProgram(nzShaderLanguage_GLSL));
program->SetPersistent(false);
if (!program->LoadShader(nzShaderType_Fragment, NzString(fragmentSource, sizeof(fragmentSource))))
if (!program->LoadShader(nzShaderType_Fragment, NzString(reinterpret_cast<const char*>(fragmentSource), sizeof(fragmentSource))))
{
NazaraError("Failed to load fragment shader");
return nullptr;
@ -380,7 +380,7 @@ namespace
NzShaderProgram* BuildSSAOProgram()
{
const char fragmentSource[] = {
const nzUInt8 fragmentSource[] = {
#include <Nazara/Graphics/Resources/DeferredShading/Shaders/SSAO.frag.h>
};
@ -398,7 +398,7 @@ namespace
std::unique_ptr<NzShaderProgram> program(new NzShaderProgram(nzShaderLanguage_GLSL));
program->SetPersistent(false);
if (!program->LoadShader(nzShaderType_Fragment, NzString(fragmentSource, sizeof(fragmentSource))))
if (!program->LoadShader(nzShaderType_Fragment, NzString(reinterpret_cast<const char*>(fragmentSource), sizeof(fragmentSource))))
{
NazaraError("Failed to load fragment shader");
return nullptr;
@ -424,7 +424,7 @@ namespace
NzShaderProgram* BuildSSAOFinalProgram()
{
const char fragmentSource[] = {
const nzUInt8 fragmentSource[] = {
#include <Nazara/Graphics/Resources/DeferredShading/Shaders/SSAOFinal.frag.h>
};
@ -442,7 +442,7 @@ namespace
std::unique_ptr<NzShaderProgram> program(new NzShaderProgram(nzShaderLanguage_GLSL));
program->SetPersistent(false);
if (!program->LoadShader(nzShaderType_Fragment, NzString(fragmentSource, sizeof(fragmentSource))))
if (!program->LoadShader(nzShaderType_Fragment, NzString(reinterpret_cast<const char*>(fragmentSource), sizeof(fragmentSource))))
{
NazaraError("Failed to load fragment shader");
return nullptr;
@ -546,7 +546,7 @@ namespace
NzShaderProgram* BuildBlitProgram()
{
const char fragmentSource[] = {
const nzUInt8 fragmentSource[] = {
#include <Nazara/Graphics/Resources/DeferredShading/Shaders/Blit.frag.h>
};
@ -564,7 +564,7 @@ namespace
std::unique_ptr<NzShaderProgram> program(new NzShaderProgram(nzShaderLanguage_GLSL));
program->SetPersistent(false);
if (!program->LoadShader(nzShaderType_Fragment, NzString(fragmentSource, sizeof(fragmentSource))))
if (!program->LoadShader(nzShaderType_Fragment, NzString(reinterpret_cast<const char*>(fragmentSource), sizeof(fragmentSource))))
{
NazaraError("Failed to load fragment shader");
return nullptr;
@ -664,7 +664,7 @@ m_texturesUpdated(false)
m_ssaoNoiseTexture->Create(nzImageType_2D, nzPixelFormat_RG8, 4, 4);
m_ssaoNoiseTexture->Update(&noiseData[0]);*/
const char noiseTexture[] = {
const nzUInt8 noiseTexture[] = {
#include <Nazara/Graphics/Resources/DeferredShading/Textures/ssaoNoise.jpg.h>
};
@ -890,7 +890,7 @@ bool NzDeferredRenderTechnique::Draw(const NzScene* scene)
NzRenderer::SetShaderProgram(m_bloomBrightProgram);
NzRenderer::SetTexture(0, m_workTextureA);
NzRenderer::SetTexture(0, m_workTextureB);
NzRenderer::DrawFullscreenQuad();
NzRenderer::SetTarget(&m_bloomRTT);
@ -905,7 +905,7 @@ bool NzDeferredRenderTechnique::Draw(const NzScene* scene)
m_gaussianBlurProgram->SendVector(m_gaussianBlurProgramFilterLocation, NzVector2f(1.f, 0.f));
NzRenderer::SetTexture(0, (i == 0) ? m_workTextureB : m_bloomTextureB);
NzRenderer::SetTexture(0, (i == 0) ? m_workTextureA : m_bloomTextureB);
NzRenderer::DrawFullscreenQuad();
m_bloomRTT.SetColorTarget(1); // bloomTextureB
@ -918,7 +918,7 @@ bool NzDeferredRenderTechnique::Draw(const NzScene* scene)
NzRenderer::SetTarget(&m_geometryRTT);
NzRenderer::SetViewport(NzRecti(0, 0, m_GBufferSize.x, m_GBufferSize.y));
m_geometryRTT.SetColorTarget(4); // workTextureA
m_geometryRTT.SetColorTarget(5); // workTextureB
NzRenderer::SetShaderProgram(m_bloomFinalProgram);
NzRenderer::SetTexture(0, m_workTextureB);
@ -968,7 +968,7 @@ bool NzDeferredRenderTechnique::Draw(const NzScene* scene)
NzRenderer::SetRenderStates(states);
NzRenderer::SetShaderProgram(m_blitProgram);
NzRenderer::SetTexture(0, m_workTextureA);
NzRenderer::SetTexture(0, m_workTextureB);
NzRenderer::SetTextureSampler(0, m_pointSampler);
NzRenderer::DrawFullscreenQuad();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -214,18 +214,17 @@ NzString NzShaderProgramManager::BuildFragmentCode(const NzShaderProgramManagerP
{
case nzShaderTarget_FullscreenQuad:
{
const char coreFragmentShader[] = {
const nzUInt8 coreFragmentShader[] = {
#include <Nazara/Renderer/Resources/Shaders/FullscreenQuad/core.frag.h>
};
const char compatibilityFragmentShader[] = {
const nzUInt8 compatibilityFragmentShader[] = {
#include <Nazara/Renderer/Resources/Shaders/FullscreenQuad/compatibility.frag.h>
};
const char* shaderSource = (s_glsl140) ? coreFragmentShader : compatibilityFragmentShader;
const char* shaderSource = reinterpret_cast<const char*>((s_glsl140) ? coreFragmentShader : compatibilityFragmentShader);
unsigned int shaderSourceSize = (s_glsl140) ? sizeof(coreFragmentShader) : sizeof(compatibilityFragmentShader);
source.Reserve(source.GetCapacity() + 34 + 24 + 21 + 26 + 1 + shaderSourceSize);
// "discard" ne s'entend pas bien avec les early fragment tests
@ -252,15 +251,15 @@ NzString NzShaderProgramManager::BuildFragmentCode(const NzShaderProgramManagerP
case nzShaderTarget_Model:
{
const char coreFragmentShader[] = {
const nzUInt8 coreFragmentShader[] = {
#include <Nazara/Renderer/Resources/Shaders/Model/core.frag.h>
};
const char compatibilityFragmentShader[] = {
const nzUInt8 compatibilityFragmentShader[] = {
#include <Nazara/Renderer/Resources/Shaders/Model/compatibility.frag.h>
};
const char* shaderSource = (s_glsl140) ? coreFragmentShader : compatibilityFragmentShader;
const char* shaderSource = reinterpret_cast<const char*>((s_glsl140) ? coreFragmentShader : compatibilityFragmentShader);
unsigned int shaderSourceSize = (s_glsl140) ? sizeof(coreFragmentShader) : sizeof(compatibilityFragmentShader);
source.Reserve(source.GetCapacity() + 34 + 24 + 21 + 26 + 27 + 19 + 25 + 27 + 27 + 1 + shaderSourceSize);
@ -308,15 +307,15 @@ NzString NzShaderProgramManager::BuildFragmentCode(const NzShaderProgramManagerP
case nzShaderTarget_None:
{
const char coreFragmentShader[] = {
const nzUInt8 coreFragmentShader[] = {
#include <Nazara/Renderer/Resources/Shaders/None/core.frag.h>
};
const char compatibilityFragmentShader[] = {
const nzUInt8 compatibilityFragmentShader[] = {
#include <Nazara/Renderer/Resources/Shaders/None/compatibility.frag.h>
};
const char* shaderSource = (s_glsl140) ? coreFragmentShader : compatibilityFragmentShader;
const char* shaderSource = reinterpret_cast<const char*>((s_glsl140) ? coreFragmentShader : compatibilityFragmentShader);
unsigned int shaderSourceSize = (s_glsl140) ? sizeof(coreFragmentShader) : sizeof(compatibilityFragmentShader);
source.Reserve(source.GetCapacity() + 34 + shaderSourceSize);
@ -330,15 +329,15 @@ NzString NzShaderProgramManager::BuildFragmentCode(const NzShaderProgramManagerP
case nzShaderTarget_Sprite:
{
const char coreFragmentShader[] = {
const nzUInt8 coreFragmentShader[] = {
#include <Nazara/Renderer/Resources/Shaders/Sprite/core.frag.h>
};
const char compatibilityFragmentShader[] = {
const nzUInt8 compatibilityFragmentShader[] = {
#include <Nazara/Renderer/Resources/Shaders/Sprite/compatibility.frag.h>
};
const char* shaderSource = (s_glsl140) ? coreFragmentShader : compatibilityFragmentShader;
const char* shaderSource = reinterpret_cast<const char*>((s_glsl140) ? coreFragmentShader : compatibilityFragmentShader);
unsigned int shaderSourceSize = (s_glsl140) ? sizeof(coreFragmentShader) : sizeof(compatibilityFragmentShader);
source.Reserve(source.GetCapacity() + 34 + 24 + 21 + 26 + 1 + shaderSourceSize);
@ -405,15 +404,15 @@ NzString NzShaderProgramManager::BuildVertexCode(const NzShaderProgramManagerPar
{
case nzShaderTarget_FullscreenQuad:
{
const char coreVertexShader[] = {
const nzUInt8 coreVertexShader[] = {
#include <Nazara/Renderer/Resources/Shaders/FullscreenQuad/core.vert.h>
};
const char compatibilityVertexShader[] = {
const nzUInt8 compatibilityVertexShader[] = {
#include <Nazara/Renderer/Resources/Shaders/FullscreenQuad/compatibility.vert.h>
};
const char* shaderSource = (s_glsl140) ? coreVertexShader : compatibilityVertexShader;
const char* shaderSource = reinterpret_cast<const char*>((s_glsl140) ? coreVertexShader : compatibilityVertexShader);
unsigned int shaderSourceSize = (s_glsl140) ? sizeof(coreVertexShader) : sizeof(compatibilityVertexShader);
source.Reserve(source.GetCapacity() + 24 + 21 + 26 + 1 + shaderSourceSize);
@ -438,15 +437,15 @@ NzString NzShaderProgramManager::BuildVertexCode(const NzShaderProgramManagerPar
case nzShaderTarget_Model:
{
const char coreVertexShader[] = {
const nzUInt8 coreVertexShader[] = {
#include <Nazara/Renderer/Resources/Shaders/Model/core.vert.h>
};
const char compatibilityVertexShader[] = {
const nzUInt8 compatibilityVertexShader[] = {
#include <Nazara/Renderer/Resources/Shaders/Model/compatibility.vert.h>
};
const char* shaderSource = (s_glsl140) ? coreVertexShader : compatibilityVertexShader;
const char* shaderSource = reinterpret_cast<const char*>((s_glsl140) ? coreVertexShader : compatibilityVertexShader);
unsigned int shaderSourceSize = (s_glsl140) ? sizeof(coreVertexShader) : sizeof(compatibilityVertexShader);
source.Reserve(source.GetCapacity() + 24 + 21 + 26 + 27 + 19 + 25 + 27 + 27 + 1 + shaderSourceSize);
@ -491,15 +490,15 @@ NzString NzShaderProgramManager::BuildVertexCode(const NzShaderProgramManagerPar
case nzShaderTarget_None:
{
const char coreVertexShader[] = {
const nzUInt8 coreVertexShader[] = {
#include <Nazara/Renderer/Resources/Shaders/None/core.vert.h>
};
const char compatibilityVertexShader[] = {
const nzUInt8 compatibilityVertexShader[] = {
#include <Nazara/Renderer/Resources/Shaders/None/compatibility.vert.h>
};
const char* shaderSource = (s_glsl140) ? coreVertexShader : compatibilityVertexShader;
const char* shaderSource = reinterpret_cast<const char*>((s_glsl140) ? coreVertexShader : compatibilityVertexShader);
unsigned int shaderSourceSize = (s_glsl140) ? sizeof(coreVertexShader) : sizeof(compatibilityVertexShader);
source.Append(shaderSource, shaderSourceSize);
@ -508,15 +507,15 @@ NzString NzShaderProgramManager::BuildVertexCode(const NzShaderProgramManagerPar
case nzShaderTarget_Sprite:
{
const char coreVertexShader[] = {
const nzUInt8 coreVertexShader[] = {
#include <Nazara/Renderer/Resources/Shaders/Sprite/core.vert.h>
};
const char compatibilityVertexShader[] = {
const nzUInt8 compatibilityVertexShader[] = {
#include <Nazara/Renderer/Resources/Shaders/Sprite/compatibility.vert.h>
};
const char* shaderSource = (s_glsl140) ? coreVertexShader : compatibilityVertexShader;
const char* shaderSource = reinterpret_cast<const char*>((s_glsl140) ? coreVertexShader : compatibilityVertexShader);
unsigned int shaderSourceSize = (s_glsl140) ? sizeof(coreVertexShader) : sizeof(compatibilityVertexShader);
source.Reserve(source.GetCapacity() + 24 + 21 + 26 + 1 + shaderSourceSize);