![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
OpenGl GLine и GL_POINTS
johnjar © (2011-04-08 17:28:00)Здравствуйте,
Только что столкнулся с большой проблемой :
немогу с помощью OpenGL нарисовать линию или точку
многоугольники при этом отрисовываются нормально.
Просмотрел множество сайтов, код оттуда копировал - ничего не помогло
glClearColor(1,1,1,1);
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT) ;
glLoadIdentity;
glPointSize(15);
glLineWidth(3);
glBegin(GL_LINES);
glColor3d(1,0,0);
glVertex3d(-4.5,3,0); // первая линия
glVertex3d(-3,3,0);
glColor3d(0,1,0);
glVertex3d(-3,3.3,0); // вторая линия
glVertex3d(-4,3.4,0);
glEnd();
glLineWidth(3);
glBegin(GL_LINE_STRIP);
glColor3d(1,0,0);
glVertex3d(-2.7,3,0);
glVertex3d(-1,3,0);
glColor3d(0,1,0);
glVertex3d(-1.5,3.3,0);
glColor3d(0,0,1);
glVertex3d(-1,3.5,0);
glEnd();
SwapBuffers(DC);
johnjar (2011-04-08 18:05:00) [1]glLineWidth(3); - задает ширину линии. какой только ее е ставил.
а сцилиндром не прокатит - у моей программы цели другие :)
Учусь (2011-04-08 17:46:00) [2]По моему, немастерскому мнению:
Нет толшины линии, поэтому она рисуется, но визуально не видна. Когда мне надо было нарисовать видимую, красивую линию - я рисовал вытянутый цилиндр.
johnjar (2011-04-08 17:30:00) [3]Причем такой код работает - разноцветные треугольники вращаются
procedure TForm1.Timer1Timer(Sender: TObject);
begin
i:=i+5;
glLineWidth(3);
glClearColor(1,1,1,1);
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT) ;
glLoadIdentity;
glRotatef(i,0,1,1);
glRotatef(i,0,0,1);
glBegin( GL_TRIANGLES);
glColor3f(1,0,0);
glVertex3f( 0.0, 0, 0.0);
glColor3f(0,1,0);
glVertex3f(-1.0,-1.0, 0.0);
glColor3f(0,0,1);
glVertex3f( 1.0,-1.0, 0.0);
glEnd();
glBegin( GL_TRIANGLES);
glColor3f(1,0,0);
glVertex3f( 0.0, 0, 0.0);
glColor3f(0,1,0);
glVertex3f(-1.0,1.0, 0.0);
glColor3f(0,0,1);
glVertex3f( 1.0,1.0, 0.0);
glEnd();
glRotatef(i,1,0,1);
glRotatef(-i,0,1,1);
glBegin( GL_TRIANGLES);
glColor3f(1,0,0);
glVertex3f( 0.0, 0, 0.0);
glColor3f(0,1,0);
glVertex3f(-1.0,1.0, 0.0);
glColor3f(0,0,1);
glVertex3f( -1.0,-1.0, 0.0);
glEnd();
glBegin( GL_TRIANGLES);
glColor3f(1,0,0);
glVertex3f( 0.0, 0, 0.0);
glColor3f(0,1,0);
glVertex3f(1.0,1.0, 0.0);
glColor3f(0,0,1);
glVertex3f(1.0,-1.0, 0.0);
glEnd();
SwapBuffers(DC);
end;