OpenGLの新しいバージョン(3.0および4.0以降)では、gl_Vertexなどの組み込みの頂点属性は非推奨になっています。実際に何かをレンダリングする「新しい方法」は、位置や色などの独自の頂点属性を指定してから、これらのカスタム属性をバッファーにバインドすることです。
私の質問はこれです:レンダリングコードとシェーダーを密接に結合せずにこれを行うにはどうすればよいですか?頂点の位置として「position」を使用するシェーダーを作成する場合、シェーダーを使用するホストコードはそれを認識し、頂点データを「position」として渡す必要があります。「vertex_pos」で頂点データを取得するために作成された別のシェーダーを使用する場合は、最初にそのシェーダーを書き直すか、代わりに頂点データを「vertex_pos」として送信するようにホストコードを変更する必要があります。
すべてのシェーダーが使用する必要がある標準の頂点属性とフラグメント属性のベストプラクティス名のセットはありますか?または、あるエンジン用に作成されたシェーダーが変更なしで別のエンジンで動作できないように、バルカニゼーションされたエンジン固有の標準がありますか?または、一般に、すべてのオブジェクトがカスタムシェーダーに一致する独自のカスタムレンダリングコードを必要とするような標準はまったくありませんか?