Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> display lists Element Transformations, Трансформация отделього элемента CallLis 
:(
    Опции темы
glDevAleksey001
  Дата 15.3.2015, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 7.8.2014

Репутация: нет
Всего: нет



Прошу помощи.

   
Есть вот такой дисплей лист

RenderList[0]=1;

 GL.Translate(Position.X, Position.Y, Position.Z);
RenderList[1]=2;<-- Вот этот элемент нужно подвергнуть трансформации НЕ НАРУШАЯ ПОСЛЕДОВАТЕЛЬНОСТИ рендеринга 

RenderList[2]=3;
GL.CallLists(RenderList.Count, ListNameType.Int, RenderList.ToArray());


Новая перекомпиляция не подходит забирает много фпс.


Это сообщение отредактировал(а) glDevAleksey001 - 15.3.2015, 17:08
PM MAIL   Вверх
tzirechnoy
Дата 16.3.2015, 02:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 1
Всего: 16



Вообще -- если речь идёт об оптимизацыи (а не о том, чтобы "просто работало") -- то, очевидно, что всё зависит от реального кода и во что там обработка упирается.
Поскольку реального кода нет и дажэ проблема не показана -- то сложно сказать что-то конкретное.

Самый банальный вариант, очевидно, 
Код

glCallList(1);
glPushMatrix();
glTranslate(...);
glCallList(2);
glPopMatrix();
glCallList(3);


В списке 2 матрица не должна сбрасываться.

Да, параметрических glList у нас в общем нет. 

Если кажэтся, что это слишком много дроуколлов -- то можно попытаться сделать что-то вроде предварительного glPushMatrix, затем в списках её доставать через glPopMatrix. Впрочем, учитывая размер matrix stack (16 что-ли)  -- выигрыш будет весьма умеренным.

Ещё, если перекомпиляцыя списка 2 действительно тормозит всё (проверьте, можэт это и не так) -- то можно попытаться этот glTranslate вынести в отдельный display list, который маленький и перекомпиляцыя которого не будет проблемой.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.1302 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.