2012-03-20 7 views
4

私は、さまざまな一様変数(location、rotationなど)を変更して、単一のモデルの複数のインスタンスをレンダリングすることを計画しています。(OpenGL 3.1 - 4.2)(GLSL)効率的な統一変数?

レンダリングするすべてのインスタンスの一様変数を変更するより良い方法はありますか?

答えて

4

インスタントレンダリングの場合は、ARB_instanced_arrays拡張子を使用できます。この拡張では、標準の頂点配列で不均一な変数を定義することができます。glVertexAttribDivisor関数を使用すると、一様でない変数が変更されたときに微調整することができます。

+1

OpenGL 3.3では、インスタンス化された配列がコアとなっています。そしてそれ以前でさえ、インスタンス化されたレンダリングを使用することができます(これはGL 3.0以降の中核です)。インスタンスごとのパラメータを一様な配列/バッファに格納して、特別なシェーダ変数 'gl_InstanceID'を使ってそれらにアクセスすればよいだけです。 –

関連する問題