From 2365fe04ffc5bc0eb50f989a63ec2b483415b2bb Mon Sep 17 00:00:00 2001 From: Martin Felis Date: Sat, 14 Jan 2017 14:31:43 +0100 Subject: [PATCH] Added commented code that can be used for depth-independent line width --- .../fs_shadowmaps_unpackdepth.sc | 19 ++++++++++++++++++ shaders/draw_shadowmap/varying.def.sc | 5 +++++ .../vs_shadowmaps_unpackdepth.sc | 16 +++++++++++++++ shaders/lines/vs_lines.sc | 4 ++++ shaders/src/mesh.out | Bin 0 -> 8825 bytes 5 files changed, 44 insertions(+) create mode 100644 shaders/draw_shadowmap/fs_shadowmaps_unpackdepth.sc create mode 100644 shaders/draw_shadowmap/varying.def.sc create mode 100644 shaders/draw_shadowmap/vs_shadowmaps_unpackdepth.sc create mode 100644 shaders/src/mesh.out 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 0000000000000000000000000000000000000000..44664dc87eb6210d28a25be5ed51c4aff443aad3 GIT binary patch literal 8825 zcmcJVOOM+&6os84Knr)(f53JncP5I(mplm4O@bhs0s+#!q0A^VF6@zEd!9l5dk?AS z6(uSvpd^@B)aB*lkVoH${_y$Z%U|~YetbEb->tWs>zmW3?D*4*+3dya=ezY~w#^Rt z)o*v}<4tmvJ^Y>QKP87`S492VC`Tpy`~8pE>^?a>ZEmmG4KnW8eR?U_{rWaL?2_%9 zxpPzEW}f^q%MMo^5vKb6CVhA_zq{RhMV>mdWOc`TZrfq>+-nW0j@o7qdv;8A`)zvQ z??2nIqp2z$z05XOY?o|qS+JOYo3px4oNX`H(VJ$GV5i+4BVThXm(mYm9JqLD%%#Z`7zYWfX5zhXTATmyOyod_?`CH_fy%e8P<& z2+&!^Z0kW##<9QNvSqkjEX>V6nGM+`k1RmpdET3%B4Ys$mxw8=+A5|}+1&+uRo>)_ zb21ybk3k%c{Xp_BWEBt51VCEQ|v@I9;<+<%xJ#Tj4>r?ueZa-s&*UH>#UL%2t z34$nGzJ>smzWE{#AJM#R%q$0@f^HQb(&OFsw2oVi7d=~<;_|bZTC(IJHwH$F9&Ec` zvTR${yD&L6Us;gcJ_Xl@G&!Y*e{K@2zcTT8J{XMUoZ*L=JN6Bgs-`c{v`HC6Hv4y$ zZjY%OVj9?{$75%9tFqNU&r$ZO=)^^{xf7JlVCtSh)*OC!YiU-pp}xXH^ar$)ZxV6l(eGMyY27qP!AzCX{b=TQ$Fo3>pH3Rkvi#$$`?EG zt*Cr4E`LzIppx?J2c%r(HrZImwU*Ym>ONl#YkA>nIZ{eqcnO(sZXJbKNJGktUMV>> z6K)oQgYreC8w6e#h{c3aa?tzsq(_I zsFc#PE4k>Gk{SzFu9U_S9aH7fCuQLqrIco0BX4^?08^(Qe5I|y;L9BHwl3w8weXes((M^I-GF6;;fO*10T^3K7u-naKT4(f)7ePQc~~{6numO zJ_sOEP6a-~13rTKlNbgcgg8=;d|Jvb@R2_75&hsJsj)~Gd}Js1ptN5~Nx?@_@R1Jq zAfPEF0;buO(gQw{+LIgxAA~fd{9g}C*#$n*2R^bNd?fW1>4J~!1Rs=oq@>^@DfmbS zd=NmSoCG>MPRa9@)t~DD9V0QSMQc zd!)lX2q02U#XZWyJ&M|s8s;8^w51%Wr0Sv`<)a?ePd$p-igKw(by5#XJxWsQQIvX= zLp=y+Dv5w;{8f3VM^SfD!_Cl&TAQln;7TKlCW-D$0c()d@W)^(aZ9M^Wfe z4)h>^C^;4MC=c`~YEEhxdJxi35+aWOwNiIMkM=>2>W3apT}8XlqdTDorTtQB3O$-a zk9MF30Zl0pFwLga9_Z23o%AsDAjFY!q`&Ge=+Qpt(f!b)sjX-idUPlBpwuHJg&s|z zM?27i03zj7(4#%jqp3aVVdz0fTgtIYb}^6kF^`UWnMYGw(Ju4oPUb;rzmhR!o|rO^ zc9;hNM9Ha`C-yK;Ox-CSW*&sJl^pq`jJud8_AyV~&pa`8mDpvTxRZHM>QRz1PfVF7 zc9;hNO(hX9jlISd^As^CN==FQk!w$C1LIQ->UoW7g$c!kr;;)@(u1<&^U{VYGS$LYQ~LdRDC&g@xw_+*Yc xo5A(Tr?zMCIH1Sjs6bw+>|b--?taW)Ze4HJ9}da&JM$fq`UR>P&G-3y_8->FcIf~B literal 0 HcmV?d00001