2017-12-30 45 views
1

私はスプライトレンダラーで作業していましたが、矩形が正しくレンダリングされましたが、今はそれらを回転させて、おそらくテクスチャをエフェクトに追加します。しかし、私はどのようにデータを複製せずに角度を保存するのか分かりません。現在のところ、すべての頂点がその位置を持っており、すべての角度、textureatlas_indexなどを各矩形メッシュに対して4回繰り返すのは無駄です。ですから、頂点ごとではなく、シェイプごとにangleやtextureatlas_indexesなどの変数を格納する効率的な方法がありますか?OpenGLは、重複のない形状ごとの変数を格納します

編集:もう1つ、私のスプライトレンダラーは最大の容量を持っているため、動的なサイズではありませんが、その最大容量のプレランタイムにはアクセスできません。

私は3.3コア

+0

あなたはOpenGLのバージョンをターゲットにしているを取得するには、ストリーミングテクスチャバッファとgl_VertexId/4用の和解? – derhass

+0

@derhass 3.3コア – Whiteclaws

+0

@Whitclaws。たとえば、[UBO](https://www.khronos.org/opengl/wiki/Uniform_Buffer_Object)や[TBO](https://www.khronos.org/opengl/wiki/Buffer_Texture)を使用して、 per-rectangle属性は1回だけです。矩形ごとに固定された4つまたは6つの頂点を使用する場合は、矩形の属性にインデックスを付けるために、 'gl_VertexID/4'または' gl_VertexID/6'から派生したインデックスを使うだけではなりません。もう一つの選択肢は、[インスタンス化](https://www.khronos.org/opengl/wiki/Vertex_Rendering#Instancing)を使うことですが、perfがあまりにも少ない頂点では最適でないため、私はそれをお勧めしません。 – derhass

答えて

0

を標的にしています私は、現在の長方形の指数

関連する問題