Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.07.17;
Скачать: [xml.tar.bz2];

Вниз

OpenGl GLine и GL_POINTS   Найти похожие ветки 

 
johnjar ©   (2011-04-08 17:28) [0]

Здравствуйте,
Только что столкнулся с большой проблемой :
немогу с помощью 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 17:30) [1]

Причем такой код работает - разноцветные треугольники вращаются


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;


 
Учусь   (2011-04-08 17:46) [2]

По моему, немастерскому мнению:
Нет толшины линии, поэтому она рисуется, но визуально не видна. Когда мне надо было нарисовать видимую, красивую линию - я рисовал вытянутый цилиндр.


 
johnjar ©   (2011-04-08 18:05) [3]

glLineWidth(3); - задает ширину линии. какой только ее е ставил.
а сцилиндром не прокатит - у моей программы цели другие :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2011.07.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
10-1175512056
Дмитрий Белькевич
2007-04-02 15:07
2011.07.17
Как передать динамический массив битмапов.


2-1302357979
takki
2011-04-09 18:06
2011.07.17
TDrawGrid


2-1301685503
Gu
2011-04-01 23:18
2011.07.17
Еще раз про ani курсоры из ресурсов


15-1301662418
Baks
2011-04-01 16:53
2011.07.17
Как лучше записать несколько TBitmap в один файл


2-1301819904
Leon-Z
2011-04-03 12:38
2011.07.17
ООП. Как сделать правильнее ???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский