Форум: "Игры";
Текущий архив: 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.049 c