]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - shader_glsl.h
Add "Both Alphas" technique for VertexTextureBlend (use both layer alpha's for microb...
[xonotic/darkplaces.git] / shader_glsl.h
index 515556aebe6b8e8f73b4222ccf9fdfcc3ab34ee3..955d49e220c26b94c4e4a14e4fc0d0ed70408196 100644 (file)
 "      color.rgb += myhalf3(offsetMappedTexture2D(Texture_Pants)) * Color_Pants + myhalf3(offsetMappedTexture2D(Texture_Shirt)) * Color_Shirt;\n"
 "#endif\n"
 "#ifdef USEVERTEXTEXTUREBLEND\n"
+"#ifdef USEBOTHALPHAS\n"
+"      myhalf4 color2 = myhalf4(dp_texture2D(Texture_SecondaryColor, TexCoord2));\n"\r
+"      myhalf terrainblend = clamp(myhalf(VertexColor.a) * color.a, myhalf(1.0 - color2.a), myhalf(1.0));\n"\r
+"      color.rgb = mix(color2.rgb, color.rgb, terrainblend);\n"
+"#else\n"
 "      myhalf terrainblend = clamp(myhalf(VertexColor.a) * color.a * 2.0 - 0.5, myhalf(0.0), myhalf(1.0));\n"
 "      //myhalf terrainblend = min(myhalf(VertexColor.a) * color.a * 2.0, myhalf(1.0));\n"
 "      //myhalf terrainblend = myhalf(VertexColor.a) * color.a > 0.5;\n"
 "      color.rgb = mix(myhalf3(dp_texture2D(Texture_SecondaryColor, TexCoord2)), color.rgb, terrainblend);\n"
+"#endif\n"
 "      color.a = 1.0;\n"
 "      //color = mix(myhalf4(1, 0, 0, 1), color, terrainblend);\n"
 "#endif\n"