ピクセル パーフェクトなレンダリングとピクセル ブリッティングを可能にするために OpenGL シーンをセットアップすることは可能ですか? 次のようにしてシーンを設定していることに気付きました。
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, width, height, 0.0, 0.0, 1.0);
そして、次を使用してピクセルを描画します。
glBegin(GL_POINTS);
glVertex2i(0, 0);
glEnd();
すべてのハードウェア構成で一貫して左上のピクセルに描画するわけではありません(左に 1 ピクセル、または左上隅の 1 ピクセル下にある場合があります)。これは、グラフィックドライバーによる OpenGL の実装が異なるためである可能性が高いと認識していますが、左上のピクセルが (0,0) で、右下のピクセルが (width-1, height-1) になるようにする方法はありますか? )一貫して?これが標準化されていないのは奇妙に思えます...
(0.375, 0.375) または (0.5, 0.5) の変換を使用する「ハック」を見たことがありますが、一部の構成では解決するようですが、他の構成では解決しないようです。