Assassin, просто получается камера в точке (0,0,0) и фигура тоже.К примеру,
если я возьму куб,а z координате камеры присвою z координату ближней к
точке (0,0,0) грань куба,то эта грань останется за камерой.В случае ,как в
след проге этого не происходит:
wglMakeCurrent(Canvas.Handle, hrc);
glViewPort (0, 0, ClientWidth, ClientHeight);
glClearColor (0.5, 0.5, 0.75, 1.0);
glClear (GL_COLOR_BUFFER_BIT);
glColor3f (1.0, 0.0, 0.5);
glBegin (GL_TRIANGLES); //треуг-ик
glVertex3f (-1, -1, H);
glVertex3f (-1, 1, H);
glVertex3f (1, 0, H); // Этот H я увеличиваю,если нажата левая кнопка мыши
// и уменьшаю ,если нажата вторая кнопка.Но не это важно,важно то,что когда H=0
// фигура видна,хотя в коде не встречается glLookAt(....) и в следствие
// этого камера установлена в точке (0.0,0.0,0.0) и направлена по
// оси -OZ.Напомню ещё,что объём видимости фигуры ограничен((-1,-1), (1,1)) .Поясните ещё случай, когда H=-1.
glEnd();
SwapBuffers(Canvas.Handle);
wglMakeCurrent(0, 0);
|