gluPerspective関数をglFrustumにどのように変換しますか?この式を使用しようとしましたが、gluPerspectiveの場合と同じ画像が生成されなかったため、うまくいきませんでした。
上=tan(fov * 3.14159 / 360.0)*下の近く= -top
左=アスペクト*右下=アスペクト*上
視野を正しく変換できないようです。たとえば、私のFOVが45だった場合、Frustum呼び出しの「トップ」パラメータは何でしょうか。
ここに行きます-あなたは:の代わりとして次の方法を使うことができますgluPerspective
:
void perspectiveGL( GLdouble fovY, GLdouble aspect, GLdouble zNear, GLdouble zFar )
{
const GLdouble pi = 3.1415926535897932384626433832795;
GLdouble fW, fH;
//fH = tan( (fovY / 2) / 180 * pi ) * zNear;
fH = tan( fovY / 360 * pi ) * zNear;
fW = fH * aspect;
glFrustum( -fW, fW, -fH, fH, zNear, zFar );
}
コードの詳細については、neheページを参照してください。