|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
OpenGl линии в переспективе
Имеется такой код:
Код:
wglMakeCurrent ( Canvas.Handle , hrc ); glClearColor ( col1 , 0.5 , 0.7 , 1.0 ); glClear ( GL_COLOR_BUFFER_BIT ); glPushMatrix; glFrustum(-1,1,-1,1,3,10); glTranslatef(0,0,-4); if (d > 0.79) and (d < 0.81) then d2 := -0.01; if (d1 > 0.79) and (d1 < 0.81) then d3 := -0.02; if (d < -0.79) and (d > -0.81) then d2 := 0.01; if (d1 < -0.79) and (d1 > -0.81) then d3 := 0.02; d := d + d2; d1 := d1 + d3; glPointSize ( 7 ); glColor3f ( col1,col4,col3 ); glBegin ( GL_POINTS ); glVertex3f ( d , d1,0 ); glEnd; if (da > 0.79) and (da < 0.81) then da2 := -0.02; if (da1 > 0.79) and (da1 < 0.81) then da3 := -0.01; if (da < -0.79) and (da > -0.81) then da2 := 0.02; if (da1 < -0.79) and (da1 > -0.81) then da3 := 0.01; da := da + da2; da1 := da1 + da3; if (db > 0.77) and (db < 0.81) then db2 := -0.02; if (db1 > 0.77) and (db1 < 0.81) then db3 := -0.03; if (db < -0.77) and (db > -0.81) then db2 := 0.02; if (db1 < -0.77) and (db1 > -0.81) then db3 := 0.03; db := db + db2; db1 := db1 + db3; glColor3f ( col3,col2,col4 ); glPointSize ( 9 ); glBegin ( GL_POINTS ); glVertex3f ( db , db1 ,0); glEnd; glColor3f ( col4,col2,col3 ); glPointSize ( 5 ); glBegin ( GL_POINTS ); glVertex3f ( da , da1,0 ); glEnd; glColor3f ( col1,col3,col2 ); glLineWidth ( 7.0 ); glBegin ( GL_LINES ); glVertex3f ( -0.8 , -0.8,0 ); glVertex3f ( -0.8 , 0.8,0 ); glEnd; glColor3f ( col1,col3,col2); glLineWidth ( 7.0 ); glBegin ( GL_LINES ); glVertex3f ( -0.8 , -0.8,0 ); glVertex3f ( 0.8 , -0.8,0 ); glEnd; glColor3f ( col1,col3,col2 ); glLineWidth ( 7.0 ); glBegin ( GL_LINES ); glVertex3f ( 0.8 , 0.8,0 ); glVertex3f ( 0.8 , -0.8,0 ); glEnd; glColor3f (col1,col3,col2 ); glLineWidth ( 7.0 ); glBegin ( GL_LINES ); glVertex3f ( -0.8 , 0.8,0 ); glVertex3f ( 0.8 , 0.8,0 ); glEnd; glPopMatrix; if tb then glRotatef(5,-1,0,0); if lb then glRotatef(5,0,1,0); if bb then glRotatef(5,1,0,0); if rb then glRotatef(5,0,-1,0); wglMakeCurrent (0, 0) ; Почму-то при его выполнении эти линии не сходятся. объясните почму, плиз Жизнь - это игра... Сюжет не очень, зато графика - отпад. |
#2
|
|||
|
|||
Помоему нужно установить gluPerspective
|
#3
|
||||
|
||||
объясни, плиз, как им пользоваться...
Жизнь - это игра... Сюжет не очень, зато графика - отпад. |
#4
|
|||
|
|||
Млин, в каждом сайте по компьютерной графике это есть
|
#5
|
||||
|
||||
нашол, но смысла от нее стокоже (тош перспективы нет)
Жизнь - это игра... Сюжет не очень, зато графика - отпад. |