gluPerspective で OpenGL を使用していますが、原点が左下ではなく左上である軸システムを使用するにはどうすればよいですか?
user187418
質問する
6675 次
2 に答える
2
射影行列を直接操作することは、この操作のクリーンな方法だと思います。しかし、万が一代替手段が必要な場合:
glScalef(1.f, -1.f, 1.f)
軸を反転するために使用できます。
これは、GL_MODELVIEW または GL_PROJECTION マトリックス (現在アクティブなものは何でも) に対する操作でもあります。
于 2010-05-19T15:23:49.753 に答える
1
y
これを行うには、射影行列の軸を反転させます。そう:
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadMatrix( [1 0 0 0;
0 -1 0 0;
0 0 1 0;
0 0 0 1] );
// ^ pseudo-code, replace with actual matrix
それでいいはずです。
( and thenglMultMatrix
の代わりに) 同じ行列で呼び出しを使用することもできますが、この方法はより簡単に逆にすることができます (後でスタックを呼び出すだけです) 。Push
Load
glPopMatrix
GL_PROJECTION
同じ手法を使用して、他の軸を反転することもできます。適切な場所にマイナス記号を入れるだけです。
于 2010-05-19T15:14:35.547 に答える