diff --git a/src/lara.h b/src/lara.h index 3ff13be..478bc79 100644 --- a/src/lara.h +++ b/src/lara.h @@ -236,7 +236,7 @@ struct Lara : Character { stand = STAND_ONWATER; animation.setAnim(ANIM_TO_ONWATER); updateEntity(); - */ + */ #ifdef _DEBUG /* // gym diff --git a/src/level.h b/src/level.h index 83d4ab9..21cd61e 100644 --- a/src/level.h +++ b/src/level.h @@ -421,7 +421,7 @@ struct Level : IGame { Core::active.shader->setParam(uTexParam, vec4(1.0f, 1.0f, sx, sz)); - item.caustics->unbind(sReflect); + Core::whiteTex->bind(sReflect); item.data[0]->bind(sNormal); Core::setTarget(item.caustics); level->mesh->renderPlane(); @@ -1121,8 +1121,10 @@ struct Level : IGame { camera->setup(Core::pass == Core::passCompose); atlas->bind(sDiffuse); - cube->bind(sEnvironment); + Core::whiteTex->bind(sNormal); Core::whiteTex->bind(sMask); + Core::whiteTex->bind(sReflect); + cube->bind(sEnvironment); if (!Core::support.VAO) mesh->bind(); diff --git a/src/shader.glsl b/src/shader.glsl index f16e9d2..6aaed3d 100644 --- a/src/shader.glsl +++ b/src/shader.glsl @@ -229,7 +229,7 @@ uniform int uType; float calcCaustics(vec3 n) { if (uCaustics != 0) { - vec2 fade = smoothstep(uRoomSize.xy, uRoomSize.xy + vec2(256.0), vCoord.xz) * (1.0f - smoothstep(uRoomSize.zw - vec2(256.0), uRoomSize.zw, vCoord.xz)); + vec2 fade = smoothstep(uRoomSize.xy, uRoomSize.xy + vec2(256.0), vCoord.xz) * (1.0 - smoothstep(uRoomSize.zw - vec2(256.0), uRoomSize.zw, vCoord.xz)); return texture2D(sReflect, vTexCoord.zw).r * (max(0.0, -n.y)) * fade.x * fade.y; } else return 0.0; diff --git a/src/texture.h b/src/texture.h index aa319c2..34d5907 100644 --- a/src/texture.h +++ b/src/texture.h @@ -62,7 +62,7 @@ struct Texture { { GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE }, // RGBA { GL_RGBA32F, GL_RGBA, GL_FLOAT }, // RGBA_FLOAT { GL_RGBA16F, GL_RGBA, GL_HALF_FLOAT }, // RGBA_HALF - { GL_RED, GL_RED, GL_UNSIGNED_BYTE }, // RED + { GL_LUMINANCE, GL_LUMINANCE, GL_UNSIGNED_BYTE }, // RED { GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT }, // DEPTH { GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT }, // SHADOW };