0
ウィンドウに線を描こうとしましたが、と表示されません。私はglOrtho()
と同じコードを使用していますが、それはその行を表示しています。セットウィンドウに私のラインが表示されるようにセットアップする必要がありますか?glFrustum()で表示されていませんか?
void init() {
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-2.0,2.0,-2.0,2.0, 1.0, 20.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void display() {
glBegin(GL_LINES);
glColor3f(0.0f, 0.0f, 1.0f);
glVertex3f(0.0f, 0.0f, 2.0f);
glVertex3f(1.0f, 1.0f, 5.0f);
glEnd();
}
私のビューボリュームは、zは1から20の方法来るの上になければならないことを意味しglFrustum(-2.0,2.0、-2.0,2.0、1.0、20.0)です - 2と-5は細い範囲にありますか? – LilRazi
1と20は、絶対座標ではなく、近平面と遠平面への距離です。平面は、原点からの距離で負のz座標に位置します。 ['glFrustum'のドキュメント(https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glFrustum.xml)を参照してください:" *(left、bottom、-nearVal)* and * 、top、-nearVal)*ニアクリッピング面の点を指定する[...]。* -farVal *は、ファークリッピング面の位置を指定します。 – ybungalobill