From 1b7e131d92ba69fe23cce3cbb9d6f9b924ccab66 Mon Sep 17 00:00:00 2001 From: Lubos Lenco Date: Wed, 31 Mar 2021 23:39:22 +0200 Subject: [PATCH] Cleanup --- .gitmodules | 3 ++ Libraries/armorbase | 1 + .../Sources/arm/render/RenderPathRaytrace.hx | 30 ++++++++----------- .../Sources/arm/shader/NodesMaterial.hx | 1 - Sources/arm/render/RenderPathDeferred.hx | 6 ++-- Sources/arm/render/RenderPathForward.hx | 6 ++-- Sources/arm/render/RenderPathPaint.hx | 3 +- 7 files changed, 26 insertions(+), 24 deletions(-) create mode 160000 Libraries/armorbase diff --git a/.gitmodules b/.gitmodules index 6323f726..47f5d4f0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,3 +8,6 @@ path = armorcore url = https://github.com/armory3d/armorcore shallow = true +[submodule "Libraries/armorbase"] + path = Libraries/armorbase + url = https://github.com/armory3d/armorbase diff --git a/Libraries/armorbase b/Libraries/armorbase new file mode 160000 index 00000000..c1c5492b --- /dev/null +++ b/Libraries/armorbase @@ -0,0 +1 @@ +Subproject commit c1c5492b9eba9733612fe2570bebf45bcfd194ba diff --git a/Libraries/renderlib/Sources/arm/render/RenderPathRaytrace.hx b/Libraries/renderlib/Sources/arm/render/RenderPathRaytrace.hx index eebd5324..b7a39e6e 100644 --- a/Libraries/renderlib/Sources/arm/render/RenderPathRaytrace.hx +++ b/Libraries/renderlib/Sources/arm/render/RenderPathRaytrace.hx @@ -2,10 +2,6 @@ package arm.render; import iron.RenderPath; import iron.Scene; -import arm.ui.UISidebar; -import arm.ui.UIHeader; -import arm.node.MakeMaterial; -import arm.Enums; #if (kha_direct3d12 || kha_vulkan) @@ -40,7 +36,7 @@ class RenderPathRaytrace { path = _path; } - public static function commands() { + static function commands(useLiveLayer: Bool) { if (!ready || isBake) { ready = true; isBake = false; @@ -53,8 +49,7 @@ class RenderPathRaytrace { var probe = Scene.active.world.probe; var savedEnvmap = Context.showEnvmapBlur ? probe.radianceMipmaps[0] : Context.savedEnvmap; var isLive = Config.raw.brush_live && RenderPathPaint.liveLayerDrawn > 0; - var materialSpace = UIHeader.inst.worktab.position == SpaceMaterial; - var layer = (isLive || materialSpace) ? RenderPathPaint.liveLayer : Context.layer; + var layer = (isLive || useLiveLayer) ? RenderPathPaint.liveLayer : Context.layer; if (lastEnvmap != savedEnvmap) { lastEnvmap = savedEnvmap; var bnoise_sobol = Scene.active.embedded.get("bnoise_sobol.k"); @@ -111,7 +106,7 @@ class RenderPathRaytrace { // Context.ddirty = 1; // _RENDER } - public static function commandsBake() { + public static function commandsBake(parsePaintMaterial: ?Bool->Void): Bool { if (!ready || !isBake || lastBake != Context.bakeType) { var rebuild = !(ready && isBake && lastBake != Context.bakeType); lastBake = Context.bakeType; @@ -153,22 +148,20 @@ class RenderPathRaytrace { var _bakeType = Context.bakeType; Context.bakeType = BakeInit; - MakeMaterial.parsePaintMaterial(); + parsePaintMaterial(); path.setTarget("baketex0"); path.clearTarget(0x00000000); // Pixels with alpha of 0.0 are skipped during raytracing - for (i in 0...4) { // Jitter - path.setTarget("baketex0", ["baketex1"]); - path.drawMeshes("paint"); - } + path.setTarget("baketex0", ["baketex1"]); + path.drawMeshes("paint"); Context.bakeType = _bakeType; function _next() { - MakeMaterial.parsePaintMaterial(); + parsePaintMaterial(); } App.notifyOnNextFrame(_next); raytraceInit(getBakeShaderName(), rebuild); - return; + return false; } if (!Context.envmapLoaded) Context.loadEnvmap(); @@ -216,12 +209,13 @@ class RenderPathRaytrace { raysTimer = 0; raysCounter = 0; } - UIHeader.inst.headerHandle.redraws = 2; + return true; } else { frame = 0; raysTimer = 0; raysCounter = 0; + return false; } } @@ -261,11 +255,11 @@ class RenderPathRaytrace { "raytrace_bake_thick" + ext; } - public static function draw() { + public static function draw(useLiveLayer: Bool) { var isLive = Config.raw.brush_live && RenderPathPaint.liveLayerDrawn > 0; if (Context.ddirty > 1 || Context.pdirty > 0 || isLive) frame = 0; - commands(); + commands(useLiveLayer); if (Config.raw.rp_bloom != false) { RenderPathDeferred.commandsBloom("buf"); diff --git a/Libraries/shaderlib/Sources/arm/shader/NodesMaterial.hx b/Libraries/shaderlib/Sources/arm/shader/NodesMaterial.hx index 8afd5e28..2da41364 100644 --- a/Libraries/shaderlib/Sources/arm/shader/NodesMaterial.hx +++ b/Libraries/shaderlib/Sources/arm/shader/NodesMaterial.hx @@ -4,7 +4,6 @@ import haxe.Json; import zui.Zui; import zui.Id; import zui.Nodes; -import arm.Enums; import arm.Project; class NodesMaterial { diff --git a/Sources/arm/render/RenderPathDeferred.hx b/Sources/arm/render/RenderPathDeferred.hx index 8814caf4..f18bd195 100644 --- a/Sources/arm/render/RenderPathDeferred.hx +++ b/Sources/arm/render/RenderPathDeferred.hx @@ -207,7 +207,8 @@ class RenderPathDeferred { #if (kha_direct3d12 || kha_vulkan) if (Context.viewportMode == ViewPathTrace) { - RenderPathRaytrace.draw(); + var useLiveLayer = arm.ui.UIHeader.inst.worktab.position == SpaceMaterial; + RenderPathRaytrace.draw(useLiveLayer); return; } #end @@ -578,7 +579,8 @@ class RenderPathDeferred { drawGbuffer(); #if (kha_direct3d12 || kha_vulkan) - Context.viewportMode == ViewPathTrace ? RenderPathRaytrace.draw() : drawDeferred(); + var useLiveLayer = arm.ui.UIHeader.inst.worktab.position == SpaceMaterial; + Context.viewportMode == ViewPathTrace ? RenderPathRaytrace.draw(useLiveLayer) : drawDeferred(); #else drawDeferred(); #end diff --git a/Sources/arm/render/RenderPathForward.hx b/Sources/arm/render/RenderPathForward.hx index 85789044..093cf1e3 100644 --- a/Sources/arm/render/RenderPathForward.hx +++ b/Sources/arm/render/RenderPathForward.hx @@ -35,7 +35,8 @@ class RenderPathForward { #if (kha_direct3d12 || kha_vulkan) if (Context.viewportMode == ViewPathTrace) { - RenderPathRaytrace.draw(); + var useLiveLayer = arm.ui.UIHeader.inst.worktab.position == SpaceMaterial; + RenderPathRaytrace.draw(useLiveLayer); return; } #end @@ -157,7 +158,8 @@ class RenderPathForward { drawGbuffer(); #if (kha_direct3d12 || kha_vulkan) - Context.viewportMode == ViewPathTrace ? RenderPathRaytrace.draw() : drawForward(); + var useLiveLayer = arm.ui.UIHeader.inst.worktab.position == SpaceMaterial; + Context.viewportMode == ViewPathTrace ? RenderPathRaytrace.draw(useLiveLayer) : drawForward(); #else drawForward(); #end diff --git a/Sources/arm/render/RenderPathPaint.hx b/Sources/arm/render/RenderPathPaint.hx index ca262392..55614242 100644 --- a/Sources/arm/render/RenderPathPaint.hx +++ b/Sources/arm/render/RenderPathPaint.hx @@ -680,7 +680,8 @@ class RenderPathPaint { Context.bakeType == BakeLightmap || Context.bakeType == BakeBentNormal || Context.bakeType == BakeThickness) { - RenderPathRaytrace.commandsBake(); + var dirty = RenderPathRaytrace.commandsBake(MakeMaterial.parsePaintMaterial); + if (dirty) UIHeader.inst.headerHandle.redraws = 2; if (Config.raw.dilate == DilateInstant) { // && Context.pdirty == 1 dilate(true, false); }