言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

GL

Namespace: UnityEngine

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

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

OpenGLの即時モードと同様のアクティブな変換行列、 レンダリングコマンドでの出力などの低レベルグラフィックスのタスクを実行します。 ほとんどの場合でGL関数の即時描画モードを使用するよりもGraphics.DrawMesh関数を使用する方が 効率的であることに注意してください。 GL即時描画関数は設定した"現在のマテリアル"を使用します。 The material controls how the rendering is done (blending, textures, etc.), so unless you explicitly set it to something before using GL draw functions, the material can happen to be anything. Also, if you call any other drawing commands from inside GL drawing code, they can set material to something else, so make sure it's under control as well. GL drawing commands execute immediately. That means if you call them in Update(), they will be executed before the camera is rendered (and the camera will most likely clear the screen, making the GL drawing not visible). The usual place to call GL drawing is most often in OnPostRender() from a script attached to a camera

static var lineMaterial : Material;

static function CreateLineMaterial() {
	if( !lineMaterial ) {
		lineMaterial = new Material( "Shader \"Lines/Colored Blended\" {" +
			"SubShader { Pass { " +
			"    Blend SrcAlpha OneMinusSrcAlpha " +
			"    ZWrite Off Cull Off Fog { Mode Off } " +
			"    BindChannels {" +
			"      Bind \"vertex\", vertex Bind \"color\", color }" +
			"} } }" );
		lineMaterial.hideFlags = HideFlags.HideAndDontSave;
		lineMaterial.shader.hideFlags = HideFlags.HideAndDontSave;
	}
}

function OnPostRender() {
	CreateLineMaterial();
	// set the current material
	lineMaterial.SetPass( 0 );
	GL.Begin( GL.LINES );
	GL.Color( Color(1,1,1,0.5) );
	GL.Vertex3( 0, 0, 0 );
	GL.Vertex3( 1, 0, 0 );
	GL.Vertex3( 0, 1, 0 );
	GL.Vertex3( 1, 1, 0 );
	GL.Color( Color(0,0,0,0.5) );
	GL.Vertex3( 0, 0, 0 );
	GL.Vertex3( 0, 1, 0 );
	GL.Vertex3( 1, 0, 0 );
	GL.Vertex3( 1, 1, 0 );
	GL.End();
}

注意: このクラスは複数の線や三角形を描画する必要があり、メッシュを扱いたい、という場合にほぼ必ず使用されます。 予想外の動作をさけるため、基本的な使用方法は:

function OnPostRender() {
	 // Set your materials

	 GL.PushMatrix();
	 // yourMaterial.SetPass( );
	 // Draw your stuff
	 GL.PopMatrix();
}

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

Static Variables

LINES Mode for Begin: draw lines.
modelview The current modelview matrix.
QUADS Mode for Begin: draw quads.
TRIANGLE_STRIP Mode for Begin: draw triangle strip.
TRIANGLES Mode for Begin: draw triangles.
wireframe Should rendering be done in wireframe?

Static Functions

Begin 3D プリミティブの描画を開始します
Clear 現在のレンダリングバッファをクリアします
ClearWithSkybox カメラのスカイボックスで現在のレンダーバッファをクリアします
Color 現在の頂点カラーを設定します
End 3D プリミティブの描画を終了します
GetGPUProjectionMatrix カメラの射影行列から、GPU の射影行列を計算します
InvalidateState 内部的にキャッシュされたレンダーステートを無効にします
IssuePluginEvent ネイティブコードプラグインにユーザーが定義したイベントを送信します
LoadIdentity Load the identity matrix to the current modelview matrix.
LoadOrtho Helper function to set up an ortho perspective transform.
LoadPixelMatrix Setup a matrix for pixel-correct rendering.
LoadProjectionMatrix Load an arbitrary matrix to the current projection matrix.
MultiTexCoord Sets current texture coordinate (v.x,v.y,v.z) to the actual texture unit.
MultiTexCoord2 Sets current texture coordinate (x,y) for the actual texture unit.
MultiTexCoord3 Sets current texture coordinate (x,y,z) to the actual texture unit.
MultMatrix Multiplies the current modelview matrix with the one specified.
PopMatrix Restores both projection and modelview matrices off the top of the matrix stack.
PushMatrix Saves both projection and modelview matrices to the matrix stack.
SetRevertBackfacing バックフェースかリングを反転させるかどうかを選択する
TexCoord Sets current texture coordinate (v.x,v.y,v.z) for all texture units.
TexCoord2 Sets current texture coordinate (x,y) for all texture units.
TexCoord3 Sets current texture coordinate (x,y,z) for all texture units.
Vertex Submit a vertex.
Vertex3 Submit a vertex.
Viewport Set the rendering viewport.