Fixed some shader flags not compiling
Former-commit-id: 4ae22cf904044b453247b78179083483efebdaf5
This commit is contained in:
parent
086408f95f
commit
c280457196
|
|
@ -19,6 +19,7 @@ namespace
|
||||||
{
|
{
|
||||||
bool glsl140 = (NzOpenGL::GetVersion() >= 310);
|
bool glsl140 = (NzOpenGL::GetVersion() >= 310);
|
||||||
//bool useMRT = (glsl140 && NzRenderer::HasCapability(nzRendererCap_MultipleRenderTargets));
|
//bool useMRT = (glsl140 && NzRenderer::HasCapability(nzRendererCap_MultipleRenderTargets));
|
||||||
|
bool uvMapping = (flags & nzShaderFlags_DiffuseMapping || flags & nzShaderFlags_NormalMapping || flags & nzShaderFlags_SpecularMapping);
|
||||||
|
|
||||||
NzString inKW = (glsl140) ? "in" : "varying";
|
NzString inKW = (glsl140) ? "in" : "varying";
|
||||||
NzString fragmentColorKW = (glsl140) ? "RenderTarget0" : "gl_FragColor";
|
NzString fragmentColorKW = (glsl140) ? "RenderTarget0" : "gl_FragColor";
|
||||||
|
|
@ -102,7 +103,7 @@ namespace
|
||||||
sourceCode += inKW + " vec3 vNormal;\n";
|
sourceCode += inKW + " vec3 vNormal;\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & nzShaderFlags_DiffuseMapping || flags & nzShaderFlags_NormalMapping)
|
if (uvMapping)
|
||||||
sourceCode += inKW + " vec2 vTexCoord;\n";
|
sourceCode += inKW + " vec2 vTexCoord;\n";
|
||||||
|
|
||||||
if (flags & nzShaderFlags_Lighting)
|
if (flags & nzShaderFlags_Lighting)
|
||||||
|
|
@ -286,6 +287,7 @@ namespace
|
||||||
NzString BuildVertexShaderSource(nzUInt32 flags)
|
NzString BuildVertexShaderSource(nzUInt32 flags)
|
||||||
{
|
{
|
||||||
bool glsl140 = (NzOpenGL::GetVersion() >= 310);
|
bool glsl140 = (NzOpenGL::GetVersion() >= 310);
|
||||||
|
bool uvMapping = (flags & nzShaderFlags_DiffuseMapping || flags & nzShaderFlags_NormalMapping || flags & nzShaderFlags_SpecularMapping);
|
||||||
|
|
||||||
NzString inKW = (glsl140) ? "in" : "attribute";
|
NzString inKW = (glsl140) ? "in" : "attribute";
|
||||||
NzString outKW = (glsl140) ? "out" : "varying";
|
NzString outKW = (glsl140) ? "out" : "varying";
|
||||||
|
|
@ -327,7 +329,7 @@ namespace
|
||||||
sourceCode += inKW + " vec3 VertexTangent;\n";
|
sourceCode += inKW + " vec3 VertexTangent;\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & nzShaderFlags_DiffuseMapping)
|
if (uvMapping)
|
||||||
sourceCode += inKW + " vec2 VertexTexCoord0;\n";
|
sourceCode += inKW + " vec2 VertexTexCoord0;\n";
|
||||||
|
|
||||||
sourceCode += '\n';
|
sourceCode += '\n';
|
||||||
|
|
@ -341,7 +343,7 @@ namespace
|
||||||
sourceCode += outKW + " vec3 vNormal;\n";
|
sourceCode += outKW + " vec3 vNormal;\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & nzShaderFlags_DiffuseMapping || flags & nzShaderFlags_NormalMapping)
|
if (uvMapping)
|
||||||
sourceCode += outKW + " vec2 vTexCoord;\n";
|
sourceCode += outKW + " vec2 vTexCoord;\n";
|
||||||
|
|
||||||
if (flags & nzShaderFlags_Lighting)
|
if (flags & nzShaderFlags_Lighting)
|
||||||
|
|
@ -388,7 +390,7 @@ namespace
|
||||||
sourceCode += "vNormal = normalize(rotationMatrix * VertexNormal);\n";
|
sourceCode += "vNormal = normalize(rotationMatrix * VertexNormal);\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & nzShaderFlags_DiffuseMapping || flags & nzShaderFlags_NormalMapping || flags & nzShaderFlags_SpecularMapping)
|
if (uvMapping)
|
||||||
{
|
{
|
||||||
if (flags & nzShaderFlags_FlipUVs)
|
if (flags & nzShaderFlags_FlipUVs)
|
||||||
sourceCode += "vTexCoord = vec2(VertexTexCoord0.x, 1.0 - VertexTexCoord0.y);\n";
|
sourceCode += "vTexCoord = vec2(VertexTexCoord0.x, 1.0 - VertexTexCoord0.y);\n";
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue