1

つまり、基本的にこれが私の問題です。オブジェクトごとにテクスチャが必要なゲームを作成しています。今度はスプライト シートを使用しますが、テクスチャのサイズが異なります。私は VBO を使用しており、drawElements を呼び出すときに正しいテクスチャをバインドする方法が必要です。各クラスを独自の VBO に分離したくないので、どうすればよいかわかりません。これは、レベルごとに 100 以上の VBO のようになり、あまり効率的ではありません (または、そうかもしれません)。これに注意してください。は 2D ゲームですが、それでも効率化したいと考えています。

たぶん、シェーダーでできることはありますか?私はシェーダーを使用しています...

それが私の質問です:私は何をしますか?

私が思いついたもの:

  • クラスを異なる VBO に分離します (簡単ですが、非常に効率的かどうかはわかりません)。
  • スプライト シートを使用しますが、非常に大きなセルサイズを使用し、透明な背景を持つ大きなクワッドを描画するだけです.. (愚かなアイデアのようです:P)

それだけです..だから私はあなたがアイデアを持っていることを願っています!

編集:使用するテクスチャの属性を持つことが可能な場所をいくつか読み、それを要素として渡し、フラグメントシェーダーがそれを使用します..これが本当なら、誰かがそれをより詳細に説明できるといいのですがいくつかの例を追加してください.. (また、フラグメントシェーダーをカスタマイズする必要がある場合は、シェーダーの書き方がわからないので、その方法を教えてください)

4

1 に答える 1

0

クラスを異なるVBOに分離するだけで解決..

于 2013-07-20T20:01:27.430 に答える