Direct3D 11 файлов эффектов удержан от использования?

Я играл вокруг с Direct3D 11 немного в последнее время и был расстроен отсутствием документации относительно основ API (таких как простой рендеринг геометрии). Одна из точек беспорядка, навлеченного редкой документацией, является (очевидным) перемещением далеко от использования эффектов для программ построения теней.

В D3D11 весь эффект (.fx) поддержка был удален из библиотек D3DX и проложен под землей далеко в твердом для нахождения (редко зарегистрированный, конечно) совместно использованной исходной библиотеки. Ни один из включенных примеров не использует его, предпочитая вместо этого компилировать файлы HLSL непосредственно. Все это говорит мне, что Microsoft пытается заставить людей прекращать использовать формат файла эффектов. Это верно? Есть ли какая-либо документация какого-либо вида, который указывает это? Все хорошо делая его так или иначе, но уже много лет они продвигали .fx формат, таким образом, это кажется нечетным, что они внезапно решили бы отбросить его.

18
задан skaffman 3 April 2010 в 11:36
поделиться

3 ответа

Я нахожусь в том же положении, и после того, как погуглил как сумасшедший даже для самого простого образца, который использует D3DX11CreateEffectFromMemory, я тоже пришел к выводу, что поддержка файлов .fx не это их высшая цена. Хотя странно, что они добавили концепцию EffectGroup, которая является новой для 11, если они не хотят, чтобы мы ее использовали.

Я немного поиграл с новым API отражения, так что похоже, что будет довольно легко собрать ваши собственные функции для установки переменных и т. Д., По сути, создав свой собственный класс Effect, и следующий шаг будет чтобы увидеть, какая у них поддержка для создания блоков состояния рендеринга через API. Возможность редактировать их прямо в файле .fx была очень приятной, поэтому, надеюсь, что-то подобное все еще существует (или, в худшем случае, я могу извлечь эту часть из кода Effect11).

4
ответ дан 30 November 2019 в 09:21
поделиться

http://msdn.microsoft.com/en-us/library/ff476261 (v = VS.85) .aspx

Это говорит о том, что он может принимать шейдер или эффект.

http://msdn.microsoft.com/en-us/library/ff476190 (v = VS.85) .aspx

Кроме того, в чем разница между шейдером и эффектом?

{{ 1}}
0
ответ дан 30 November 2019 в 09:21
поделиться

Многие профессиональные разработчики игр и графики не используют интерфейсы эффектов в Direct3D, и многие ведущие игровые движки также не используют их. Вместо этого пользовательские подсистемы материалов / эффектов строятся поверх средств управления состоянием шейдеров и графики нижнего уровня. Это позволяет разработчикам делать такие вещи, как нацеливание как на Direct3D, так и на OpenGL, через общий конвейер управления активами.

5
ответ дан 30 November 2019 в 09:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: