0

我正在使用 VS c++ 2012 和 Directx 10 并且遇到了一些问题。

我发现在vs 2012中,我可以直接添加.hlsl文件,并且可以选择创建哪种类型的shader,比如vertex或者pixel shader。但我一次只能添加一种着色器,与以前在 vs 2010 中不同,我可以创建并加载一个包含顶点和像素着色器以及该技术的 .fx 文件。在目前的情况下,我可以添加单独的 .hlsl 文件,但我不知道将技术放在哪里。我还注意到 2012 版找不到 D3D10CreateEffectFromFile。着色器在 vs 2012 版本中如何工作?如果我只想使用一个顶点着色器和一个像素着色器,我该怎么做?

4

1 回答 1

0

很长一段时间我都不使用directX,但我认为它不依赖于visual studio版本,甚至也不依赖于directX。在 DX10 和 DX11 中,您可以创建一个包含不同类型着色器以及技术的 fx 文件。(但在 Directx 11 中,您必须在项目中包含效果类)但在 DX11 中,您也可以使用我认为可以的 hlsl 文件包含所有类型的着色器,只需在编译时将特定着色器的名称和类型发送到 DX11 函数,我认为在 DX11 中这种方法是首选方式。因为D3D10CreateEffectFromFile我不知道,但我认为您没有正确包含标题。我再说一遍,我很久没有使用 DX 了,我的回答可能不正确。

于 2013-10-13T10:29:33.193 回答