アプリケーションでさまざまな「ネストされた」コンテキストを使用しています (シェーダーとジオメトリの共有用)。VAO はコンテキスト間で共有できないため、使用できません。
私のメッシュ データは、1 つの VBO に一意の頂点の「プール」として保存され、別の VBO には面を構成するインデックスが保存されます。現在、CAD アプリでワイヤフレーム レンダリングにこれを使用していますが、フラット シェーディング モードを追加したいと考えています。そのためには、面法線が必要です。
頂点法線が必要な場合は、データを頂点位置データに追加するだけですが、ここではそれを行うことはできません。これは、レンダリングされる面に応じて頂点の面法線が異なるためです。理想的には、顔の法線とインデックスを保持する別の VBO ペアを作成したいと考えていますが、VAO なしでは 2 つの VBO を同じターゲットにバインドできません - それらが異なる属性で使用されている場合でも。
通常のルートは、複数の VBO を同じターゲットに割り当てることができる VAO を使用することですが、ジオメトリ コンテキストが共有されており、VAO が共有されていないため、それらを使用できません。この問題の代替ソリューションはありますか?