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