OpenGLでは、名前付きバッファオブジェクト(または頂点配列オブジェクト、フレームバッファなど)をバインドし、現在バインドされているオブジェクトに対していくつかの操作を呼び出し、次にある種の「デフォルト」オブジェクトをバインドします。なぜOpenGLバッファオブジェクトをバインドするのですか?
glBindBufferObject(GL_ARRAY_BUFFER, bufferObjectName)
glBufferData(GL_ARRAY_BUFFER, data, GL_STATIC_DRAW)
glBindBufferObject(GL_ARRAY_BUFFER, 0)
(KotlinのLWJGL)
多くの機能で「名前付き」バージョンがあることが判明しました。上の例は、オブジェクト指向の文脈ではより適切な方法である
glNamedBufferData(bufferObjectName, data, GL_STATIC_DRAW)
のようになります。
なぜ、最初の例のようなものを使用するのですか?私が来たすべてのチュートリアルでは、最初のアプローチを使用しました。
"named"関数は、4.5などのOpenGLの新しいバージョンでのみ使用できます。以前は存在しませんでした。使用するものは、古いハードウェアとの互換性を確保するかどうかによって異なります。 – Rabbid76