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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.042 c
15-1184238631
Zagaevskiy
2007-07-12 15:10
2007.08.12
SMS


2-1184578180
vasIZmax
2007-07-16 13:29
2007.08.12
Включить/выключить прокси


2-1184308818
Kolan
2007-07-13 10:40
2007.08.12
Почему один пакет не видит, что в другом пакете есть класс?


2-1184816137
zsergey
2007-07-19 07:35
2007.08.12
связка двух таблиц ...


2-1184226969
DINOEL
2007-07-12 11:56
2007.08.12
Проблема в передачи данных с одной формы в другую





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