diff options
Diffstat (limited to '3rdparty/bgfx/examples/06-bump/vs_bump_instanced.sc')
-rw-r--r-- | 3rdparty/bgfx/examples/06-bump/vs_bump_instanced.sc | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/3rdparty/bgfx/examples/06-bump/vs_bump_instanced.sc b/3rdparty/bgfx/examples/06-bump/vs_bump_instanced.sc index 24c509732b7..31929c4b648 100644 --- a/3rdparty/bgfx/examples/06-bump/vs_bump_instanced.sc +++ b/3rdparty/bgfx/examples/06-bump/vs_bump_instanced.sc @@ -2,7 +2,7 @@ $input a_position, a_normal, a_tangent, a_texcoord0, i_data0, i_data1, i_data2, $output v_wpos, v_view, v_normal, v_tangent, v_bitangent, v_texcoord0 /* - * Copyright 2011-2018 Branimir Karadzic. All rights reserved. + * Copyright 2011-2019 Branimir Karadzic. All rights reserved. * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause */ @@ -25,19 +25,16 @@ void main() vec4 tangent = a_tangent * 2.0 - 1.0; vec3 wtangent = instMul(model, vec4(tangent.xyz, 0.0) ).xyz; - vec3 viewNormal = normalize(mul(u_view, vec4(wnormal, 0.0) ).xyz); - vec3 viewTangent = normalize(mul(u_view, vec4(wtangent, 0.0) ).xyz); - vec3 viewBitangent = cross(viewNormal, viewTangent) * tangent.w; - mat3 tbn = mat3(viewTangent, viewBitangent, viewNormal); + v_normal = wnormal; + v_tangent = wtangent; + v_bitangent = cross(v_normal, v_tangent) * tangent.w; - v_wpos = wpos; + mat3 tbn = mat3(v_tangent, v_bitangent, v_normal); - vec3 view = mul(u_view, vec4(wpos, 0.0) ).xyz; - v_view = instMul(view, tbn); + v_wpos = wpos; - v_normal = viewNormal; - v_tangent = viewTangent; - v_bitangent = viewBitangent; + vec3 weyepos = mul(vec4(0.0, 0.0, 0.0, 1.0), u_view).xyz; + v_view = instMul(weyepos - wpos, tbn); v_texcoord0 = a_texcoord0; } |