Теперь, ознакомившись с функциями глубины, можно начать строить уже свои 3D объекты. На самом деле это очень просто, поскольку объект состоит из примитивов. Так что используем треугольники, квадраты, и прочая, для построения более сложных 3D объектов.
Для примера возьмем пирамиду. Пусть она состоит из четырех треугольников и квадрата в основании.
glBegin( GL_TRIANGLES ); glColor3f(1.0,0.0,0.0); glVertex3f( 0.0, 1.0, 0.0); glVertex3f(-1.0,-1.0, 1.0); glVertex3f( 1.0,-1.0, 1.0); glColor3f(0.0,1.0,0.0); glVertex3f( 0.0, 1.0, 0.0); glVertex3f( 1.0,-1.0, 1.0); glVertex3f( 1.0,-1.0, -1.0); glColor3f(0.0,0.0,1.0); glVertex3f( 0.0, 1.0, 0.0); glVertex3f( 1.0,-1.0, -1.0); glVertex3f(-1.0,-1.0, -1.0); glColor3f(1.0,1.0,0.0); glVertex3f( 0.0, 1.0, 0.0); glVertex3f(-1.0,-1.0,-1.0); glVertex3f(-1.0,-1.0, 1.0); glEnd(); glBegin( GL_QUADS ); glColor3f(1.0,0.0,1.0); glVertex3f( 1.0,-1.0,-1.0); glVertex3f( 1.0,-1.0, 1.0); glVertex3f(-1.0,-1.0, 1.0); glVertex3f(-1.0,-1.0,-1.0); glEnd();
Не так уж и сложно, правда ведь? Почти все объекты могут быть построены из этих простых примитивов. Однако помните то, о чем я уже предупреждал: вам следует следить, в каком направлении строятся поверхности ( по или против часовой стрелки).
Попробуйте сами построить куб. А как насчет домика? Позабавьтесь немного, и построения в трехмерном пространстве станут для вас не столь утомительными.