Показать сообщение отдельно
Старый 17.06.2014, 00:12   #315
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Пишем 3D движок - замену Xors3D

Банальный пример:
В DX10-11 есть InputLayout, то же что и VertexDeclaration в DX9, НО если в дх9 он создавался из нескольких руками заданных структур с параметрами, то в 10-11 тебе нужно иметь скомпилированный VS для его создания. Фишка в том, что в 9 на дроуколах много оверхеда была из-за адаптирования вертексдекларации к входной структуре каждого шейдера, а в 10-11 решили оставить это на препроцесс, убрав каждокадровый оверхед.
Вот только у меня в движке декларация ничего не знала о шейдерах, я её вообще считал частью меша (ну типа описывает как парсить VB), а шейдеры существовали где-то в параллельном мире. Пришлось делать костыли.

Второй пример - рендер стейты. В DX9 можно когда попало какие ставить, в 10-11 ты должен заранее создавать блоки стейтов и переключать их целиком. У меня в движке слишком рандомно менялись стейты by design, пришлось вставлять ещё костыль, который в рантайме чекал все стейты, искал в мапе похожие блоки, если не находил - создавал новые.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
moka (17.06.2014)