SH-2240 Better fix for red moon -- stop special casing "highlight_color" as a parameter.

master
Dave Parks 2011-11-10 11:39:08 -06:00
parent aa8f3d3070
commit c8f558f677
7 changed files with 8 additions and 13 deletions

View File

@ -965,8 +965,7 @@ void LLShaderMgr::initAttribsAndUniforms()
llassert(mReservedUniforms.size() == LLShaderMgr::PROJECTOR_AMBIENT_LOD+1);
mReservedUniforms.push_back("color");
mReservedUniforms.push_back("highlight_color");
mReservedUniforms.push_back("diffuseMap");
mReservedUniforms.push_back("specularMap");
mReservedUniforms.push_back("bumpMap");

View File

@ -70,7 +70,6 @@ public:
PROJECTOR_LOD,
PROJECTOR_AMBIENT_LOD,
DIFFUSE_COLOR,
HIGHLIGHT_COLOR,
DIFFUSE_MAP,
SPECULAR_MAP,
BUMP_MAP,

View File

@ -27,12 +27,12 @@
out vec4 gl_FragColor;
#endif
uniform vec4 highlight_color;
uniform vec4 color;
uniform sampler2D diffuseMap;
VARYING vec2 vary_texcoord0;
void main()
{
gl_FragColor = highlight_color*texture2D(diffuseMap, vary_texcoord0.xy);
gl_FragColor = color*texture2D(diffuseMap, vary_texcoord0.xy);
}

View File

@ -327,8 +327,9 @@ void LLDrawPoolAlpha::render(S32 pass)
{
gPipeline.enableLightsFullbright(LLColor4(1,1,1,1));
}
gGL.diffuseColor4f(1,0,0,1);
LLViewerFetchedTexture::sSmokeImagep->addTextureStats(1024.f*1024.f);
gGL.getTexUnit(0)->bind(LLViewerFetchedTexture::sSmokeImagep, TRUE) ;
renderAlphaHighlight(LLVertexBuffer::MAP_VERTEX |

View File

@ -246,7 +246,7 @@ void LLDrawPoolTerrain::render(S32 pass)
sShader->unbind();
sShader = &gHighlightProgram;
sShader->bind();
sShader->uniform4f(LLShaderMgr::HIGHLIGHT_COLOR, 1,1,1,1);
gGL.diffuseColor4f(1,1,1,1);
LLGLEnable polyOffset(GL_POLYGON_OFFSET_FILL);
glPolygonOffset(-1.0f, -1.0f);
renderOwnership();

View File

@ -283,7 +283,6 @@ void LLDrawPoolWLSky::renderHeavenlyBodies()
if (gPipeline.canUseVertexShaders())
{
gHighlightProgram.bind();
gHighlightProgram.uniform4fv(LLShaderMgr::HIGHLIGHT_COLOR, 1, color.mV);
}
LLFacePool::LLOverrideFaceColor color_override(this, color);

View File

@ -3583,7 +3583,7 @@ void LLPipeline::renderHighlights()
if ((LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_INTERFACE) > 0))
{
gHighlightProgram.bind();
gHighlightProgram.uniform4f(LLShaderMgr::HIGHLIGHT_COLOR,1,1,1,0.5f);
gGL.diffuseColor4f(1,1,1,0.5f);
}
if (hasRenderDebugFeatureMask(RENDER_DEBUG_FEATURE_SELECTED))
@ -3613,10 +3613,7 @@ void LLPipeline::renderHighlights()
{
// Paint 'em red!
color.setVec(1.f, 0.f, 0.f, 0.5f);
if ((LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_INTERFACE) > 0))
{
gHighlightProgram.uniform4f(LLShaderMgr::HIGHLIGHT_COLOR,1,0,0,0.5f);
}
int count = mHighlightFaces.size();
for (S32 i = 0; i < count; i++)
{