Updated ShaderGen shaders
This commit is contained in:
@@ -4,16 +4,7 @@ char shadergen_frag[] = "// ShaderGen shader\n"
|
||||
" precision highp float;\n"
|
||||
"#endif\n"
|
||||
"\n"
|
||||
"#pragma import_defines(GL_LIGHTING, GL_TEXTURE_2D, GL_FOG)\n"
|
||||
"\n"
|
||||
"#if defined(GL_LIGHTING)\n"
|
||||
"varying vec3 normalDir;\n"
|
||||
"varying vec3 lightDir;\n"
|
||||
"#endif\n"
|
||||
"\n"
|
||||
"#if defined(GL_LIGHTING) || defined(GL_FOG)\n"
|
||||
"varying vec3 viewDir;\n"
|
||||
"#endif\n"
|
||||
"#pragma import_defines(GL_TEXTURE_2D)\n"
|
||||
"\n"
|
||||
"varying vec4 vertexColor;\n"
|
||||
"\n"
|
||||
@@ -29,7 +20,6 @@ char shadergen_frag[] = "// ShaderGen shader\n"
|
||||
" color = color * texture2D(diffuseMap, gl_TexCoord[0].st);\n"
|
||||
"#endif\n"
|
||||
"\n"
|
||||
"\n"
|
||||
" gl_FragColor = color;\n"
|
||||
"}\n"
|
||||
"\n";
|
||||
|
||||
@@ -4,20 +4,31 @@ char shadergen_vert[] = "// ShaderGen shader\n"
|
||||
" precision highp float;\n"
|
||||
"#endif\n"
|
||||
"\n"
|
||||
"#pragma import_defines(GL_LIGHTING, GL_TEXTURE_2D, GL_FOG)\n"
|
||||
"#pragma import_defines(GL_LIGHTING, GL_TEXTURE_2D)\n"
|
||||
"\n"
|
||||
"#if defined(GL_LIGHTING)\n"
|
||||
"varying vec3 normalDir;\n"
|
||||
"varying vec3 lightDir;\n"
|
||||
"#endif\n"
|
||||
"\n"
|
||||
"#if defined(GL_LIGHTING) || defined(GL_FOG)\n"
|
||||
"varying vec3 viewDir;\n"
|
||||
"#ifdef GL_LIGHTING\n"
|
||||
"void directionalLight( int lightNum, vec3 normal, inout vec4 color )\n"
|
||||
"{\n"
|
||||
" vec3 n = normalize(gl_NormalMatrix * normal);\n"
|
||||
"\n"
|
||||
" float NdotL = dot( n, normalize(gl_LightSource[lightNum].position.xyz) );\n"
|
||||
" NdotL = max( 0.0, NdotL );\n"
|
||||
"\n"
|
||||
" float NdotHV = dot( n, gl_LightSource[lightNum].halfVector.xyz );\n"
|
||||
" NdotHV = max( 0.0, NdotHV );\n"
|
||||
"\n"
|
||||
" color *= gl_FrontLightModelProduct.sceneColor +\n"
|
||||
" gl_FrontLightProduct[lightNum].ambient +\n"
|
||||
" gl_FrontLightProduct[lightNum].diffuse * NdotL;\n"
|
||||
"\n"
|
||||
" if ( NdotL * NdotHV > 0.0 )\n"
|
||||
" color += gl_FrontLightProduct[lightNum].specular * pow( NdotHV, gl_FrontMaterial.shininess );\n"
|
||||
"}\n"
|
||||
"#endif\n"
|
||||
"\n"
|
||||
"varying vec4 vertexColor;\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"void main()\n"
|
||||
"{\n"
|
||||
" gl_Position = ftransform();\n"
|
||||
@@ -26,19 +37,10 @@ char shadergen_vert[] = "// ShaderGen shader\n"
|
||||
" gl_TexCoord[0] = gl_MultiTexCoord0;\n"
|
||||
"#endif\n"
|
||||
"\n"
|
||||
"#if defined(GL_LIGHTING) || defined(GL_FOG)\n"
|
||||
" viewDir = -vec3(gl_ModelViewMatrix * gl_Vertex);\n"
|
||||
"#endif\n"
|
||||
" vertexColor = gl_Color;\n"
|
||||
"\n"
|
||||
"#if defined(GL_LIGHTING)\n"
|
||||
" normalDir = gl_NormalMatrix * gl_Normal;\n"
|
||||
" vec4 lpos = gl_LightSource[0].position;\n"
|
||||
" if (lpos.w == 0.0)\n"
|
||||
" lightDir = lpos.xyz;\n"
|
||||
" else\n"
|
||||
" lightDir = lpos.xyz + viewDir;\n"
|
||||
" directionalLight(0, gl_Normal, vertexColor);\n"
|
||||
"#endif\n"
|
||||
"\n"
|
||||
" vertexColor = gl_Color;\n"
|
||||
"}\n"
|
||||
"\n";
|
||||
|
||||
Reference in New Issue
Block a user