Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

GL.Begin

マニュアルに切り替える
public static void Begin(int mode);

パラメーター

mode プリミティブを描画: TRIANGLESTRIANGLE_STRIPQUADSLINES.

説明

3D プリミティブの描画を開始します

これは OpenGL での glBegin; と同じような 機能性を持つものです。GL.Begin と GL.End の間で GL.Vertex、GL.Color、GL.TexCoord その他の即時描画系の機能の呼び出しが 有効になります。

プリミティブを描画するときにはカリングについて注意しなければいけません。カリングのルールとして 「ゲームの実行中は異なるグラフィックス API に依存している可能性がある」というのがあります。ほとんどの場合で もっとも安全な方法は、シェーダーの Cull Off コマンドを使用することです。

See Also: GL.End.

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.LoadOrtho(); GL.Begin(GL.TRIANGLES); GL.Color(new Color(1, 1, 1, 1)); GL.Vertex3(0.5F, 0.25F, 0); GL.Vertex3(0.25F, 0.25F, 0); GL.Vertex3(0.375F, 0.5F, 0); GL.End(); GL.Begin(GL.QUADS); GL.Color(new Color(0.5F, 0.5F, 0.5F, 1)); GL.Vertex3(0.5F, 0.5F, 0); GL.Vertex3(0.5F, 0.75F, 0); GL.Vertex3(0.75F, 0.75F, 0); GL.Vertex3(0.75F, 0.5F, 0); GL.End(); GL.Begin(GL.LINES); GL.Color(new Color(0, 0, 0, 1)); GL.Vertex3(0, 0, 0); GL.Vertex3(0.75F, 0.75F, 0); GL.End(); GL.PopMatrix(); } }