Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.12;
Скачать: CL | DM;

Вниз

Проблема с дисплейным списком.   Найти похожие ветки 

 
Provodnick ©   (2006-09-04 16:04) [0]

Есть дисплейный список DS, который создается в процедурке примерно такого содержания:

procedure TForm1.Create2DDispList;
begin
 glNewList(DS, GL_COMPILE);
   glLineWidth(1);
   glPointSize(1);
   glDisable(GL_LINE_SMOOTH);
   glShadeModel(GL_SMOOTH);
   glPolygonMode(GL_FRONT_AND_BACK, GL_FLAT);

   glBegin(GL_TRIANGLES);
     glColor3f(0.0, 0.0, 0.0);
     glVertex2f( 0, 0);
     glVertex2f( 50, 0);
     glColor3f(0.6, 0.6, 0.6);
     glVertex2f( 12, 12);
  glEnd;

........
.......
.......
   glLineWidth(LineWidth);
   glPointSize(PointRadius);
   glEnable(GL_LINE_SMOOTH);
   glShadeModel(GL_FLAT);

 glEndList
end;

Потом он вызывается в процедуре OnPaint формы. Там идет прорисовка сцены и перед вызовом glCallList(DS) есть glPolygonMode(GL_FRONT_AND_BACK, GL_LINE) - так вот, почему-то при вызове DS действует именно GL_LINE, а не GL_FLAT, т.е. то, что должно быть закрашено рисуется контуром. Кто-нибудь встречался с чем-то подобным?


 
ancara ©   (2006-09-04 17:50) [1]

имхо glPolygonMode(GL_FRONT_AND_BACK, GL_FLAT); надо вынести за список, т.к. есть подозрение что в списке оно не выполняется. Надо в доки смотреть, я так не помню...


 
ancara ©   (2006-09-04 17:55) [2]

э! блин! какой GL_FLAT??? там GL_FILL!!


 
Rial ©   (2006-09-04 18:29) [3]

Балин !
Уже который пост про дисплейные списки !!

Всем кажется, что использование списков эффективно по причине того,
что компиляция их приводит к более быстрому выполнению - в списке не запоминаются промежуточные команды.
Если это и так, то ощутить "на глаз" ускорение работы приложения при использовании дисплейных списков как-то не получается.

А по делу говоря, я бы посоветовал команды, изменяющие
далекие от параметров вида модели характеристики выносить
за списки.
В идеале в списке должны быть вертексы и трансформации матрицы.
Ну, и еще glBuild2dMipmaps.
В противном случае потом не оберешся проблем.


 
Provodnick ©   (2006-09-05 13:33) [4]

Да, там GL_FILL - вчера вечером уже допер. Дурацкая ошибка. Спасибо за комментарии!



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

Текущий архив: 2007.08.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
6-1167761692
maxistent
2007-01-02 21:14
2007.08.12
Как отменить отправку данных?


2-1184682775
Knob
2007-07-17 18:32
2007.08.12
Две проги


9-1157313285
_Razor_
2006-09-03 23:54
2007.08.12
Текстурирование ландшафтов


2-1184346134
WFS
2007-07-13 21:02
2007.08.12
Как поменять название поля в базе данных (программным образом)?


15-1183600174
oldman
2007-07-05 05:49
2007.08.12
Олимпиаде в России быть!!!