ピクセル修正レンダリングのための行列を設定します。
これは ModelView 行列や射影行列を設定し、X, Y 座標を直接画素にマップします。
(0,0) は現在のカメラのビューポートの左下隅です。
Z 座標は -1 から +1 になります。
この関数は現在のカメラのパラメーターを上書きします。なので、ほとんどの場合、
GL.PushMatrix と GL.PopMatrix を使用して行列を保存と復元します。
// Draws a red triangle using pixels as coordinates to paint on. var mat : Material;
function OnPostRender() { if (!mat) { Debug.LogError("Please Assign a material on the inspector"); return; } GL.PushMatrix(); mat.SetPass(0); GL.LoadPixelMatrix(); GL.Color(Color.red); GL.Begin(GL.TRIANGLES); GL.Vertex3(0,0,0); GL.Vertex3(0,Screen.height/2,0); GL.Vertex3(Screen.width/2,Screen.height/2,0); GL.End(); GL.PopMatrix(); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Material mat; void OnPostRender() { if (!mat) { Debug.LogError("Please Assign a material on the inspector"); return; } GL.PushMatrix(); mat.SetPass(0); GL.LoadPixelMatrix(); GL.Color(Color.red); GL.Begin(GL.TRIANGLES); GL.Vertex3(0, 0, 0); GL.Vertex3(0, Screen.height / 2, 0); GL.Vertex3(Screen.width / 2, Screen.height / 2, 0); GL.End(); GL.PopMatrix(); } }
ピクセル修正レンダリングのための行列を設定します。
これは ModelView 行列や射影行列を設定し、X, Y 座標を直接画素にマップします。
(left, bottom) は、現在のカメラビューポートの左下で、
(top,right) は現在のビューポートの右上になります。
Z座標を -1 から +1 に移動します。
この関数は現在のカメラのパラメーターを上書きします。なので、ほとんどの場合、
GL.PushMatrix と GL.PopMatrix を使用して行列を保存し復元します。
var mat : Material;
function OnPostRender() { if (!mat) { Debug.LogError("Please Assign a material on the inspector"); return; } GL.PushMatrix(); mat.SetPass(0); GL.LoadPixelMatrix(10,20,10,20); GL.Color(Color.red); GL.Begin(GL.TRIANGLES); GL.Vertex3(10,10,0); GL.Vertex3(10,20,0); GL.Vertex3(20,20,0); GL.End(); GL.PopMatrix(); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Material mat; void OnPostRender() { if (!mat) { Debug.LogError("Please Assign a material on the inspector"); return; } GL.PushMatrix(); mat.SetPass(0); GL.LoadPixelMatrix(10, 20, 10, 20); GL.Color(Color.red); GL.Begin(GL.TRIANGLES); GL.Vertex3(10, 10, 0); GL.Vertex3(10, 20, 0); GL.Vertex3(20, 20, 0); GL.End(); GL.PopMatrix(); } }