소스 검색

changed point light shader : use (const,dist,dist2) instead of (dist,dist2,dist3)

ncannasse 11 년 전
부모
커밋
d8619ab5f7
1개의 변경된 파일3개의 추가작업 그리고 3개의 파일을 삭제
  1. 3 3
      h3d/shader/PointLight.hx

+ 3 - 3
h3d/shader/PointLight.hx

@@ -16,14 +16,14 @@ class PointLight extends hxsl.Shader {
 			var dvec = lightPosition - transformedPosition;
 			var dist2 = dvec.dot(dvec);
 			var dist = dist2.sqrt();
-			lightColor.rgb += color * (transformedNormal.dot(dvec).max(0.) / vec3(dist, dist2, dist * dist2).dot(params));
+			lightColor.rgb += color * (transformedNormal.dot(dvec).max(0.) / vec3(1, dist, dist2).dot(params));
 		}
 
 		function fragment() {
 			var dvec = lightPosition - transformedPosition;
 			var dist2 = dvec.dot(dvec);
 			var dist = dist2.sqrt();
-			lightPixelColor.rgb += color * (transformedNormal.dot(dvec).max(0.) / vec3(dist, dist2, dist * dist2).dot(params));
+			lightPixelColor.rgb += color * (transformedNormal.dot(dvec).max(0.) / vec3(1, dist, dist2).dot(params));
 		}
 
 	};
@@ -31,7 +31,7 @@ class PointLight extends hxsl.Shader {
 	public function new() {
 		super();
 		color.set(1, 1, 1);
-		params.set(0, 1, 0);
+		params.set(0, 0, 1);
 	}
 
 }