Made a few more fullbright face types occlude any glow behind them.
This commit is contained in:
@@ -48,6 +48,7 @@ void main()
|
||||
|
||||
color.rgb = fullbrightScaleSoftClip(color.rgb);
|
||||
|
||||
color.a = .0;
|
||||
frag_color = color;
|
||||
}
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ void fullbright_shiny_lighting()
|
||||
|
||||
color.rgb = fullbrightScaleSoftClip(color.rgb);
|
||||
|
||||
color.a = max(color.a, vertex_color.a);
|
||||
color.a = 0.0;
|
||||
|
||||
frag_color = color;
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ void fullbright_shiny_lighting()
|
||||
|
||||
color.rgb = fullbrightScaleSoftClip(color.rgb);
|
||||
|
||||
color.a = max(color.a, vertex_color.a);
|
||||
color.a = 0.0;
|
||||
|
||||
frag_color = color;
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ void fullbright_shiny_lighting_water()
|
||||
|
||||
color.rgb = fullbrightShinyAtmosTransport(color.rgb);
|
||||
color.rgb = fullbrightScaleSoftClip(color.rgb);
|
||||
color.a = max(color.a, vertex_color.a);
|
||||
color.a = 1.0;
|
||||
|
||||
frag_color = applyWaterFog(color);
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ void fullbright_shiny_lighting_water()
|
||||
|
||||
color.rgb = fullbrightShinyAtmosTransport(color.rgb);
|
||||
color.rgb = fullbrightScaleSoftClip(color.rgb);
|
||||
color.a = max(color.a, vertex_color.a);
|
||||
color.a = 0.0;
|
||||
|
||||
frag_color = applyWaterFog(color);
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ out vec4 frag_color;
|
||||
VARYING vec4 vertex_color;
|
||||
VARYING vec2 vary_texcoord0;
|
||||
|
||||
vec4 diffuseLookup(vec2 texcoord);
|
||||
/* vec4 diffuseLookup(vec2 texcoord); */
|
||||
|
||||
vec3 fullbrightAtmosTransport(vec3 light);
|
||||
vec4 applyWaterFog(vec4 color);
|
||||
|
||||
@@ -50,7 +50,7 @@ void shiny_lighting()
|
||||
color.rgb = atmosLighting(color.rgb);
|
||||
|
||||
color.rgb = scaleSoftClip(color.rgb);
|
||||
color.a = max(color.a, vertex_color.a);
|
||||
color.a = 1.0;
|
||||
frag_color = color;
|
||||
}
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ void shiny_lighting()
|
||||
color.rgb = atmosLighting(color.rgb);
|
||||
|
||||
color.rgb = scaleSoftClip(color.rgb);
|
||||
color.a = max(color.a, vertex_color.a);
|
||||
color.a = 1.0;
|
||||
frag_color = color;
|
||||
}
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ void shiny_lighting_water()
|
||||
color.rgb = mix(color.rgb, envColor.rgb, vertex_color.a);
|
||||
|
||||
color.rgb = atmosLighting(color.rgb);
|
||||
color.a = max(color.a, vertex_color.a);
|
||||
color.a = 1.0;
|
||||
frag_color = applyWaterFog(color);
|
||||
}
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ void shiny_lighting_water()
|
||||
color.rgb = mix(color.rgb, envColor.rgb, vertex_color.a);
|
||||
|
||||
color.rgb = atmosLighting(color.rgb);
|
||||
color.a = max(color.a, vertex_color.a);
|
||||
color.a = 1.0;
|
||||
frag_color = applyWaterFog(color);
|
||||
}
|
||||
|
||||
|
||||
@@ -48,11 +48,9 @@ void main()
|
||||
mat = modelview_matrix * mat;
|
||||
vec3 pos = (mat*vec4(position.xyz, 1.0)).xyz;
|
||||
|
||||
vertex_color = emissive;
|
||||
|
||||
calcAtmospherics(pos.xyz);
|
||||
|
||||
vertex_color = emissive;
|
||||
|
||||
gl_Position = projection_matrix*vec4(pos, 1.0);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -570,6 +570,7 @@ void LLDrawPoolBump::renderFullbrightShiny()
|
||||
{
|
||||
LLGLEnable blend_enable(GL_BLEND);
|
||||
|
||||
gGL.setSceneBlendType(LLRender::BT_REPLACE);
|
||||
if (mVertexShaderLevel > 1)
|
||||
{
|
||||
LLRenderPass::pushBatches(LLRenderPass::PASS_FULLBRIGHT_SHINY, sVertexMask | LLVertexBuffer::MAP_TEXTURE_INDEX, TRUE, TRUE);
|
||||
@@ -578,6 +579,7 @@ void LLDrawPoolBump::renderFullbrightShiny()
|
||||
{
|
||||
LLRenderPass::renderTexture(LLRenderPass::PASS_FULLBRIGHT_SHINY, sVertexMask);
|
||||
}
|
||||
gGL.setSceneBlendType(LLRender::BT_ALPHA);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -896,7 +898,9 @@ void LLDrawPoolBump::renderPostDeferred(S32 pass)
|
||||
switch (pass)
|
||||
{
|
||||
case 0:
|
||||
gGL.setColorMask(true, true);
|
||||
renderFullbrightShiny();
|
||||
gGL.setColorMask(true, false);
|
||||
break;
|
||||
case 1:
|
||||
renderBump(LLRenderPass::PASS_POST_BUMP);
|
||||
|
||||
@@ -2191,6 +2191,7 @@ BOOL LLViewerShaderMgr::loadShadersObject()
|
||||
gSkinnedObjectSimpleProgram.mFeatures.hasAtmospherics = true;
|
||||
gSkinnedObjectSimpleProgram.mFeatures.hasLighting = true;
|
||||
gSkinnedObjectSimpleProgram.mFeatures.hasObjectSkinning = true;
|
||||
gSkinnedObjectSimpleProgram.mFeatures.hasAlphaMask = true;
|
||||
gSkinnedObjectSimpleProgram.mFeatures.disableTextureIndex = true;
|
||||
gSkinnedObjectSimpleProgram.mShaderFiles.clear();
|
||||
gSkinnedObjectSimpleProgram.mShaderFiles.push_back(make_pair("objects/simpleSkinnedV.glsl", GL_VERTEX_SHADER_ARB));
|
||||
@@ -2207,6 +2208,7 @@ BOOL LLViewerShaderMgr::loadShadersObject()
|
||||
gSkinnedObjectFullbrightProgram.mFeatures.hasTransport = true;
|
||||
gSkinnedObjectFullbrightProgram.mFeatures.isFullbright = true;
|
||||
gSkinnedObjectFullbrightProgram.mFeatures.hasObjectSkinning = true;
|
||||
gSkinnedObjectFullbrightProgram.mFeatures.hasAlphaMask = true;
|
||||
gSkinnedObjectFullbrightProgram.mFeatures.disableTextureIndex = true;
|
||||
gSkinnedObjectFullbrightProgram.mShaderFiles.clear();
|
||||
gSkinnedObjectFullbrightProgram.mShaderFiles.push_back(make_pair("objects/fullbrightSkinnedV.glsl", GL_VERTEX_SHADER_ARB));
|
||||
@@ -2257,6 +2259,7 @@ BOOL LLViewerShaderMgr::loadShadersObject()
|
||||
gSkinnedObjectFullbrightShinyProgram.mFeatures.isShiny = true;
|
||||
gSkinnedObjectFullbrightShinyProgram.mFeatures.isFullbright = true;
|
||||
gSkinnedObjectFullbrightShinyProgram.mFeatures.hasObjectSkinning = true;
|
||||
gSkinnedObjectFullbrightShinyProgram.mFeatures.hasAlphaMask = true;
|
||||
gSkinnedObjectFullbrightShinyProgram.mFeatures.disableTextureIndex = true;
|
||||
gSkinnedObjectFullbrightShinyProgram.mShaderFiles.clear();
|
||||
gSkinnedObjectFullbrightShinyProgram.mShaderFiles.push_back(make_pair("objects/fullbrightShinySkinnedV.glsl", GL_VERTEX_SHADER_ARB));
|
||||
@@ -2273,6 +2276,7 @@ BOOL LLViewerShaderMgr::loadShadersObject()
|
||||
gSkinnedObjectShinySimpleProgram.mFeatures.hasGamma = true;
|
||||
gSkinnedObjectShinySimpleProgram.mFeatures.hasAtmospherics = true;
|
||||
gSkinnedObjectShinySimpleProgram.mFeatures.hasObjectSkinning = true;
|
||||
gSkinnedObjectShinySimpleProgram.mFeatures.hasAlphaMask = true;
|
||||
gSkinnedObjectShinySimpleProgram.mFeatures.isShiny = true;
|
||||
gSkinnedObjectShinySimpleProgram.mFeatures.disableTextureIndex = true;
|
||||
gSkinnedObjectShinySimpleProgram.mShaderFiles.clear();
|
||||
@@ -2310,6 +2314,7 @@ BOOL LLViewerShaderMgr::loadShadersObject()
|
||||
gSkinnedObjectFullbrightWaterProgram.mFeatures.hasTransport = true;
|
||||
gSkinnedObjectFullbrightWaterProgram.mFeatures.isFullbright = true;
|
||||
gSkinnedObjectFullbrightWaterProgram.mFeatures.hasObjectSkinning = true;
|
||||
gSkinnedObjectFullbrightWaterProgram.mFeatures.hasAlphaMask = true;
|
||||
gSkinnedObjectFullbrightWaterProgram.mFeatures.hasWaterFog = true;
|
||||
gSkinnedObjectFullbrightWaterProgram.mFeatures.disableTextureIndex = true;
|
||||
gSkinnedObjectFullbrightWaterProgram.mShaderGroup = LLGLSLShader::SG_WATER;
|
||||
@@ -2329,6 +2334,7 @@ BOOL LLViewerShaderMgr::loadShadersObject()
|
||||
gSkinnedObjectFullbrightShinyWaterProgram.mFeatures.isShiny = true;
|
||||
gSkinnedObjectFullbrightShinyWaterProgram.mFeatures.isFullbright = true;
|
||||
gSkinnedObjectFullbrightShinyWaterProgram.mFeatures.hasObjectSkinning = true;
|
||||
gSkinnedObjectFullbrightShinyWaterProgram.mFeatures.hasAlphaMask = true;
|
||||
gSkinnedObjectFullbrightShinyWaterProgram.mFeatures.hasWaterFog = true;
|
||||
gSkinnedObjectFullbrightShinyWaterProgram.mFeatures.disableTextureIndex = true;
|
||||
gSkinnedObjectFullbrightShinyWaterProgram.mShaderGroup = LLGLSLShader::SG_WATER;
|
||||
@@ -2347,6 +2353,7 @@ BOOL LLViewerShaderMgr::loadShadersObject()
|
||||
gSkinnedObjectShinySimpleWaterProgram.mFeatures.hasGamma = true;
|
||||
gSkinnedObjectShinySimpleWaterProgram.mFeatures.hasAtmospherics = true;
|
||||
gSkinnedObjectShinySimpleWaterProgram.mFeatures.hasObjectSkinning = true;
|
||||
gSkinnedObjectShinySimpleWaterProgram.mFeatures.hasAlphaMask = true;
|
||||
gSkinnedObjectShinySimpleWaterProgram.mFeatures.isShiny = true;
|
||||
gSkinnedObjectShinySimpleWaterProgram.mFeatures.hasWaterFog = true;
|
||||
gSkinnedObjectShinySimpleWaterProgram.mFeatures.disableTextureIndex = true;
|
||||
|
||||
Reference in New Issue
Block a user