2015-02-02 3 views
0

Я пытаюсь скомпилировать шейдер DirectX 11 на компьютере под управлением Windows 7 с помощью Visual Studio 2010 на университетском компьютере. Я мог бы скомпилировать их очень хорошо, используя содержимое d3dcompiler.h на моем домашнем компьютере под управлением Windows 8 без эффектов, но на компьютерах с неработоспособностью, похоже, отсутствуют оба эффекта и d3dcompiler.h. У меня нет административного доступа, поэтому я не могу установить SDK или подобное. Есть ли альтернативный способ компиляции шейдеров HLSL? Или мне придется прибегнуть к какой-то компиляции файла lib d3dcompiler для VS2010 на моем собственном компьютере и скопировать его? Я спрашиваю, потому что мне действительно хотелось бы работать над моим игровым проектом в университете, но это оказалось сложнее, чем я ожидал. Спасибо за любую помощь! : DКомпиляция DirectX 11 shader без эффектов или d3dcompiler.h

ответ

0

VS 2012 и VS 2013 включают Windows 8.x SDK, поэтому у них уже есть инструмент компилятора HLSL FXC.EXE и API D3DCompile. VS 2010 предшествует этой интеграции, поэтому вам нужно использовать устаревший DirectX SDK *

Если вы не используете систему эффектов или D3DR, то обычно вы можете предварительно скомпоновать свои шейдеры дома. Вы можете либо создать FXC-заголовки C с блоками данных в них, либо файлы двоичного шейдера. Это метод, используемый для DirectX Tool Kit, который включает все его шейдеры, предварительно созданные как заголовки C, и большинство игр поставляются со всеми их шейдерами, предварительно созданными как двоичные файлы.

С Effects 11 вы также можете предварительно скомпоновать свои шейдеры, но для выполнения шейдерного отражения требуется API D3DCompile во время выполнения.

Если ваши университетские системы имеют устаревший SDK DirectX, то ваш проект, вероятно, просто пропускает настройки VC++ Directories, чтобы добраться до этих include/lib путей.

Сноска * = Фактически вы также можете использовать SDK Windows 8.x с VS 2010, но маловероятно, что ваши компьютерные системы университета установлены.

Смежные вопросы