OpenGL を使用して作成しているゲームの車を描画しようとしています。car オブジェクトは、付随する .mtl ファイルとともに .obj ファイルに格納されます。
車には 500 以上の頂点と 100 以上の面があり、独自の頂点シェーダーとフラグメント シェーダーを使用して、50 以上の異なるテクスチャを適用する必要があります。オブジェクトに関するすべての情報を一度に送信するバッファ オブジェクトを使用して、これを実現しました。私の問題は、同じオブジェクトの異なる表面に異なるテクスチャを適用しようとすることです。
この問題に対して私が見つけた答えは、テクスチャを特定のテクスチャ番号 (GL_TEXTURE0、GL_TEXTURE1 など) にバインドし、それを参照するフラグメント シェーダに Sampler2D を渡すことです。しかし、この方法で 50 を超えるテクスチャを保存できますか? 私が知る限り、それは GL_TEXTURE32 です。
また、車のオブジェクトの特定の面にのみテクスチャを適用するようにシェーダーに指示するにはどうすればよいでしょうか?