mirror of
https://github.com/XProger/OpenLara.git
synced 2025-08-19 11:21:31 +02:00
fix alpha test for shadows
This commit is contained in:
@@ -86,6 +86,7 @@ struct ShaderCache {
|
|||||||
compile(Core::passShadow, Shader::ENTITY, fx, rsShadow);
|
compile(Core::passShadow, Shader::ENTITY, fx, rsShadow);
|
||||||
compile(Core::passShadow, Shader::ENTITY, fx, rsShadow | RS_DISCARD);
|
compile(Core::passShadow, Shader::ENTITY, fx, rsShadow | RS_DISCARD);
|
||||||
compile(Core::passShadow, Shader::MIRROR, fx, rsShadow);
|
compile(Core::passShadow, Shader::MIRROR, fx, rsShadow);
|
||||||
|
compile(Core::passShadow, Shader::MIRROR, fx, rsShadow | RS_DISCARD);
|
||||||
}
|
}
|
||||||
|
|
||||||
void prepareWater(int fx) {
|
void prepareWater(int fx) {
|
||||||
|
@@ -379,7 +379,7 @@ struct Level : IGame {
|
|||||||
|
|
||||||
virtual void setRoomParams(int roomIndex, Shader::Type type, float diffuse, float ambient, float specular, float alpha, bool alphaTest = false) {
|
virtual void setRoomParams(int roomIndex, Shader::Type type, float diffuse, float ambient, float specular, float alpha, bool alphaTest = false) {
|
||||||
if (Core::pass == Core::passShadow) {
|
if (Core::pass == Core::passShadow) {
|
||||||
setShader(Core::pass, type);
|
setShader(Core::pass, type, false, alphaTest);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -394,6 +394,8 @@ uniform vec4 uFogParams;
|
|||||||
#ifdef PASS_COMPOSE
|
#ifdef PASS_COMPOSE
|
||||||
vec3 rv = reflect(-normalize(vViewVec.xyz), normalize(vNormal.xyz));
|
vec3 rv = reflect(-normalize(vViewVec.xyz), normalize(vNormal.xyz));
|
||||||
color = textureCube(sEnvironment, normalize(rv));
|
color = textureCube(sEnvironment, normalize(rv));
|
||||||
|
#else
|
||||||
|
color = vec4(1.0);
|
||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
#if defined(PASS_COMPOSE) && !defined(TYPE_SPRITE)
|
#if defined(PASS_COMPOSE) && !defined(TYPE_SPRITE)
|
||||||
|
Reference in New Issue
Block a user