فهرست منبع

minor changes: ScreenShader declares calculatedUV, allows addShader

ncannasse 7 سال پیش
والد
کامیت
b69887dcd4
3فایلهای تغییر یافته به همراه8 افزوده شده و 5 حذف شده
  1. 0 5
      h3d/pass/Copy.hx
  2. 5 0
      h3d/pass/ScreenFx.hx
  3. 3 0
      h3d/shader/ScreenShader.hx

+ 0 - 5
h3d/pass/Copy.hx

@@ -6,11 +6,6 @@ private class CopyShader extends h3d.shader.ScreenShader {
 		@param var texture : Sampler2D;
 
 		var pixelColor : Vec4;
-		var calculatedUV : Vec2;
-
-		function __init__() {
-			calculatedUV = input.uv;
-		}
 
 		function __init__fragment() {
 			pixelColor = texture.get(calculatedUV);

+ 5 - 0
h3d/pass/ScreenFx.hx

@@ -26,6 +26,11 @@ class ScreenFx<T:hxsl.Shader> {
 			manager.globals.fastSet(g.gid, g.value);
 	}
 
+	public function addShader<T:hxsl.Shader>(s:T) {
+		shaders = new hxsl.ShaderList(s, shaders);
+		return pass.addShader(s);
+	}
+
 	public function render() {
 		var rts = manager.compileShaders(shaders);
 		engine.selectMaterial(pass);

+ 3 - 0
h3d/shader/ScreenShader.hx

@@ -13,7 +13,10 @@ class ScreenShader extends hxsl.Shader {
 			color : Vec4,
 		};
 
+		var calculatedUV : Vec2;
+
 		function vertex() {
+			calculatedUV = input.uv;
 			output.position = vec4(input.position, 0, 1);
 		}
 	};