CubeMap.hx 661 B

123456789101112131415161718192021222324252627282930
  1. package h3d.shader;
  2. class CubeMap extends hxsl.Shader {
  3. static var SRC = {
  4. var pixelColor : Vec4;
  5. var transformedNormal : Vec3;
  6. @const var reflection : Bool;
  7. @param var texture : SamplerCube;
  8. @global var camera : {
  9. var position : Vec3;
  10. };
  11. var pixelTransformedPosition : Vec3;
  12. function fragment() {
  13. var n = if( reflection ) reflect(-normalize(camera.position - pixelTransformedPosition), transformedNormal) else transformedNormal;
  14. pixelColor.rgb *= texture.get(n).rgb;
  15. }
  16. }
  17. public function new(texture, reflection=false) {
  18. super();
  19. this.texture = texture;
  20. this.reflection = reflection;
  21. }
  22. }