diff --git a/examples/14-shadowvolumes/fs_shadowvolume_color_lightning.sc b/examples/14-shadowvolumes/fs_shadowvolume_color_lightning.sc index f399bafca..ea2e64903 100644 --- a/examples/14-shadowvolumes/fs_shadowvolume_color_lightning.sc +++ b/examples/14-shadowvolumes/fs_shadowvolume_color_lightning.sc @@ -19,7 +19,7 @@ SAMPLER2D(u_texStencil, 7); #define u_ambientPass u_params.x #define u_lightningPass u_params.y -#define u_alpha u_params.z +#define u_texelHalf u_params.z #define u_specular u_specular_shininess.xyz #define u_shininess u_specular_shininess.w @@ -68,6 +68,7 @@ void main() vec3 lightColor = calcLight(v_view, normal, viewDir) * u_lightningPass; vec2 ndc = ((v_pos.xy / v_pos.w) + 1.0) / 2.0; + ndc += u_viewTexel.xy * u_texelHalf; vec4 texcolor = texture2D(u_texStencil, ndc); float s = (texcolor.x - texcolor.y) + 2.0 * (texcolor.z - texcolor.w); s *= u_useStencilTex; @@ -84,5 +85,5 @@ void main() vec3 final = mix(ambient, ambient + diffuse, float((abs(s) < 0.0001))); gl_FragColor.xyz = mix(u_fogColor, final, fogFactor); - gl_FragColor.w = u_alpha; + gl_FragColor.w = 1.0; } diff --git a/examples/14-shadowvolumes/fs_shadowvolume_texture_lightning.sc b/examples/14-shadowvolumes/fs_shadowvolume_texture_lightning.sc index e70dfb565..49f34ac1b 100644 --- a/examples/14-shadowvolumes/fs_shadowvolume_texture_lightning.sc +++ b/examples/14-shadowvolumes/fs_shadowvolume_texture_lightning.sc @@ -20,7 +20,7 @@ SAMPLER2D(u_texStencil, 7); #define u_ambientPass u_params.x #define u_lightningPass u_params.y -#define u_alpha u_params.z +#define u_texelHalf u_params.z #define u_specular u_specular_shininess.xyz #define u_shininess u_specular_shininess.w @@ -69,6 +69,7 @@ void main() vec3 lightColor = calcLight(v_view, normal, viewDir) * u_lightningPass; vec2 ndc = ((v_pos.xy / v_pos.w) + 1.0) / 2.0; + ndc += u_viewTexel.xy * u_texelHalf; vec4 texcolor = texture2D(u_texStencil, ndc); float s = (texcolor.x - texcolor.y) + 2.0 * (texcolor.z - texcolor.w); s *= u_useStencilTex; @@ -85,6 +86,6 @@ void main() vec3 final = mix(ambient, ambient + diffuse, float((abs(s) < 0.0001))); gl_FragColor.xyz = mix(u_fogColor, final, fogFactor); - gl_FragColor.w = u_alpha; + gl_FragColor.w = 1.0; } diff --git a/examples/14-shadowvolumes/shadowvolumes.cpp b/examples/14-shadowvolumes/shadowvolumes.cpp index e16472f91..2a9fe003a 100644 --- a/examples/14-shadowvolumes/shadowvolumes.cpp +++ b/examples/14-shadowvolumes/shadowvolumes.cpp @@ -99,6 +99,7 @@ static const uint16_t s_planeIndices[s_numPlaneIndices] = static const char* s_shaderPath = NULL; static bool s_flipV = false; +static float s_texelHalf = 0.0f; static uint32_t s_viewMask = 0; @@ -266,8 +267,7 @@ struct Uniforms { m_params.m_ambientPass = 1.0f; m_params.m_lightningPass = 1.0f; - m_params.m_lightCount = 4.0f; - m_params.m_alpha = 1.0f; + m_params.m_texelHalf = 0.0f; m_ambient[0] = 0.05f; m_ambient[1] = 0.05f; @@ -374,16 +374,16 @@ struct Uniforms { float m_ambientPass; float m_lightningPass; - float m_alpha; - float m_lightCount; + float m_texelHalf; + float m_unused00; }; struct SvParams { float m_useStencilTex; float m_dfail; - float m_unused0; - float m_unused1; + float m_unused10; + float m_unused11; }; Params m_params; @@ -402,8 +402,8 @@ struct Uniforms /** * u_params.x - u_ambientPass * u_params.y - u_lightningPass - * u_params.z - u_alpha - * u_params.w - u_lightCount + * u_params.z - u_texelHalf + * u_params.w - unused * u_svparams.x - u_useStencilTex * u_svparams.y - u_dfail @@ -1944,23 +1944,22 @@ int _main_(int /*_argc*/, char** /*_argv*/) default: case bgfx::RendererType::Direct3D9: s_shaderPath = "shaders/dx9/"; - s_flipV = true; + s_texelHalf = 0.5f; break; case bgfx::RendererType::Direct3D11: s_shaderPath = "shaders/dx11/"; - s_flipV = true; break; case bgfx::RendererType::OpenGL: s_shaderPath = "shaders/glsl/"; - s_flipV = false; + s_flipV = true; break; case bgfx::RendererType::OpenGLES2: case bgfx::RendererType::OpenGLES3: s_shaderPath = "shaders/gles/"; - s_flipV = false; + s_flipV = true; break; } @@ -2331,7 +2330,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) //update settings s_uniforms.m_params.m_ambientPass = 1.0f; s_uniforms.m_params.m_lightningPass = 1.0f; - s_uniforms.m_params.m_lightCount = settings_numLights; + s_uniforms.m_params.m_texelHalf = s_texelHalf; s_uniforms.m_svparams.m_useStencilTex = float(settings_useStencilTexture); s_uniforms.submitPerFrameUniforms(); diff --git a/examples/14-shadowvolumes/vs_shadowvolume_color_lightning.sc b/examples/14-shadowvolumes/vs_shadowvolume_color_lightning.sc index fd7ec84b8..98bd9acbe 100644 --- a/examples/14-shadowvolumes/vs_shadowvolume_color_lightning.sc +++ b/examples/14-shadowvolumes/vs_shadowvolume_color_lightning.sc @@ -19,5 +19,5 @@ void main() v_view = mul(u_modelView, vec4(a_position, 1.0)).xyz; v_pos = gl_Position; - v_pos.y *= -u_flipV; + v_pos.y *= u_flipV; } diff --git a/examples/14-shadowvolumes/vs_shadowvolume_texture_lightning.sc b/examples/14-shadowvolumes/vs_shadowvolume_texture_lightning.sc index b557a3127..e18232b1a 100644 --- a/examples/14-shadowvolumes/vs_shadowvolume_texture_lightning.sc +++ b/examples/14-shadowvolumes/vs_shadowvolume_texture_lightning.sc @@ -21,5 +21,5 @@ void main() v_texcoord0 = a_texcoord0; v_pos = gl_Position; - v_pos.y *= -u_flipV; + v_pos.y *= u_flipV; } diff --git a/examples/runtime/shaders/dx11/fs_shadowvolume_color_lightning.bin b/examples/runtime/shaders/dx11/fs_shadowvolume_color_lightning.bin index aa444361f..46c6c6ff4 100644 Binary files a/examples/runtime/shaders/dx11/fs_shadowvolume_color_lightning.bin and b/examples/runtime/shaders/dx11/fs_shadowvolume_color_lightning.bin differ diff --git a/examples/runtime/shaders/dx11/fs_shadowvolume_texture_lightning.bin b/examples/runtime/shaders/dx11/fs_shadowvolume_texture_lightning.bin index 890f77e2e..84a456184 100644 Binary files a/examples/runtime/shaders/dx11/fs_shadowvolume_texture_lightning.bin and b/examples/runtime/shaders/dx11/fs_shadowvolume_texture_lightning.bin differ diff --git a/examples/runtime/shaders/dx11/vs_shadowvolume_color_lightning.bin b/examples/runtime/shaders/dx11/vs_shadowvolume_color_lightning.bin index 0741b8ecc..92ded1105 100644 Binary files a/examples/runtime/shaders/dx11/vs_shadowvolume_color_lightning.bin and b/examples/runtime/shaders/dx11/vs_shadowvolume_color_lightning.bin differ diff --git a/examples/runtime/shaders/dx11/vs_shadowvolume_texture_lightning.bin b/examples/runtime/shaders/dx11/vs_shadowvolume_texture_lightning.bin index f75a47768..a891bf8b2 100644 Binary files a/examples/runtime/shaders/dx11/vs_shadowvolume_texture_lightning.bin and b/examples/runtime/shaders/dx11/vs_shadowvolume_texture_lightning.bin differ diff --git a/examples/runtime/shaders/dx9/fs_shadowvolume_color_lightning.bin b/examples/runtime/shaders/dx9/fs_shadowvolume_color_lightning.bin index e7f2b9128..33e690f11 100644 Binary files a/examples/runtime/shaders/dx9/fs_shadowvolume_color_lightning.bin and b/examples/runtime/shaders/dx9/fs_shadowvolume_color_lightning.bin differ diff --git a/examples/runtime/shaders/dx9/fs_shadowvolume_texture_lightning.bin b/examples/runtime/shaders/dx9/fs_shadowvolume_texture_lightning.bin index b2c50efc3..6c4584233 100644 Binary files a/examples/runtime/shaders/dx9/fs_shadowvolume_texture_lightning.bin and b/examples/runtime/shaders/dx9/fs_shadowvolume_texture_lightning.bin differ diff --git a/examples/runtime/shaders/dx9/vs_shadowvolume_color_lightning.bin b/examples/runtime/shaders/dx9/vs_shadowvolume_color_lightning.bin index ffc3f630b..6ad3c04ea 100644 Binary files a/examples/runtime/shaders/dx9/vs_shadowvolume_color_lightning.bin and b/examples/runtime/shaders/dx9/vs_shadowvolume_color_lightning.bin differ diff --git a/examples/runtime/shaders/dx9/vs_shadowvolume_texture_lightning.bin b/examples/runtime/shaders/dx9/vs_shadowvolume_texture_lightning.bin index 793d0ce76..aedfdf1a0 100644 Binary files a/examples/runtime/shaders/dx9/vs_shadowvolume_texture_lightning.bin and b/examples/runtime/shaders/dx9/vs_shadowvolume_texture_lightning.bin differ diff --git a/examples/runtime/shaders/glsl/fs_shadowvolume_color_lightning.bin b/examples/runtime/shaders/glsl/fs_shadowvolume_color_lightning.bin index 652fab507..0e1c86670 100644 Binary files a/examples/runtime/shaders/glsl/fs_shadowvolume_color_lightning.bin and b/examples/runtime/shaders/glsl/fs_shadowvolume_color_lightning.bin differ diff --git a/examples/runtime/shaders/glsl/fs_shadowvolume_texture_lightning.bin b/examples/runtime/shaders/glsl/fs_shadowvolume_texture_lightning.bin index f7de9ed68..9affffb60 100644 Binary files a/examples/runtime/shaders/glsl/fs_shadowvolume_texture_lightning.bin and b/examples/runtime/shaders/glsl/fs_shadowvolume_texture_lightning.bin differ diff --git a/examples/runtime/shaders/glsl/vs_shadowvolume_color_lightning.bin b/examples/runtime/shaders/glsl/vs_shadowvolume_color_lightning.bin index 0c64a04ea..540a62b84 100644 Binary files a/examples/runtime/shaders/glsl/vs_shadowvolume_color_lightning.bin and b/examples/runtime/shaders/glsl/vs_shadowvolume_color_lightning.bin differ diff --git a/examples/runtime/shaders/glsl/vs_shadowvolume_texture_lightning.bin b/examples/runtime/shaders/glsl/vs_shadowvolume_texture_lightning.bin index 790a33fe3..faf1e1962 100644 Binary files a/examples/runtime/shaders/glsl/vs_shadowvolume_texture_lightning.bin and b/examples/runtime/shaders/glsl/vs_shadowvolume_texture_lightning.bin differ