Главная страница
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.035 c
3-1177412617
DelphiN!
2007-04-24 15:03
2007.08.12
Очень долгий Insert в таблицу БД FireBird 1.5


6-1167811987
Владимир1
2007-01-03 11:13
2007.08.12
Заполнение текстового поля на странице через Delphi


15-1184678519
Nous Mellon_
2007-07-17 17:21
2007.08.12
Как настроить .htaccess?


11-1167225125
mixail_shar
2006-12-27 16:12
2007.08.12
функция NewKOLStrList KOL


11-1167056695
mixail_shar
2006-12-25 17:24
2007.08.12
Update до v2.49