Legacy Documentation: Version 2017.1 (Go to current version)
言語English
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

GL

class in UnityEngine

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える

説明

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

Use this class to manipulate active transformation matrices, レンダリングコマンドでの出力などの低レベルグラフィックスのタスクを実行します。 ほとんどの場合で GL 関数の即時描画モードを使用するよりも Graphics.DrawMeshCommandBuffer 関数を使用する方が is more efficient than using immediate mode drawing.

GL 即時描画関数は設定した"現在のマテリアル"を使用します(Material.SetPassを参照してください。)。 どのようにレンダリングを行うかマテリアルを制御 (ブレンディングやテクスチャなど)します。 GL 描画関数を使用する前に明示的に設定しなければマテリアルは何もできません。 また、 GL 描画コード内から他の描画コマンドを呼び出す場合、 material to something else, so make sure it's under control as well.

GL 描画コマンドは直ちに実行されます。つまり、Update() でそれらを呼び出すと、 カメラが表示される前にそれらが実行されます ( GL 描画は非表示にし、カメラは画面をほとんどクリア not visible).

GL drawing を呼ぶための場所は、ほとんどの場合、カメラにアタッチされているスクリプトから OnPostRender() の中か、 イメージエフェクト関数 ( OnRenderImage ) の内部です。

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

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

no example available in JavaScript
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(); } }
no example available in JavaScript
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.
LINESMode for Begin: draw lines.
modelview現在の ModelView 行列
QUADSMode for Begin: draw quads.
sRGBWriteレンダリング中に Linear から sRGB に色変換を実行するかどうか制御します。
TRIANGLE_STRIPMode for Begin: draw triangle strip.
TRIANGLESMode for Begin: draw triangles.
wireframeワイヤフレームでレンダリングすべきか。

Static 関数

Begin3D プリミティブの描画を開始します
Clear現在のレンダリングバッファをクリアします
ClearWithSkyboxカメラのスカイボックスで現在のレンダーバッファをクリアします
Color現在の頂点カラーを設定します
End3D プリミティブの描画を終了します
Flushドライバのコマンドバッファのキューにたまったコマンドを GPU に送ります。
GetGPUProjectionMatrixカメラの射影行列から、GPU の射影行列を計算します
InvalidateState内部的にキャッシュされたレンダーステートを無効にします。
IssuePluginEventSend a user-defined event to a native code plugin.
LoadIdentityLoad the identity matrix to the current modelview matrix.
LoadOrthoHelper function to set up an ortho perspective transform.
LoadPixelMatrixSetup a matrix for pixel-correct rendering.
LoadProjectionMatrixLoad an arbitrary matrix to the current projection matrix.
MultiTexCoordSets current texture coordinate (v.x,v.y,v.z) to the actual texture unit.
MultiTexCoord2Sets current texture coordinate (x,y) for the actual texture unit.
MultiTexCoord3Sets current texture coordinate (x,y,z) to the actual texture unit.
MultMatrixMultiplies the current modelview matrix with the one specified.
PopMatrixRestores both projection and modelview matrices off the top of the matrix stack.
PushMatrixSaves both projection and modelview matrices to the matrix stack.
RenderTargetBarrierResolves the render target for subsequent operations sampling from it.
TexCoordSets current texture coordinate (v.x,v.y,v.z) for all texture units.
TexCoord2Sets current texture coordinate (x,y) for all texture units.
TexCoord3Sets current texture coordinate (x,y,z) for all texture units.
VertexSubmit a vertex.
Vertex3Submit a vertex.
ViewportSet the rendering viewport.