diff options
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl | 33 | ||||
| -rw-r--r-- | indra/newview/lldrawpoolbump.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llviewershadermgr.cpp | 3 | 
3 files changed, 10 insertions, 32 deletions
| diff --git a/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl index 029f282d7c..5e6c5ebec8 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl @@ -9,34 +9,6 @@  #extension GL_ARB_texture_rectangle : enable -varying float vary_texture_index; - -uniform sampler2D tex0; -uniform sampler2D tex1; -uniform sampler2D tex2; -uniform sampler2D tex3; -uniform sampler2D tex4; -uniform sampler2D tex5; -uniform sampler2D tex6; -uniform sampler2D tex7; - -vec4 textureLookup(vec2 texcoord) -{ -	switch (int(vary_texture_index+0.25)) -	{ -		case 0: return texture2D(tex0, texcoord); -		case 1: return texture2D(tex1, texcoord); -		case 2: return texture2D(tex2, texcoord); -		case 3: return texture2D(tex3, texcoord); -		case 4: return texture2D(tex4, texcoord); -		case 5: return texture2D(tex5, texcoord); -		case 6: return texture2D(tex6, texcoord); -		case 7: return texture2D(tex7, texcoord); -	} - -	return vec4(0,0,0,0); -} -  vec3 fullbrightAtmosTransport(vec3 light);  vec3 fullbrightScaleSoftClip(vec3 light); @@ -45,12 +17,13 @@ void main()  {  	float shadow = 1.0; -	vec4 color = textureLookup(gl_TexCoord[0].xy)*gl_Color; +	vec4 color = diffuseLookup(gl_TexCoord[0].xy)*gl_Color;  	color.rgb = fullbrightAtmosTransport(color.rgb);  	color.rgb = fullbrightScaleSoftClip(color.rgb); -	gl_FragColor = color; +	//gl_FragColor = color; +	gl_FragColor = vec4(1,0,1,1);  } diff --git a/indra/newview/lldrawpoolbump.cpp b/indra/newview/lldrawpoolbump.cpp index 8985d3680e..813b3820ee 100644 --- a/indra/newview/lldrawpoolbump.cpp +++ b/indra/newview/lldrawpoolbump.cpp @@ -537,6 +537,12 @@ void LLDrawPoolBump::beginFullbrightShiny()  		gGL.getTexUnit(cube_channel)->bind(cube_map);  		gGL.getTexUnit(0)->activate();  	} + +	if (mVertexShaderLevel > 1) +	{ //indexed texture rendering, channel 0 is always diffuse +		diffuse_channel = 0; +	} +  	mShiny = TRUE;  } diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp index a1cb6d4ea6..e3ed2d0649 100644 --- a/indra/newview/llviewershadermgr.cpp +++ b/indra/newview/llviewershadermgr.cpp @@ -1303,8 +1303,7 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()  		gDeferredFullbrightProgram.mFeatures.calculatesAtmospherics = true;  		gDeferredFullbrightProgram.mFeatures.hasGamma = true;  		gDeferredFullbrightProgram.mFeatures.hasTransport = true; -		gDeferredFullbrightProgram.mFeatures.isFullbright = true; -		gDeferredFullbrightProgram.mFeatures.mIndexedTextureChannels = 0; +		gDeferredFullbrightProgram.mFeatures.mIndexedTextureChannels = gGLManager.mNumTextureImageUnits;  		gDeferredFullbrightProgram.mShaderFiles.clear();  		gDeferredFullbrightProgram.mShaderFiles.push_back(make_pair("deferred/fullbrightV.glsl", GL_VERTEX_SHADER_ARB));  		gDeferredFullbrightProgram.mShaderFiles.push_back(make_pair("deferred/fullbrightF.glsl", GL_FRAGMENT_SHADER_ARB)); | 
