私はDirectX(XNAを使用)をしばらく使用していて、最近OpenGLに切り替えました。私はそれを本当に愛していますが、1つのことが私を苛立たせました。
頂点シェーダーで動的インデックス付けを必要とするものを実装しようとしていますが、これにはSM4.0と同等のものが必要であると言われています。ただし、これはSM 2.0、場合によっては1.0でもDXで機能することを私は知っています。XNAのインスタンス化サンプルは、これを使用してSM2.0のみのカードhttp://create.msdn.com/en-US/education/catalog/sample/mesh_instancingでインスタンス化を行います。
コンパイラは、ifステートメントの巨大なリストにそれを「展開」することはできません。これは、250インスタンスのSM2の命令制限を確実に超えるためです。
それで、DXはOpenGLではできないトリックを実行していますか、OpenGLを操作して同じことを実行できますか、それともOpenGLが公開していないハードウェア機能ですか?