topical media & game development

talk show tell print

lib-unity-demo-shader-Assets-Show-UV-Mapping-ShowUVMapping.js / js



  @script ExecuteInEditMode
  @script RequireComponent(Camera)
  
  var shader : Shader;
  
  private var shaderCamera : GameObject;
  private var checker : Texture2D;
  
  function OnPostRender()
  {
          if (!enabled || !gameObject.active || !shader)
                  return;
          if (!shaderCamera) {
                  shaderCamera = new GameObject("ShaderCamera", Camera);
                  shaderCamera.camera.enabled = false;
                  shaderCamera.hideFlags = HideFlags.HideAndDontSave;
          }
          if (!checker) {
                  checker = new Texture2D (2,2,TextureFormat.ARGB32,false);
                  checker.hideFlags = HideFlags.HideAndDontSave;
                  var color1 = Color(0.5,0.5,0.5,1);
                  var color2 = Color(1.0,1.0,1.0,1);
                  checker.SetPixel (0,0,color1);
                  checker.SetPixel (1,0,color2);
                  checker.SetPixel (0,1,color2);
                  checker.SetPixel (1,1,color1);
                  checker.Apply ();
                  checker.filterMode = FilterMode.Point;
                  Shader.SetGlobalTexture ("_CheckerTex", checker);
          }
          var cam = shaderCamera.camera;
          cam.CopyFrom (camera);
          cam.backgroundColor = Color(0,0,0,0);
          cam.clearFlags = CameraClearFlags.SolidColor;
          cam.RenderWithShader (shader, "RenderType");
  }
  
  function OnDisable() {
          DestroyImmediate(shaderCamera);
          DestroyImmediate(checker);
  }
  


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.