From 9e9d701e1f3f30eef97be46bc2b192f78f021b69 Mon Sep 17 00:00:00 2001 From: luboslenco Date: Sat, 31 Aug 2019 20:42:29 +0200 Subject: [PATCH] Voxel context fixes --- Sources/arm/nodes/MaterialParser.hx | 30 ++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/Sources/arm/nodes/MaterialParser.hx b/Sources/arm/nodes/MaterialParser.hx index e0eb50de..b919498e 100644 --- a/Sources/arm/nodes/MaterialParser.hx +++ b/Sources/arm/nodes/MaterialParser.hx @@ -44,17 +44,7 @@ class MaterialParser { m.shader.contexts.push(sc); Context.ddirty = 2; - #if rp_voxelao - var rebuild = MaterialBuilder.heightUsed; - #if arm_world - rebuild = true; //UITrait.inst.vxaoExt != 1.0; - #end - if (Config.raw.rp_gi != false && rebuild) { - var sc:ShaderContext = null; - for (c in m.shader.contexts) if (c.raw.name == "voxel") { sc = c; break; } - if (sc != null) MaterialBuilder.make_voxel(sc); - } - #end + makeVoxel(m); // }); } @@ -109,9 +99,27 @@ class MaterialParser { m.shader.raw.contexts.push(sc.raw); m.shader.contexts.push(sc); + if (UITrait.inst.worktab.position == SpaceScene) { + makeVoxel(m); + } + // }); } + static function makeVoxel(m:MaterialData) { + #if rp_voxelao + var rebuild = MaterialBuilder.heightUsed; + #if arm_world + rebuild = true; //UITrait.inst.vxaoExt != 1.0; + #end + if (Config.raw.rp_gi != false && rebuild) { + var sc:ShaderContext = null; + for (c in m.shader.contexts) if (c.raw.name == "voxel") { sc = c; break; } + if (sc != null) MaterialBuilder.make_voxel(sc); + } + #end + } + public static function parsePaintMaterial() { if (!getMOut()) return;