Главная страница
    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.45 MB
Время: 0.062 c
2-1184240820
pathfinder
2007-07-12 15:47
2007.08.12
Лог ftp-клиента..


2-1184248152
cava
2007-07-12 17:49
2007.08.12
линии


2-1184337631
Kolan
2007-07-13 18:40
2007.08.12
TPageControl в TScrolBox е какие есть варианты реализации?


15-1184156044
trubin
2007-07-11 16:14
2007.08.12
Загрузить, Закачать, Скачать или ...


3-1177658448
DelphiLexx
2007-04-27 11:20
2007.08.12
FireBird 2.0 многопользовательская работа





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский