Update leenkx/blender/lnx/write_data.py

This commit is contained in:
LeenkxTeam 2025-03-14 17:33:00 +00:00
parent 15ec41b1f0
commit 448898a634

View File

@ -616,13 +616,28 @@ def write_compiledglsl(defs, make_variants):
f.write('#define GBUF_IDX_2 2\n')
idx_emission += 1
idx_refraction += 1
# Special case for WebGL with both TAA and SSRefraction
webgl_with_taa_refr = ('_kha_webgl' in wrd.world_defs and
('_SSRefraction' in wrd.world_defs or '_VoxelRefract' in wrd.world_defs) and
('_TAA' in wrd.world_defs or '_SMAA' in wrd.world_defs))
if webgl_with_taa_refr:
# WebGL needs refraction to come before emission for correct rendering
if '_SSRefraction' in wrd.world_defs or '_VoxelRefract' in wrd.world_defs:
f.write(f'#define GBUF_IDX_REFRACTION {idx_emission}\n')
idx_emission += 1
if '_EmissionShaded' in wrd.world_defs:
f.write(f'#define GBUF_IDX_EMISSION {idx_emission}\n')
else:
# Standard order for all other platforms
if '_EmissionShaded' in wrd.world_defs:
f.write(f'#define GBUF_IDX_EMISSION {idx_emission}\n')
idx_refraction += 1
if '_EmissionShaded' in wrd.world_defs:
f.write(f'#define GBUF_IDX_EMISSION {idx_emission}\n')
idx_refraction += 1
if '_SSRefraction' in wrd.world_defs or '_VoxelRefract' in wrd.world_defs:
f.write(f'#define GBUF_IDX_REFRACTION {idx_refraction}\n')
if '_SSRefraction' in wrd.world_defs or '_VoxelRefract' in wrd.world_defs:
f.write(f'#define GBUF_IDX_REFRACTION {idx_refraction}\n')
f.write("""#if defined(HLSL) || defined(METAL)
#define _InvY