私が開発しているアプリケーションの場合、できる必要があります
- さまざまな幅と色の線を描く
- 単色で塗りつぶされた三角形を描く
- テクスチャ付き (アルファなし) のクワッドを描画する
とても簡単ですが...
すべての座標はピクセル空間の整数であり、非常に重要です: glReading は、2 つの異なる OS (Linux と freebsd) を実行する 2 つの異なるグラフィック カードを備えた 2 つの異なるマシンで、フレーム バッファからすべてのピクセルを読み取ると、まったく同じビット シーケンスになる必要があります (適切な定数フォーマット変換が与えられた場合)。
OpenGL とハードウェア アクセラレーションを使用してこれを安全に達成することは不可能だと思います。異なるグラフィック カード (異なるベンダーの) が異なるラスター化アルゴリズムを実装している可能性があるからです。(OpenGl の仕様は、アルゴリズムを提案しているため、これについては明確ですが、特定の状況では実装が異なる可能性があるとも述べています)。また、非常に低速で単純なグラフィックスをレンダリングするため、ハードウェア アクセラレーションはあまり必要ありません。
ハードウェアアクセラレーションを無効にするだけでこれを達成できると思いますか? その場合、Linux ではどうなりますか? MESA ソフトウェア ラスタライザーをデフォルトにしますか? その場合、それが常に機能することを確認できますか、それとも何か不足していますか?