diff options
Diffstat (limited to 'indra/llrender')
| -rw-r--r-- | indra/llrender/llglslshader.h | 1 | ||||
| -rw-r--r-- | indra/llrender/llshadermgr.cpp | 92 | 
2 files changed, 18 insertions, 75 deletions
| diff --git a/indra/llrender/llglslshader.h b/indra/llrender/llglslshader.h index b8071248e2..43d095f73a 100644 --- a/indra/llrender/llglslshader.h +++ b/indra/llrender/llglslshader.h @@ -41,7 +41,6 @@ public:      bool hasLighting = false; // implies no transport (it's possible to have neither though)      bool isAlphaLighting = false; // indicates lighting shaders need not be linked in (lighting performed directly in alpha shader to match deferred lighting functions)      bool isSpecular = false; -    bool hasWaterFog = false; // implies no gamma      bool hasTransport = false; // implies no lighting (it's possible to have neither though)      bool hasSkinning = false;      bool hasObjectSkinning = false; diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp index 0e7f9e1331..f78be910d2 100644 --- a/indra/llrender/llshadermgr.cpp +++ b/indra/llrender/llshadermgr.cpp @@ -81,14 +81,7 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)  	// NOTE order of shader object attaching is VERY IMPORTANT!!!  	if (features->calculatesAtmospherics)  	{ -		if (features->hasWaterFog) -		{ -			if (!shader->attachVertexObject("windlight/atmosphericsVarsWaterV.glsl")) -			{ -				return FALSE; -			} -		} -        else if (!shader->attachVertexObject("windlight/atmosphericsVarsV.glsl")) +		if (!shader->attachVertexObject("windlight/atmosphericsVarsV.glsl"))  		{  			return FALSE;  		} @@ -201,14 +194,7 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)  	if(features->calculatesAtmospherics || features->hasGamma || features->isDeferred)  	{ -		if (features->hasWaterFog) -		{ -			if (!shader->attachFragmentObject("windlight/atmosphericsVarsWaterF.glsl")) -			{ -				return FALSE; -			} -		} -        else if (!shader->attachFragmentObject("windlight/atmosphericsVarsF.glsl")) +		if (!shader->attachFragmentObject("windlight/atmosphericsVarsF.glsl"))  		{  			return FALSE;  		} @@ -292,7 +278,7 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)  	}  	// NOTE order of shader object attaching is VERY IMPORTANT!!! -	if (features->hasWaterFog) +	if (features->hasAtmospherics)  	{          if (!shader->attachFragmentObject("environment/waterFogF.glsl"))  		{ @@ -302,82 +288,40 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)  	if (features->hasLighting)  	{ -		if (features->hasWaterFog) +		if (features->disableTextureIndex)  		{ -			if (features->disableTextureIndex) +			if (features->hasAlphaMask)  			{ -				if (features->hasAlphaMask) -				{ -                    if (!shader->attachFragmentObject("lighting/lightWaterAlphaMaskNonIndexedF.glsl")) -					{ -						return FALSE; -					} -				} -				else +                if (!shader->attachFragmentObject("lighting/lightAlphaMaskNonIndexedF.glsl"))  				{ -                    if (!shader->attachFragmentObject("lighting/lightWaterNonIndexedF.glsl")) -					{ -						return FALSE; -					} +					return FALSE;  				}  			} -			else  +			else  			{ -				if (features->hasAlphaMask) -				{ -                    if (!shader->attachFragmentObject("lighting/lightWaterAlphaMaskF.glsl")) -					{ -						return FALSE; -					} -				} -				else +                if (!shader->attachFragmentObject("lighting/lightNonIndexedF.glsl"))  				{ -                    if (!shader->attachFragmentObject("lighting/lightWaterF.glsl")) -					{ -						return FALSE; -					} +					return FALSE;  				} -				shader->mFeatures.mIndexedTextureChannels = llmax(LLGLSLShader::sIndexedTextureChannels-1, 1);  			}  		} -		 -		else +		else   		{ -			if (features->disableTextureIndex) +			if (features->hasAlphaMask)  			{ -				if (features->hasAlphaMask) +                if (!shader->attachFragmentObject("lighting/lightAlphaMaskF.glsl"))  				{ -                    if (!shader->attachFragmentObject("lighting/lightAlphaMaskNonIndexedF.glsl")) -					{ -						return FALSE; -					} -				} -				else -				{ -                    if (!shader->attachFragmentObject("lighting/lightNonIndexedF.glsl")) -					{ -						return FALSE; -					} +					return FALSE;  				}  			} -			else  +			else  			{ -				if (features->hasAlphaMask) -				{ -                    if (!shader->attachFragmentObject("lighting/lightAlphaMaskF.glsl")) -					{ -						return FALSE; -					} -				} -				else +                if (!shader->attachFragmentObject("lighting/lightF.glsl"))  				{ -                    if (!shader->attachFragmentObject("lighting/lightF.glsl")) -					{ -						return FALSE; -					} +					return FALSE;  				} -				shader->mFeatures.mIndexedTextureChannels = llmax(LLGLSLShader::sIndexedTextureChannels-1, 1);  			} +			shader->mFeatures.mIndexedTextureChannels = llmax(LLGLSLShader::sIndexedTextureChannels-1, 1);  		}  	} | 
