Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо