Simplify ifdefs in alpha shaders for Mac

meow-7.2.2
Graham Madarasz 2013-04-17 16:50:03 -07:00
parent 83f3fd0dd6
commit 8ed49bb828
5 changed files with 19 additions and 18 deletions

View File

@ -37,11 +37,11 @@ out vec4 frag_color;
uniform sampler2DRect depthMap;
#if INDEX_MODE != INDEXED
#if !INDEX_MODE || INDEX_MODE_NO_COLOR
uniform sampler2D diffuseMap;
#endif
#if INDEX_MODE == INDEXED
#if INDEX_MODE
vec4 diffuseLookup(vec2 texcoord);
#endif
@ -61,7 +61,7 @@ VARYING vec2 vary_texcoord2;
VARYING vec3 vary_norm;
VARYING mat3 vary_rotation;
#if INDEX_MODE != NON_INDEXED_NO_COLOR
#if !INDEX_MODE_NO_COLOR
VARYING vec4 vertex_color;
#endif
@ -124,13 +124,13 @@ void main()
vec4 pos = vec4(vary_position, 1.0);
#if INDEX_MODE == INDEXED
#if INDEX_MODE
vec4 diff= diffuseLookup(vary_texcoord0.xy);
#else
vec4 diff = texture2D(diffuseMap,vary_texcoord0.xy);
#endif
#if INDEX_MODE == NON_INDEXED_NO_COLOR
#if INDEX_MODE_NO_COLOR
float vertex_color_alpha = 1.0;
#else
float vertex_color_alpha = vertex_color.a;

View File

@ -34,7 +34,7 @@ uniform mat4 modelview_matrix;
uniform mat4 modelview_projection_matrix;
ATTRIBUTE vec3 position;
#if INDEX_MODE == INDEXED
#if INDEX_MODE
void passTextureIndex();
#endif
ATTRIBUTE vec3 normal;
@ -66,7 +66,7 @@ VARYING vec3 vary_fragcoord;
VARYING vec3 vary_position;
VARYING vec3 vary_pointlight_col;
#if INDEX_MODE != NON_INDEXED_NO_COLOR
#if !INDEX_MODE_NO_COLOR
VARYING vec4 vertex_color;
#endif
@ -161,7 +161,7 @@ void main()
vary_texcoord1 = (texture_matrix0 * vec4(texcoord1,0,1)).xy;
vary_texcoord2 = (texture_matrix0 * vec4(texcoord2,0,1)).xy;
#if INDEX_MODE == INDEXED
#if INDEX_MODE
passTextureIndex();
vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy;
#else
@ -197,7 +197,7 @@ void main()
vary_directional.rgb = atmosAffectDirectionalLight(1.0f);
col.rgb = col.rgb*diffuse_color.rgb;
#if INDEX_MODE != NON_INDEXED_NO_COLOR
#if !INDEX_MODE_NO_COLOR
vertex_color = col;
#endif

View File

@ -41,7 +41,7 @@ uniform sampler2DShadow shadowMap2;
uniform sampler2DShadow shadowMap3;
uniform sampler2DRect depthMap;
#if INDEX_MODE != INDEXED
#if !INDEX_MODE || INDEX_MODE_NO_COLOR
uniform sampler2D diffuseMap;
#endif
@ -62,7 +62,7 @@ VARYING vec2 vary_texcoord2;
VARYING vec3 vary_norm;
VARYING mat3 vary_rotation;
#if INDEX_MODE != NON_INDEXED_NO_COLOR
#if !INDEX_MODE_NO_COLOR
VARYING vec4 vertex_color;
#endif
@ -210,13 +210,13 @@ void main()
}
vec4 diff;
#if INDEX_MODE == INDEXED
#if INDEX_MODE
diff = diffuseLookup(vary_texcoord0.xy);
#else
diff = texture2D(diffuseMap,vary_texcoord0.xy);
#endif
#if INDEX_MODE == NON_INDEXED_NO_COLOR
#if INDEX_MODE_NO_COLOR
float vertex_color_alpha = 1.0;
#else
float vertex_color_alpha = vertex_color.a;

View File

@ -34,7 +34,7 @@ uniform mat4 modelview_matrix;
uniform mat4 modelview_projection_matrix;
ATTRIBUTE vec3 position;
#if INDEX_MODE == INDEXED
#if INDEX_MODE
void passTextureIndex();
#endif
ATTRIBUTE vec3 normal;
@ -67,7 +67,7 @@ VARYING vec3 vary_fragcoord;
VARYING vec3 vary_position;
VARYING vec3 vary_pointlight_col;
#if INDEX_MODE != NON_INDEXED_NO_COLOR
#if !INDEX_MODE_NO_COLOR
VARYING vec4 vertex_color;
#endif
@ -162,7 +162,7 @@ void main()
#endif
vary_texcoord1 = (texture_matrix0 * vec4(texcoord1,0,1)).xy;
vary_texcoord2 = (texture_matrix0 * vec4(texcoord2,0,1)).xy;
#if INDEX_MODE == INDEXED
#if INDEX_MODE
passTextureIndex();
vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy;
#else
@ -198,7 +198,7 @@ void main()
col.rgb = col.rgb*diffuse_color.rgb;
#if INDEX_MODE != NON_INDEXED_NO_COLOR
#if !INDEX_MODE_NO_COLOR
vertex_color = col;
#endif

View File

@ -1221,7 +1221,8 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()
gDeferredSkinnedAlphaProgram.mShaderFiles.push_back(make_pair("deferred/alphaV.glsl", GL_VERTEX_SHADER_ARB));
gDeferredSkinnedAlphaProgram.mShaderFiles.push_back(make_pair("deferred/alphaF.glsl", GL_FRAGMENT_SHADER_ARB));
gDeferredSkinnedAlphaProgram.mShaderLevel = mVertexShaderLevel[SHADER_DEFERRED];
gDeferredSkinnedAlphaProgram.addPermutation("INDEX_MODE", "2");
gDeferredSkinnedAlphaProgram.addPermutation("INDEX_MODE", "0");
gDeferredSkinnedAlphaProgram.addPermutation("INDEX_MODE_NO_COLOR", "0");
gDeferredSkinnedAlphaProgram.addPermutation("HAS_SKIN", "1");
gDeferredSkinnedAlphaProgram.addPermutation("IS_AVATAR_SKIN", "0");
success = gDeferredSkinnedAlphaProgram.createShader(NULL, NULL);