GL

class in UnityEngine

マニュアルに切り替える

説明

低レベルのグラフィックスライブラリです。

注: このクラスはラインやトライアングルの組を描画する必要があるときにはほぼ常に使用し、メッシュには使わないでください。 予想外の動作をさけるため、基本的な使用方法は:

"// 何かを描画" において SetPass() を事前に宣言したマテリアルで使用し、描画のために使用すべきです。 SetPass を呼び出ししない場合、マテリアルはランダムに選ばれる(過去に使用されたたものの中から)ため必ず呼び出すべきです。

using UnityEngine;

public class ExampleClass : MonoBehaviour { // When added to an object, draws colored rays from the // transform position. public int lineCount = 100; public float radius = 3.0f;

static Material lineMaterial; static void CreateLineMaterial() { if (!lineMaterial) { // Unity has a built-in shader that is useful for drawing // simple colored things. Shader shader = Shader.Find("Hidden/Internal-Colored"); lineMaterial = new Material(shader); lineMaterial.hideFlags = HideFlags.HideAndDontSave; // Turn on alpha blending lineMaterial.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.SrcAlpha); lineMaterial.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha); // Turn backface culling off lineMaterial.SetInt("_Cull", (int)UnityEngine.Rendering.CullMode.Off); // Turn off depth writes lineMaterial.SetInt("_ZWrite", 0); } }

// Will be called after all regular rendering is done public void OnRenderObject() { CreateLineMaterial(); // Apply the line material lineMaterial.SetPass(0);

GL.PushMatrix(); // Set transformation matrix for drawing to // match our transform GL.MultMatrix(transform.localToWorldMatrix);

// Draw lines GL.Begin(GL.LINES); for (int i = 0; i < lineCount; ++i) { float a = i / (float)lineCount; float angle = a * Mathf.PI * 2; // Vertex colors change from red to green GL.Color(new Color(a, 1 - a, 0, 0.8F)); // One vertex at transform position GL.Vertex3(0, 0, 0); // Another vertex at edge of circle GL.Vertex3(Mathf.Cos(angle) * radius, Mathf.Sin(angle) * radius, 0); } GL.End(); GL.PopMatrix(); } }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void OnPostRender() { // Set your materials GL.PushMatrix(); // yourMaterial.SetPass( ); // Draw your stuff GL.PopMatrix(); } }

Static 変数

invertCullingバックフェースかリングを反転させるかどうかを選択する
LINE_STRIPMode for Begin: draw line strip.
LINES線(Line)描画の Begin モード
modelview現在の ModelView 行列
QUADS四角形(Quad)描画の Begin モード
sRGBWriteレンダリング中に Linear から sRGB に色変換を実行するかどうか制御します。
TRIANGLE_STRIPトライアングルストリップ描画の Begin モード
TRIANGLESトライアングル描画の Begin モード
wireframeワイヤフレームでレンダリングすべきか。

Static 関数

Begin3D プリミティブの描画を開始します
Clear現在のレンダリングバッファをクリアします
ClearWithSkyboxカメラのスカイボックスで現在のレンダーバッファをクリアします
Color現在の頂点カラーを設定します
End3D プリミティブの描画を終了します
Flushドライバのコマンドバッファのキューにたまったコマンドを GPU に送ります。
GetGPUProjectionMatrixカメラの射影行列から、GPU の射影行列を計算します
InvalidateState内部的にキャッシュされたレンダーステートを無効にします。
IssuePluginEventネイティブコードプラグインにユーザーが定義したイベントを送信します
LoadIdentity現在の ModelView 行列に単位行列を読み込みます。
LoadOrthoオルソパースペクティブ変換を設定するヘルパー関数
LoadPixelMatrixピクセル修正レンダリングのための行列を設定します。
LoadProjectionMatrix任意の行列を現在の射影行列を読み込みます。
MultiTexCoord実際のテクスチャ unit に現在のテクスチャ座標 (v.x,v.y,v.z) を設定します。
MultiTexCoord2実際のテクスチャ unit に現在のテクスチャ座標 (x, y) を設定します。
MultiTexCoord3実際のテクスチャ unit に現在のテクスチャ座標 (x, y, z) を設定します。
MultMatrix指定されたひとつの現在の ModelView 行列を乗算します。
PopMatrix行列をスタックして上から ModelView 行列と射影行列の両方を復元します。
PushMatrixModelView 行列と射影行列を行列スタックに保存します。
RenderTargetBarrierサンプリングから後に続く操作のために Render Target を解決します。
TexCoordすべてのテクスチャユニットの現在のテクスチャ座標 (v.x,v.y,v.z) を設定します。
TexCoord2すべてのテクスチャユニットの現在のテクスチャ座標 (x, y) を設定します。
TexCoord3すべてのテクスチャユニットの現在のテクスチャ座標 (x, y, z) を設定します。
Vertex頂点を送信します。
Vertex3頂点を送信します。
Viewportレンダリングビューポートを設定します。