MATBUG-306 fix alpha knock-on from underwater lightcurve matching
parent
710b529372
commit
6f62251a3d
|
|
@ -288,8 +288,7 @@ void main()
|
|||
diff.rgb = srgb_to_linear(diff.rgb);
|
||||
|
||||
#ifdef USE_VERTEX_COLOR
|
||||
diff.rgb *= vertex_color.rgb;
|
||||
float vertex_color_alpha = vertex_color.a;
|
||||
float vertex_color_alpha = diff.a * vertex_color.a;
|
||||
#else
|
||||
float vertex_color_alpha = 1.0;
|
||||
#endif
|
||||
|
|
@ -306,8 +305,9 @@ void main()
|
|||
vec4 col = vec4(vary_ambient + dlight, vertex_color_alpha);
|
||||
#endif
|
||||
|
||||
vec4 color = gamma_diff * col;
|
||||
|
||||
vec4 color = col;
|
||||
color.rgb *= gamma_diff.rgb;
|
||||
|
||||
color.rgb = atmosLighting(color.rgb);
|
||||
|
||||
color.rgb = scaleSoftClip(color.rgb);
|
||||
|
|
|
|||
|
|
@ -186,16 +186,13 @@ void main()
|
|||
|
||||
color.rgb = atmosTransport(color.rgb);
|
||||
color.rgb = scaleSoftClip(color.rgb);
|
||||
//color.a = spec * sunAngle2;
|
||||
color.a = sunAngle2;
|
||||
|
||||
//wavef.z *= 0.1f;
|
||||
//wavef = normalize(wavef);
|
||||
vec3 screenspacewavef = (norm_mat*vec4(wavef, 1.0)).xyz;
|
||||
|
||||
// this is needed for materials in reflections, but not otherwise
|
||||
//
|
||||
//frag_data[0] = vec4(linear_to_srgb(color.rgb), 0.5); // diffuse
|
||||
frag_data[0] = vec4(color.rgb, 0.5); // diffuse
|
||||
frag_data[0] = vec4(color.rgb, color.a); // diffuse
|
||||
frag_data[1] = vec4(0.5,0.5,0.5, 0.95); // speccolor*spec, spec
|
||||
frag_data[2] = vec4(encode_normal(screenspacewavef), 0.0, 0.0); // normalxyz, displace
|
||||
frag_data[2] = vec4(encode_normal(screenspacewavef.xyz*0.5+0.5), screenspacewavef.z * 0.16, 0.0);// normalxyz, env intensity
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1527,7 +1527,7 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()
|
|||
gDeferredAlphaProgram.mShaderFiles.push_back(make_pair("deferred/alphaV.glsl", GL_VERTEX_SHADER_ARB));
|
||||
gDeferredAlphaProgram.mShaderFiles.push_back(make_pair("deferred/alphaF.glsl", GL_FRAGMENT_SHADER_ARB));
|
||||
gDeferredAlphaProgram.addPermutation("USE_INDEXED_TEX", "1");
|
||||
//gDeferredAlphaProgram.addPermutation("USE_VERTEX_COLOR", "1");
|
||||
gDeferredAlphaProgram.addPermutation("USE_VERTEX_COLOR", "1");
|
||||
gDeferredAlphaProgram.addPermutation("HAS_SHADOW", mVertexShaderLevel[SHADER_DEFERRED] > 1 ? "1" : "0");
|
||||
gDeferredAlphaProgram.mShaderLevel = mVertexShaderLevel[SHADER_DEFERRED];
|
||||
|
||||
|
|
@ -1562,7 +1562,7 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()
|
|||
gDeferredAlphaWaterProgram.mShaderFiles.push_back(make_pair("deferred/alphaV.glsl", GL_VERTEX_SHADER_ARB));
|
||||
gDeferredAlphaWaterProgram.mShaderFiles.push_back(make_pair("deferred/alphaF.glsl", GL_FRAGMENT_SHADER_ARB));
|
||||
gDeferredAlphaWaterProgram.addPermutation("USE_INDEXED_TEX", "1");
|
||||
//gDeferredAlphaWaterProgram.addPermutation("USE_VERTEX_COLOR", "1");
|
||||
gDeferredAlphaWaterProgram.addPermutation("USE_VERTEX_COLOR", "1");
|
||||
gDeferredAlphaWaterProgram.addPermutation("WATER_FOG", "1");
|
||||
gDeferredAlphaWaterProgram.addPermutation("HAS_SHADOW", mVertexShaderLevel[SHADER_DEFERRED] > 1 ? "1" : "0");
|
||||
gDeferredAlphaWaterProgram.mShaderLevel = mVertexShaderLevel[SHADER_DEFERRED];
|
||||
|
|
|
|||
Loading…
Reference in New Issue