高速化




頂点共有をする

GL_LINE_LOOP GL_LINE_STRIP 頂点を共有するため, 頂点変換の Pipeline を軽減できる GL_QUADS : 8 頂点 GL_QUAD_STRIP : 6 頂点


グラフィックカードのメモリを利用する

グラフィック用のハードは専用のメモリをもつ。 メインメモリからグラフィック用のメモリへの転送はとても時間がかかるので 初期化のタイミングでグラフィックメモリに形状、テクスチャを転送しておく。 __LINK__(頂点バッファオブジェクト)


GPUの終了まちを避ける

GPU と CPU は独立したハードウェアのため、CPU から GPU へ投げた仕事を CPU 側が待つ時間を有効に使う。


ライティングを高速化する

Cg シェーダを使うときは 、コンパイルしたアセンブラをみて、命令数をチェックしてみる。 ライティングについては、各頂点をワールド、視線空間へ変換せずにローカル座標にもっていく。 こうすると、 N 頂点の変換ではなく、1 個のライトベクトルの変換ですむ。