Răsfoiți Sursa

Adding After fx param on VolumetricLighting.hx, set to false by default.

clementlandrin 10 luni în urmă
părinte
comite
053b7b70ce
1 a modificat fișierele cu 14 adăugiri și 1 ștergeri
  1. 14 1
      hrt/prefab/rfx/VolumetricLighting.hx

+ 14 - 1
hrt/prefab/rfx/VolumetricLighting.hx

@@ -215,6 +215,7 @@ class VolumetricLighting extends RendererFX {
 	var blurPass = new h3d.pass.Blur();
 	var vshader = new VolumetricLightingShader();
 
+	@:s public var AFTER_FX : Bool = false;
 	@:s public var blend : h3d.mat.PbrMaterial.PbrBlend = Alpha;
 	@:s public var color : Int = 0xFFFFFF;
 	@:s public var steps : Int = 10;
@@ -248,7 +249,7 @@ class VolumetricLighting extends RendererFX {
 
 	var noiseTex : h3d.mat.Texture;
 
-	override function end(r:h3d.scene.Renderer, step:h3d.impl.RendererFX.Step) {
+	function execute(r : h3d.scene.Renderer, step : h3d.impl.RendererFX.Step) {
 		if( step == BeforeTonemapping ) {
 			var r = cast(r, h3d.scene.pbr.Renderer);
 			r.mark("VolumetricLighting");
@@ -350,6 +351,16 @@ class VolumetricLighting extends RendererFX {
 		}
 	}
 
+	override function begin(r:h3d.scene.Renderer, step:h3d.impl.RendererFX.Step) {
+		if ( !AFTER_FX )
+			execute(r, step);
+	}
+	
+	override function end(r:h3d.scene.Renderer, step:h3d.impl.RendererFX.Step) {
+		if ( AFTER_FX )
+			execute(r, step); 
+	}
+
 	function makeNoiseTex() : h3d.mat.Texture {
 		var rands : Array<Int> = [];
 		var rand = new hxd.Rand(0);
@@ -391,6 +402,8 @@ class VolumetricLighting extends RendererFX {
 							<option value="AlphaMultiply">AlphaMultiply</option>
 						</select>
 					</dd>
+					<dt>After fx</dt><dd><input type="checkbox" field="AFTER_FX"/></dd>
+					<dt>Begin</dt><dd><input type="range" min="0" field="startDistance"/></dd>
 					<dt>Start distance</dt><dd><input type="range" min="0" field="startDistance"/></dd>
 					<dt>End distance</dt><dd><input type="range" min="0" field="endDistance"/></dd>
 					<dt>Distance opacity</dt><dd><input type="range" min="0" max="1" field="distanceOpacity"/></dd>