Я использую VS c++ 2012 и Directx 10 и столкнулся с некоторыми проблемами.
Я обнаружил, что в vs 2012 я могу напрямую добавлять файлы.hlsl и выбирать тип шейдера для создания, например, вершинный или пиксельный шейдер. Но я могу добавить только один тип шейдеров за раз, в отличие от ранее в vs 2010, я мог бы просто создать и загрузить файл.fx, содержащий как вершинный, так и пиксельный шейдер и технику. В нынешней ситуации я могу добавить отдельные файлы.hlsl, но я понятия не имею, куда положить Technique. Также я заметил, что версия 2012 года не может найти D3D10CreateEffectFromFile. Как Shader работает в версии vs 2012? Если я просто хочу использовать вершинный шейдер и один пиксельный шейдер, как я могу это сделать?
Я давно не работаю с DirectX, но думаю, что это не зависит от визуальной версии студии и даже DirectX. в DX10 и DX11 вы можете создать файл fx, который содержит различные типы шейдеров вместе с техникой. (но в DirectX 11 вы должны включить класс эффектов в свой проект), но в DX11 вы также можете использовать hlsl файлы, которые, я думаю, могут содержат все типы шейдеров, просто при компиляции вы отправляете имя и тип вашего конкретного шейдера в функции DX11, и я думаю, что в DX11 этот подход предпочтительнее. Для D3D10CreateEffectFromFile
меня нет идеи, но я думаю, что вы не включаете заголовки правильно. снова я говорю, что давно не работает с DX, и мой ответ может быть неправильным.