2013-10-13 89 views
0

我正在使用VS C++ 2012和Directx 10,并遇到一些问题。Visual Studio C++ 2012和着色器问题

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

回答

0

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