瀏覽代碼

Apply env with renderProps

ShiroSmith 5 年之前
父節點
當前提交
903d72f44b
共有 2 個文件被更改,包括 9 次插入7 次删除
  1. 3 0
      hrt/prefab/RenderProps.hx
  2. 6 7
      hrt/prefab/l3d/Environment.hx

+ 3 - 0
hrt/prefab/RenderProps.hx

@@ -65,6 +65,9 @@ class RenderProps extends Prefab {
 			var fx = Std.downcast(s, hrt.prefab.rfx.RendererFX);
 			var fx = Std.downcast(s, hrt.prefab.rfx.RendererFX);
 			if( fx != null )
 			if( fx != null )
 				renderer.effects.push(fx);
 				renderer.effects.push(fx);
+			var env = Std.downcast(s, hrt.prefab.l3d.Environment);
+			if( env != null )
+				env.applyToRenderer(renderer);
 		}
 		}
 		renderer.refreshProps();
 		renderer.refreshProps();
 		return true;
 		return true;

+ 6 - 7
hrt/prefab/l3d/Environment.hx

@@ -240,14 +240,13 @@ class Environment extends Object3D {
 			compute(ctx);
 			compute(ctx);
 		}
 		}
 
 
-		applyToRenderer(ctx);
+		applyToRenderer(ctx.local3d.getScene().renderer);
 	}
 	}
 
 
-	function applyToRenderer( ctx : Context ) {
-		var pbrRenderer = Std.downcast(ctx.local3d.getScene().renderer, h3d.scene.pbr.Renderer);
-		if( pbrRenderer != null ) {
-			pbrRenderer.env = env;
-		}
+	public function applyToRenderer( r : h3d.scene.Renderer) {
+		var r = Std.downcast(r, h3d.scene.pbr.Renderer);
+		if( r != null ) 
+			r.env = env;
 	}
 	}
 
 
 	#if editor
 	#if editor
@@ -288,7 +287,7 @@ class Environment extends Object3D {
 
 
 			var applyButton = props.find(".apply");
 			var applyButton = props.find(".apply");
 			applyButton.click(function(_) {
 			applyButton.click(function(_) {
-				applyToRenderer(ctx.rootContext);
+				applyToRenderer(ctx.rootContext.local3d.getScene().renderer);
 			});
 			});
 
 
 			ctx.properties.add(props, this, function(pname) { ctx.onChange(this, pname); });
 			ctx.properties.add(props, this, function(pname) { ctx.onChange(this, pname); });