render3d: a glTF material's factors are drawn - base colour, roughness, metallic and emission

gltf_factors reads pbrMetallicRoughness.baseColorFactor, metallicFactor, roughnessFactor and the
emissiveFactor into the primitive (pr.fac), and prim_factors hands them to every program that draws its
textures (actors, the scatter's meshes and levels, the impostor bake) as 1 - factor, so a program never
given them - or a material that gives none (pr.fac null) - multiplies by 1 and draws as before. An
untextured material with a colour (or a metal/roughness) samples a pure white for it, so the factor is
exactly what it draws: horse_cornea is its own colour, not the 200 grey every untextured part had.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-29 18:52:42 +03:00
parent d2e1f804ce
commit f79390838a
27 changed files with 221 additions and 114 deletions

View file

@ -949,7 +949,7 @@ U d48d6a48 vert u_d0 4404 float 1 0
U d48d6a48 vert u_radius 4408 float 1 0
U d48d6a48 vert u_px 4412 float 1 0
U d48d6a48 vert u_dbg 4416 int 1 0
B d48d6a48 frag 1 980
B d48d6a48 frag 1 1028
U d48d6a48 frag u_cascade_vp 0 mat4 5 64
U d48d6a48 frag u_cascade_split 320 float 5 16
U d48d6a48 frag u_cascade_range 400 float 5 16
@ -987,14 +987,17 @@ U d48d6a48 frag u_fog_inscatter 820 float 1 0
U d48d6a48 frag u_fog_desat 824 float 1 0
U d48d6a48 frag u_fog_wall 828 float 1 0
U d48d6a48 frag u_model_h 832 float 1 0
U d48d6a48 frag u_view 848 mat4 1 0
U d48d6a48 frag u_tint 912 vec3 1 0
U d48d6a48 frag u_rough_scale 924 float 1 0
U d48d6a48 frag u_emissive 928 float 1 0
U d48d6a48 frag u_blade_base 944 vec3 1 0
U d48d6a48 frag u_blade_tip 960 vec3 1 0
U d48d6a48 frag u_blade_cols 972 float 1 0
U d48d6a48 frag u_blade_tex_on 976 float 1 0
U d48d6a48 frag u_fac_base_inv 848 vec4 1 0
U d48d6a48 frag u_fac_mr_inv 864 vec2 1 0
U d48d6a48 frag u_fac_emis 880 vec3 1 0
U d48d6a48 frag u_view 896 mat4 1 0
U d48d6a48 frag u_tint 960 vec3 1 0
U d48d6a48 frag u_rough_scale 972 float 1 0
U d48d6a48 frag u_emissive 976 float 1 0
U d48d6a48 frag u_blade_base 992 vec3 1 0
U d48d6a48 frag u_blade_tip 1008 vec3 1 0
U d48d6a48 frag u_blade_cols 1020 float 1 0
U d48d6a48 frag u_blade_tex_on 1024 float 1 0
T d48d6a48 u_arm 2
T d48d6a48 u_blade_tex 3
T d48d6a48 u_brdf 4
@ -1039,7 +1042,7 @@ U cb13f3c6 vert u_px 348 float 1 0
U cb13f3c6 vert u_dbg 352 int 1 0
I cb13f3c6 a_pos 0 vec3
I cb13f3c6 a_uv 2 vec2
B cb13f3c6 frag 1 980
B cb13f3c6 frag 1 1028
U cb13f3c6 frag u_cascade_vp 0 mat4 5 64
U cb13f3c6 frag u_cascade_split 320 float 5 16
U cb13f3c6 frag u_cascade_range 400 float 5 16
@ -1077,14 +1080,17 @@ U cb13f3c6 frag u_fog_inscatter 820 float 1 0
U cb13f3c6 frag u_fog_desat 824 float 1 0
U cb13f3c6 frag u_fog_wall 828 float 1 0
U cb13f3c6 frag u_model_h 832 float 1 0
U cb13f3c6 frag u_view 848 mat4 1 0
U cb13f3c6 frag u_tint 912 vec3 1 0
U cb13f3c6 frag u_rough_scale 924 float 1 0
U cb13f3c6 frag u_emissive 928 float 1 0
U cb13f3c6 frag u_blade_base 944 vec3 1 0
U cb13f3c6 frag u_blade_tip 960 vec3 1 0
U cb13f3c6 frag u_blade_cols 972 float 1 0
U cb13f3c6 frag u_blade_tex_on 976 float 1 0
U cb13f3c6 frag u_fac_base_inv 848 vec4 1 0
U cb13f3c6 frag u_fac_mr_inv 864 vec2 1 0
U cb13f3c6 frag u_fac_emis 880 vec3 1 0
U cb13f3c6 frag u_view 896 mat4 1 0
U cb13f3c6 frag u_tint 960 vec3 1 0
U cb13f3c6 frag u_rough_scale 972 float 1 0
U cb13f3c6 frag u_emissive 976 float 1 0
U cb13f3c6 frag u_blade_base 992 vec3 1 0
U cb13f3c6 frag u_blade_tip 1008 vec3 1 0
U cb13f3c6 frag u_blade_cols 1020 float 1 0
U cb13f3c6 frag u_blade_tex_on 1024 float 1 0
T cb13f3c6 u_arm 2
T cb13f3c6 u_blade_tex 3
T cb13f3c6 u_brdf 4
@ -1130,7 +1136,7 @@ U b8cff226 vert u_px 4444 float 1 0
U b8cff226 vert u_dbg 4448 int 1 0
I b8cff226 a_pos 0 vec3
I b8cff226 a_uv 2 vec2
B b8cff226 frag 1 980
B b8cff226 frag 1 1028
U b8cff226 frag u_cascade_vp 0 mat4 5 64
U b8cff226 frag u_cascade_split 320 float 5 16
U b8cff226 frag u_cascade_range 400 float 5 16
@ -1168,14 +1174,17 @@ U b8cff226 frag u_fog_inscatter 820 float 1 0
U b8cff226 frag u_fog_desat 824 float 1 0
U b8cff226 frag u_fog_wall 828 float 1 0
U b8cff226 frag u_model_h 832 float 1 0
U b8cff226 frag u_view 848 mat4 1 0
U b8cff226 frag u_tint 912 vec3 1 0
U b8cff226 frag u_rough_scale 924 float 1 0
U b8cff226 frag u_emissive 928 float 1 0
U b8cff226 frag u_blade_base 944 vec3 1 0
U b8cff226 frag u_blade_tip 960 vec3 1 0
U b8cff226 frag u_blade_cols 972 float 1 0
U b8cff226 frag u_blade_tex_on 976 float 1 0
U b8cff226 frag u_fac_base_inv 848 vec4 1 0
U b8cff226 frag u_fac_mr_inv 864 vec2 1 0
U b8cff226 frag u_fac_emis 880 vec3 1 0
U b8cff226 frag u_view 896 mat4 1 0
U b8cff226 frag u_tint 960 vec3 1 0
U b8cff226 frag u_rough_scale 972 float 1 0
U b8cff226 frag u_emissive 976 float 1 0
U b8cff226 frag u_blade_base 992 vec3 1 0
U b8cff226 frag u_blade_tip 1008 vec3 1 0
U b8cff226 frag u_blade_cols 1020 float 1 0
U b8cff226 frag u_blade_tex_on 1024 float 1 0
T b8cff226 u_arm 2
T b8cff226 u_blade_tex 3
T b8cff226 u_brdf 4
@ -1341,7 +1350,7 @@ I 9dce3246 a_pos 0 vec3
I 9dce3246 i_pos 3 vec4
I 9dce3246 a_nrm 1 vec3
I 9dce3246 a_uv 2 vec2
B 9dce3246 frag 0 832
B 9dce3246 frag 1 848
U 9dce3246 frag u_cascade_vp 0 mat4 5 64
U 9dce3246 frag u_cascade_split 320 float 5 16
U 9dce3246 frag u_cascade_range 400 float 5 16
@ -1378,6 +1387,7 @@ U 9dce3246 frag u_time 816 float 1 0
U 9dce3246 frag u_fog_inscatter 820 float 1 0
U 9dce3246 frag u_fog_desat 824 float 1 0
U 9dce3246 frag u_fog_wall 828 float 1 0
U 9dce3246 frag u_fac_base_inv 832 vec4 1 0
T 9dce3246 u_arm 2
T 9dce3246 u_brdf 3
T 9dce3246 u_diff 4
@ -1410,7 +1420,7 @@ I 439a2253 a_pos 0 vec3
I 439a2253 i_pos 3 vec4
I 439a2253 a_nrm 1 vec3
I 439a2253 a_uv 2 vec2
B 439a2253 frag 0 832
B 439a2253 frag 1 848
U 439a2253 frag u_cascade_vp 0 mat4 5 64
U 439a2253 frag u_cascade_split 320 float 5 16
U 439a2253 frag u_cascade_range 400 float 5 16
@ -1447,6 +1457,7 @@ U 439a2253 frag u_time 816 float 1 0
U 439a2253 frag u_fog_inscatter 820 float 1 0
U 439a2253 frag u_fog_desat 824 float 1 0
U 439a2253 frag u_fog_wall 828 float 1 0
U 439a2253 frag u_fac_base_inv 832 vec4 1 0
T 439a2253 u_arm 2
T 439a2253 u_brdf 3
T 439a2253 u_diff 4
@ -1479,7 +1490,7 @@ I 86f427b0 a_pos 0 vec3
I 86f427b0 i_pos 3 vec4
I 86f427b0 a_nrm 1 vec3
I 86f427b0 a_uv 2 vec2
B 86f427b0 frag 0 832
B 86f427b0 frag 1 848
U 86f427b0 frag u_cascade_vp 0 mat4 5 64
U 86f427b0 frag u_cascade_split 320 float 5 16
U 86f427b0 frag u_cascade_range 400 float 5 16
@ -1516,6 +1527,7 @@ U 86f427b0 frag u_time 816 float 1 0
U 86f427b0 frag u_fog_inscatter 820 float 1 0
U 86f427b0 frag u_fog_desat 824 float 1 0
U 86f427b0 frag u_fog_wall 828 float 1 0
U 86f427b0 frag u_fac_base_inv 832 vec4 1 0
T 86f427b0 u_arm 2
T 86f427b0 u_brdf 3
T 86f427b0 u_diff 4
@ -1684,7 +1696,7 @@ I 01089da8 a_pos 0 vec3
I 01089da8 i_pos 3 vec4
I 01089da8 a_nrm 1 vec3
I 01089da8 a_uv 2 vec2
B 01089da8 frag 1 932
B 01089da8 frag 1 980
U 01089da8 frag u_cascade_vp 0 mat4 5 64
U 01089da8 frag u_cascade_split 320 float 5 16
U 01089da8 frag u_cascade_range 400 float 5 16
@ -1722,10 +1734,13 @@ U 01089da8 frag u_fog_inscatter 820 float 1 0
U 01089da8 frag u_fog_desat 824 float 1 0
U 01089da8 frag u_fog_wall 828 float 1 0
U 01089da8 frag u_model_h 832 float 1 0
U 01089da8 frag u_view 848 mat4 1 0
U 01089da8 frag u_tint 912 vec3 1 0
U 01089da8 frag u_rough_scale 924 float 1 0
U 01089da8 frag u_emissive 928 float 1 0
U 01089da8 frag u_fac_base_inv 848 vec4 1 0
U 01089da8 frag u_fac_mr_inv 864 vec2 1 0
U 01089da8 frag u_fac_emis 880 vec3 1 0
U 01089da8 frag u_view 896 mat4 1 0
U 01089da8 frag u_tint 960 vec3 1 0
U 01089da8 frag u_rough_scale 972 float 1 0
U 01089da8 frag u_emissive 976 float 1 0
T 01089da8 u_arm 2
T 01089da8 u_blade_tex 3
T 01089da8 u_brdf 4
@ -1760,7 +1775,7 @@ I 254e7887 a_pos 0 vec3
I 254e7887 i_pos 3 vec4
I 254e7887 a_nrm 1 vec3
I 254e7887 a_uv 2 vec2
B 254e7887 frag 1 936
B 254e7887 frag 1 984
U 254e7887 frag u_cascade_vp 0 mat4 5 64
U 254e7887 frag u_cascade_split 320 float 5 16
U 254e7887 frag u_cascade_range 400 float 5 16
@ -1798,11 +1813,14 @@ U 254e7887 frag u_fog_inscatter 820 float 1 0
U 254e7887 frag u_fog_desat 824 float 1 0
U 254e7887 frag u_fog_wall 828 float 1 0
U 254e7887 frag u_model_h 832 float 1 0
U 254e7887 frag u_view 848 mat4 1 0
U 254e7887 frag u_tint 912 vec3 1 0
U 254e7887 frag u_rough_scale 924 float 1 0
U 254e7887 frag u_emissive 928 float 1 0
U 254e7887 frag u_cull 932 float 1 0
U 254e7887 frag u_fac_base_inv 848 vec4 1 0
U 254e7887 frag u_fac_mr_inv 864 vec2 1 0
U 254e7887 frag u_fac_emis 880 vec3 1 0
U 254e7887 frag u_view 896 mat4 1 0
U 254e7887 frag u_tint 960 vec3 1 0
U 254e7887 frag u_rough_scale 972 float 1 0
U 254e7887 frag u_emissive 976 float 1 0
U 254e7887 frag u_cull 980 float 1 0
T 254e7887 u_arm 2
T 254e7887 u_blade_tex 3
T 254e7887 u_brdf 4
@ -1837,7 +1855,7 @@ I 1ce5c5d1 a_pos 0 vec3
I 1ce5c5d1 i_pos 3 vec4
I 1ce5c5d1 a_nrm 1 vec3
I 1ce5c5d1 a_uv 2 vec2
B 1ce5c5d1 frag 1 932
B 1ce5c5d1 frag 1 980
U 1ce5c5d1 frag u_cascade_vp 0 mat4 5 64
U 1ce5c5d1 frag u_cascade_split 320 float 5 16
U 1ce5c5d1 frag u_cascade_range 400 float 5 16
@ -1875,10 +1893,13 @@ U 1ce5c5d1 frag u_fog_inscatter 820 float 1 0
U 1ce5c5d1 frag u_fog_desat 824 float 1 0
U 1ce5c5d1 frag u_fog_wall 828 float 1 0
U 1ce5c5d1 frag u_model_h 832 float 1 0
U 1ce5c5d1 frag u_view 848 mat4 1 0
U 1ce5c5d1 frag u_tint 912 vec3 1 0
U 1ce5c5d1 frag u_rough_scale 924 float 1 0
U 1ce5c5d1 frag u_emissive 928 float 1 0
U 1ce5c5d1 frag u_fac_base_inv 848 vec4 1 0
U 1ce5c5d1 frag u_fac_mr_inv 864 vec2 1 0
U 1ce5c5d1 frag u_fac_emis 880 vec3 1 0
U 1ce5c5d1 frag u_view 896 mat4 1 0
U 1ce5c5d1 frag u_tint 960 vec3 1 0
U 1ce5c5d1 frag u_rough_scale 972 float 1 0
U 1ce5c5d1 frag u_emissive 976 float 1 0
T 1ce5c5d1 u_arm 2
T 1ce5c5d1 u_blade_tex 3
T 1ce5c5d1 u_brdf 4
@ -1913,7 +1934,7 @@ I 5e70d731 a_pos 0 vec3
I 5e70d731 i_pos 3 vec4
I 5e70d731 a_nrm 1 vec3
I 5e70d731 a_uv 2 vec2
B 5e70d731 frag 1 932
B 5e70d731 frag 1 980
U 5e70d731 frag u_cascade_vp 0 mat4 5 64
U 5e70d731 frag u_cascade_split 320 float 5 16
U 5e70d731 frag u_cascade_range 400 float 5 16
@ -1951,10 +1972,13 @@ U 5e70d731 frag u_fog_inscatter 820 float 1 0
U 5e70d731 frag u_fog_desat 824 float 1 0
U 5e70d731 frag u_fog_wall 828 float 1 0
U 5e70d731 frag u_model_h 832 float 1 0
U 5e70d731 frag u_view 848 mat4 1 0
U 5e70d731 frag u_tint 912 vec3 1 0
U 5e70d731 frag u_rough_scale 924 float 1 0
U 5e70d731 frag u_emissive 928 float 1 0
U 5e70d731 frag u_fac_base_inv 848 vec4 1 0
U 5e70d731 frag u_fac_mr_inv 864 vec2 1 0
U 5e70d731 frag u_fac_emis 880 vec3 1 0
U 5e70d731 frag u_view 896 mat4 1 0
U 5e70d731 frag u_tint 960 vec3 1 0
U 5e70d731 frag u_rough_scale 972 float 1 0
U 5e70d731 frag u_emissive 976 float 1 0
T 5e70d731 u_arm 2
T 5e70d731 u_blade_tex 3
T 5e70d731 u_brdf 4
@ -1991,7 +2015,7 @@ I f4a2b586 a_pos 0 vec3
I f4a2b586 i_pos 3 vec4
I f4a2b586 a_nrm 1 vec3
I f4a2b586 a_uv 2 vec2
B f4a2b586 frag 1 980
B f4a2b586 frag 1 1028
U f4a2b586 frag u_cascade_vp 0 mat4 5 64
U f4a2b586 frag u_cascade_split 320 float 5 16
U f4a2b586 frag u_cascade_range 400 float 5 16
@ -2029,14 +2053,17 @@ U f4a2b586 frag u_fog_inscatter 820 float 1 0
U f4a2b586 frag u_fog_desat 824 float 1 0
U f4a2b586 frag u_fog_wall 828 float 1 0
U f4a2b586 frag u_model_h 832 float 1 0
U f4a2b586 frag u_view 848 mat4 1 0
U f4a2b586 frag u_tint 912 vec3 1 0
U f4a2b586 frag u_rough_scale 924 float 1 0
U f4a2b586 frag u_emissive 928 float 1 0
U f4a2b586 frag u_blade_base 944 vec3 1 0
U f4a2b586 frag u_blade_tip 960 vec3 1 0
U f4a2b586 frag u_blade_cols 972 float 1 0
U f4a2b586 frag u_blade_tex_on 976 float 1 0
U f4a2b586 frag u_fac_base_inv 848 vec4 1 0
U f4a2b586 frag u_fac_mr_inv 864 vec2 1 0
U f4a2b586 frag u_fac_emis 880 vec3 1 0
U f4a2b586 frag u_view 896 mat4 1 0
U f4a2b586 frag u_tint 960 vec3 1 0
U f4a2b586 frag u_rough_scale 972 float 1 0
U f4a2b586 frag u_emissive 976 float 1 0
U f4a2b586 frag u_blade_base 992 vec3 1 0
U f4a2b586 frag u_blade_tip 1008 vec3 1 0
U f4a2b586 frag u_blade_cols 1020 float 1 0
U f4a2b586 frag u_blade_tex_on 1024 float 1 0
T f4a2b586 u_arm 2
T f4a2b586 u_blade_tex 3
T f4a2b586 u_brdf 4
@ -2071,7 +2098,7 @@ I b4587cd4 a_pos 0 vec3
I b4587cd4 i_pos 3 vec4
I b4587cd4 a_nrm 1 vec3
I b4587cd4 a_uv 2 vec2
B b4587cd4 frag 1 936
B b4587cd4 frag 1 984
U b4587cd4 frag u_cascade_vp 0 mat4 5 64
U b4587cd4 frag u_cascade_split 320 float 5 16
U b4587cd4 frag u_cascade_range 400 float 5 16
@ -2109,11 +2136,14 @@ U b4587cd4 frag u_fog_inscatter 820 float 1 0
U b4587cd4 frag u_fog_desat 824 float 1 0
U b4587cd4 frag u_fog_wall 828 float 1 0
U b4587cd4 frag u_model_h 832 float 1 0
U b4587cd4 frag u_view 848 mat4 1 0
U b4587cd4 frag u_tint 912 vec3 1 0
U b4587cd4 frag u_rough_scale 924 float 1 0
U b4587cd4 frag u_emissive 928 float 1 0
U b4587cd4 frag u_cull 932 float 1 0
U b4587cd4 frag u_fac_base_inv 848 vec4 1 0
U b4587cd4 frag u_fac_mr_inv 864 vec2 1 0
U b4587cd4 frag u_fac_emis 880 vec3 1 0
U b4587cd4 frag u_view 896 mat4 1 0
U b4587cd4 frag u_tint 960 vec3 1 0
U b4587cd4 frag u_rough_scale 972 float 1 0
U b4587cd4 frag u_emissive 976 float 1 0
U b4587cd4 frag u_cull 980 float 1 0
T b4587cd4 u_arm 2
T b4587cd4 u_blade_tex 3
T b4587cd4 u_brdf 4
@ -2148,7 +2178,7 @@ I 4dda406a a_pos 0 vec3
I 4dda406a i_pos 3 vec4
I 4dda406a a_nrm 1 vec3
I 4dda406a a_uv 2 vec2
B 4dda406a frag 1 932
B 4dda406a frag 1 980
U 4dda406a frag u_cascade_vp 0 mat4 5 64
U 4dda406a frag u_cascade_split 320 float 5 16
U 4dda406a frag u_cascade_range 400 float 5 16
@ -2186,10 +2216,13 @@ U 4dda406a frag u_fog_inscatter 820 float 1 0
U 4dda406a frag u_fog_desat 824 float 1 0
U 4dda406a frag u_fog_wall 828 float 1 0
U 4dda406a frag u_model_h 832 float 1 0
U 4dda406a frag u_view 848 mat4 1 0
U 4dda406a frag u_tint 912 vec3 1 0
U 4dda406a frag u_rough_scale 924 float 1 0
U 4dda406a frag u_emissive 928 float 1 0
U 4dda406a frag u_fac_base_inv 848 vec4 1 0
U 4dda406a frag u_fac_mr_inv 864 vec2 1 0
U 4dda406a frag u_fac_emis 880 vec3 1 0
U 4dda406a frag u_view 896 mat4 1 0
U 4dda406a frag u_tint 960 vec3 1 0
U 4dda406a frag u_rough_scale 972 float 1 0
U 4dda406a frag u_emissive 976 float 1 0
T 4dda406a u_arm 2
T 4dda406a u_blade_tex 3
T 4dda406a u_brdf 4
@ -2224,7 +2257,7 @@ I b603a056 a_pos 0 vec3
I b603a056 i_pos 3 vec4
I b603a056 a_nrm 1 vec3
I b603a056 a_uv 2 vec2
B b603a056 frag 1 932
B b603a056 frag 1 980
U b603a056 frag u_cascade_vp 0 mat4 5 64
U b603a056 frag u_cascade_split 320 float 5 16
U b603a056 frag u_cascade_range 400 float 5 16
@ -2262,10 +2295,13 @@ U b603a056 frag u_fog_inscatter 820 float 1 0
U b603a056 frag u_fog_desat 824 float 1 0
U b603a056 frag u_fog_wall 828 float 1 0
U b603a056 frag u_model_h 832 float 1 0
U b603a056 frag u_view 848 mat4 1 0
U b603a056 frag u_tint 912 vec3 1 0
U b603a056 frag u_rough_scale 924 float 1 0
U b603a056 frag u_emissive 928 float 1 0
U b603a056 frag u_fac_base_inv 848 vec4 1 0
U b603a056 frag u_fac_mr_inv 864 vec2 1 0
U b603a056 frag u_fac_emis 880 vec3 1 0
U b603a056 frag u_view 896 mat4 1 0
U b603a056 frag u_tint 960 vec3 1 0
U b603a056 frag u_rough_scale 972 float 1 0
U b603a056 frag u_emissive 976 float 1 0
T b603a056 u_arm 2
T b603a056 u_blade_tex 3
T b603a056 u_brdf 4
@ -2300,7 +2336,7 @@ I 3b183d8f a_pos 0 vec3
I 3b183d8f i_pos 3 vec4
I 3b183d8f a_nrm 1 vec3
I 3b183d8f a_uv 2 vec2
B 3b183d8f frag 1 932
B 3b183d8f frag 1 980
U 3b183d8f frag u_cascade_vp 0 mat4 5 64
U 3b183d8f frag u_cascade_split 320 float 5 16
U 3b183d8f frag u_cascade_range 400 float 5 16
@ -2338,10 +2374,13 @@ U 3b183d8f frag u_fog_inscatter 820 float 1 0
U 3b183d8f frag u_fog_desat 824 float 1 0
U 3b183d8f frag u_fog_wall 828 float 1 0
U 3b183d8f frag u_model_h 832 float 1 0
U 3b183d8f frag u_view 848 mat4 1 0
U 3b183d8f frag u_tint 912 vec3 1 0
U 3b183d8f frag u_rough_scale 924 float 1 0
U 3b183d8f frag u_emissive 928 float 1 0
U 3b183d8f frag u_fac_base_inv 848 vec4 1 0
U 3b183d8f frag u_fac_mr_inv 864 vec2 1 0
U 3b183d8f frag u_fac_emis 880 vec3 1 0
U 3b183d8f frag u_view 896 mat4 1 0
U 3b183d8f frag u_tint 960 vec3 1 0
U 3b183d8f frag u_rough_scale 972 float 1 0
U 3b183d8f frag u_emissive 976 float 1 0
T 3b183d8f u_arm 2
T 3b183d8f u_blade_tex 3
T 3b183d8f u_brdf 4
@ -2376,7 +2415,7 @@ I 79b77ed9 a_pos 0 vec3
I 79b77ed9 i_pos 3 vec4
I 79b77ed9 a_nrm 1 vec3
I 79b77ed9 a_uv 2 vec2
B 79b77ed9 frag 1 936
B 79b77ed9 frag 1 984
U 79b77ed9 frag u_cascade_vp 0 mat4 5 64
U 79b77ed9 frag u_cascade_split 320 float 5 16
U 79b77ed9 frag u_cascade_range 400 float 5 16
@ -2414,11 +2453,14 @@ U 79b77ed9 frag u_fog_inscatter 820 float 1 0
U 79b77ed9 frag u_fog_desat 824 float 1 0
U 79b77ed9 frag u_fog_wall 828 float 1 0
U 79b77ed9 frag u_model_h 832 float 1 0
U 79b77ed9 frag u_view 848 mat4 1 0
U 79b77ed9 frag u_tint 912 vec3 1 0
U 79b77ed9 frag u_rough_scale 924 float 1 0
U 79b77ed9 frag u_emissive 928 float 1 0
U 79b77ed9 frag u_cull 932 float 1 0
U 79b77ed9 frag u_fac_base_inv 848 vec4 1 0
U 79b77ed9 frag u_fac_mr_inv 864 vec2 1 0
U 79b77ed9 frag u_fac_emis 880 vec3 1 0
U 79b77ed9 frag u_view 896 mat4 1 0
U 79b77ed9 frag u_tint 960 vec3 1 0
U 79b77ed9 frag u_rough_scale 972 float 1 0
U 79b77ed9 frag u_emissive 976 float 1 0
U 79b77ed9 frag u_cull 980 float 1 0
T 79b77ed9 u_arm 2
T 79b77ed9 u_blade_tex 3
T 79b77ed9 u_brdf 4
@ -2453,7 +2495,7 @@ I b9fc2041 a_pos 0 vec3
I b9fc2041 i_pos 3 vec4
I b9fc2041 a_nrm 1 vec3
I b9fc2041 a_uv 2 vec2
B b9fc2041 frag 1 932
B b9fc2041 frag 1 980
U b9fc2041 frag u_cascade_vp 0 mat4 5 64
U b9fc2041 frag u_cascade_split 320 float 5 16
U b9fc2041 frag u_cascade_range 400 float 5 16
@ -2491,10 +2533,13 @@ U b9fc2041 frag u_fog_inscatter 820 float 1 0
U b9fc2041 frag u_fog_desat 824 float 1 0
U b9fc2041 frag u_fog_wall 828 float 1 0
U b9fc2041 frag u_model_h 832 float 1 0
U b9fc2041 frag u_view 848 mat4 1 0
U b9fc2041 frag u_tint 912 vec3 1 0
U b9fc2041 frag u_rough_scale 924 float 1 0
U b9fc2041 frag u_emissive 928 float 1 0
U b9fc2041 frag u_fac_base_inv 848 vec4 1 0
U b9fc2041 frag u_fac_mr_inv 864 vec2 1 0
U b9fc2041 frag u_fac_emis 880 vec3 1 0
U b9fc2041 frag u_view 896 mat4 1 0
U b9fc2041 frag u_tint 960 vec3 1 0
U b9fc2041 frag u_rough_scale 972 float 1 0
U b9fc2041 frag u_emissive 976 float 1 0
T b9fc2041 u_arm 2
T b9fc2041 u_blade_tex 3
T b9fc2041 u_brdf 4
@ -2831,7 +2876,7 @@ I 1fde9cd2 a_joints 5 vec4
I 1fde9cd2 a_pos 0 vec3
I 1fde9cd2 a_nrm 1 vec3
I 1fde9cd2 a_uv 2 vec2
B 1fde9cd2 frag 1 932
B 1fde9cd2 frag 1 980
U 1fde9cd2 frag u_cascade_vp 0 mat4 5 64
U 1fde9cd2 frag u_cascade_split 320 float 5 16
U 1fde9cd2 frag u_cascade_range 400 float 5 16
@ -2869,10 +2914,13 @@ U 1fde9cd2 frag u_fog_inscatter 820 float 1 0
U 1fde9cd2 frag u_fog_desat 824 float 1 0
U 1fde9cd2 frag u_fog_wall 828 float 1 0
U 1fde9cd2 frag u_model_h 832 float 1 0
U 1fde9cd2 frag u_view 848 mat4 1 0
U 1fde9cd2 frag u_tint 912 vec3 1 0
U 1fde9cd2 frag u_rough_scale 924 float 1 0
U 1fde9cd2 frag u_emissive 928 float 1 0
U 1fde9cd2 frag u_fac_base_inv 848 vec4 1 0
U 1fde9cd2 frag u_fac_mr_inv 864 vec2 1 0
U 1fde9cd2 frag u_fac_emis 880 vec3 1 0
U 1fde9cd2 frag u_view 896 mat4 1 0
U 1fde9cd2 frag u_tint 960 vec3 1 0
U 1fde9cd2 frag u_rough_scale 972 float 1 0
U 1fde9cd2 frag u_emissive 976 float 1 0
T 1fde9cd2 u_arm 2
T 1fde9cd2 u_blade_tex 3
T 1fde9cd2 u_brdf 4
@ -2897,7 +2945,7 @@ I a5ad521e a_joints 5 vec4
I a5ad521e a_pos 0 vec3
I a5ad521e a_nrm 1 vec3
I a5ad521e a_uv 2 vec2
B a5ad521e frag 1 932
B a5ad521e frag 1 980
U a5ad521e frag u_cascade_vp 0 mat4 5 64
U a5ad521e frag u_cascade_split 320 float 5 16
U a5ad521e frag u_cascade_range 400 float 5 16
@ -2935,10 +2983,13 @@ U a5ad521e frag u_fog_inscatter 820 float 1 0
U a5ad521e frag u_fog_desat 824 float 1 0
U a5ad521e frag u_fog_wall 828 float 1 0
U a5ad521e frag u_model_h 832 float 1 0
U a5ad521e frag u_view 848 mat4 1 0
U a5ad521e frag u_tint 912 vec3 1 0
U a5ad521e frag u_rough_scale 924 float 1 0
U a5ad521e frag u_emissive 928 float 1 0
U a5ad521e frag u_fac_base_inv 848 vec4 1 0
U a5ad521e frag u_fac_mr_inv 864 vec2 1 0
U a5ad521e frag u_fac_emis 880 vec3 1 0
U a5ad521e frag u_view 896 mat4 1 0
U a5ad521e frag u_tint 960 vec3 1 0
U a5ad521e frag u_rough_scale 972 float 1 0
U a5ad521e frag u_emissive 976 float 1 0
T a5ad521e u_arm 2
T a5ad521e u_blade_tex 3
T a5ad521e u_brdf 4
@ -3858,7 +3909,7 @@ I b20fdcb5 i_ground 6 vec4
I b20fdcb5 a_pos 0 vec3
I b20fdcb5 i_tint 5 vec4
I b20fdcb5 a_uv 2 vec2
B b20fdcb5 frag 1 980
B b20fdcb5 frag 1 1028
U b20fdcb5 frag u_cascade_vp 0 mat4 5 64
U b20fdcb5 frag u_cascade_split 320 float 5 16
U b20fdcb5 frag u_cascade_range 400 float 5 16
@ -3896,14 +3947,17 @@ U b20fdcb5 frag u_fog_inscatter 820 float 1 0
U b20fdcb5 frag u_fog_desat 824 float 1 0
U b20fdcb5 frag u_fog_wall 828 float 1 0
U b20fdcb5 frag u_model_h 832 float 1 0
U b20fdcb5 frag u_view 848 mat4 1 0
U b20fdcb5 frag u_tint 912 vec3 1 0
U b20fdcb5 frag u_rough_scale 924 float 1 0
U b20fdcb5 frag u_emissive 928 float 1 0
U b20fdcb5 frag u_blade_base 944 vec3 1 0
U b20fdcb5 frag u_blade_tip 960 vec3 1 0
U b20fdcb5 frag u_blade_cols 972 float 1 0
U b20fdcb5 frag u_blade_tex_on 976 float 1 0
U b20fdcb5 frag u_fac_base_inv 848 vec4 1 0
U b20fdcb5 frag u_fac_mr_inv 864 vec2 1 0
U b20fdcb5 frag u_fac_emis 880 vec3 1 0
U b20fdcb5 frag u_view 896 mat4 1 0
U b20fdcb5 frag u_tint 960 vec3 1 0
U b20fdcb5 frag u_rough_scale 972 float 1 0
U b20fdcb5 frag u_emissive 976 float 1 0
U b20fdcb5 frag u_blade_base 992 vec3 1 0
U b20fdcb5 frag u_blade_tip 1008 vec3 1 0
U b20fdcb5 frag u_blade_cols 1020 float 1 0
U b20fdcb5 frag u_blade_tex_on 1024 float 1 0
T b20fdcb5 u_arm 2
T b20fdcb5 u_blade_tex 3
T b20fdcb5 u_brdf 4