diff --git a/shaders/draw_shadowmap/fs_shadowmaps_unpackdepth.sc b/shaders/draw_shadowmap/fs_shadowmaps_unpackdepth.sc new file mode 100644 index 0000000..de62bdf --- /dev/null +++ b/shaders/draw_shadowmap/fs_shadowmaps_unpackdepth.sc @@ -0,0 +1,19 @@ +$input v_texcoord0 + +/* + * Copyright 2013-2014 Dario Manesku. All rights reserved. + * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause + */ + +#include "../common/common.sh" +SAMPLER2D(s_shadowMap0, 4); + +uniform vec4 u_params2; +#define u_depthValuePow u_params2.x + +void main() +{ + float depth = unpackRgbaToFloat(texture2D(s_shadowMap0, v_texcoord0) ); + vec3 rgba = pow(vec3_splat(depth), vec3_splat(u_depthValuePow) ); + gl_FragColor = vec4(rgba, 1.0); +} diff --git a/shaders/draw_shadowmap/varying.def.sc b/shaders/draw_shadowmap/varying.def.sc new file mode 100644 index 0000000..0ab43ca --- /dev/null +++ b/shaders/draw_shadowmap/varying.def.sc @@ -0,0 +1,5 @@ +vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); + +vec3 a_position : POSITION; +vec4 a_normal : NORMAL; +vec2 a_texcoord0 : TEXCOORD0; diff --git a/shaders/draw_shadowmap/vs_shadowmaps_unpackdepth.sc b/shaders/draw_shadowmap/vs_shadowmaps_unpackdepth.sc new file mode 100644 index 0000000..239f418 --- /dev/null +++ b/shaders/draw_shadowmap/vs_shadowmaps_unpackdepth.sc @@ -0,0 +1,16 @@ +$input a_position, a_texcoord0 +$output v_texcoord0 + +/* + * Copyright 2013-2014 Dario Manesku. All rights reserved. + * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause + */ + +#include "../common/common.sh" + +void main() +{ + gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0) ); + + v_texcoord0 = a_texcoord0; +} diff --git a/shaders/lines/vs_lines.sc b/shaders/lines/vs_lines.sc index 9f8df06..0ea3ddc 100644 --- a/shaders/lines/vs_lines.sc +++ b/shaders/lines/vs_lines.sc @@ -31,6 +31,10 @@ void main() vec2 next_screen = next_proj.xy / next_proj.w * aspect_vec; float len = thickness; + // uncomment the following line to get a line width + // independent of distance to screen. + // len *= current_proj.w; + float orientation = direction; vec2 dir = vec2(0.0); diff --git a/shaders/src/mesh.out b/shaders/src/mesh.out new file mode 100644 index 0000000..44664dc Binary files /dev/null and b/shaders/src/mesh.out differ