GL.LINEが重い

f:id:pongeponge:20160502120509j:plain

 LineRendererを使うと、幅があるので見た目が微妙な感じになる。
そこで、GLを使ってみました。
結果としては、物凄く重かった。
描画の最後のほうなんて4~3FPS程度しか出てなかった。

ソースコード
using UnityEngine;
using System.Collections;

public class test1 : MonoBehaviour
{
    public Material mat;
    private koch3Logic _logic;

    void Start()
    {
        this._logic = GetComponent<koch3Logic>();
    }

    IEnumerator OnPostRender() {
        if (!mat) {
            Debug.LogError("Please Assign a material on the inspector");
            yield break;
        }

        int c = 0;
        Vector3 tm = new Vector3(0, 0.3f, 0);
        while (true)
        {
            if (this._logic.KochPositions.Count != c)
            {
                c = this._logic.KochPositions.Count;
                GL.PushMatrix();
                mat.SetPass(0);
                GL.LoadOrtho();
                GL.Begin(GL.LINES);
                GL.Color(Color.red);
                for(int i = 0; i < this._logic.KochPositions.Count-1; i++)
                {
                    GL.Vertex((Vector3)this._logic.KochPositions[i] + tm);
                    GL.Vertex((Vector3)this._logic.KochPositions[i+1] + tm);
                }
                GL.End();
                GL.PopMatrix();
            }
            GL.Clear(true, false, Color.blue);
            yield return null;
        }
    }
}
Fast Line Renderer for Unity

 どうにもこうにもアレなので、
直線を引けるようなものを探しているとこんなのを見つけた。
Fast Line Renderer for Unity
ちょっとダウンロードして使ってみようと思う。


Unityで神になる本。

Unityで神になる本。