Directx 编译着色器的ABC方法
我发誓我一直在寻找这个问题的答案,但我没有找到真正的解决办法。这是什么问题 我是DirectX和着色器的新手。关于着色器,我仍然不了解一些东西 1-如何制作着色器?我必须在项目中创建.fx文件吗?有时是这样,但在某些示例中,我找不到任何.fx文件。我如何制作这个文件?我的Visual Studio版本无法直接创建.fx文件;我必须“强制”文件为.fx 2-我如何编译它们?它们是在我编译解决方案的同时编译的,还是有特殊的编译方法 3-附近有好的教程吗?我一直在寻找一本shaders圣经,但大多数时候,我发现模糊的、简短的教程很少解释一些事情,而且从来没有深入地解释过Directx 编译着色器的ABC方法,directx,shader,Directx,Shader,我发誓我一直在寻找这个问题的答案,但我没有找到真正的解决办法。这是什么问题 我是DirectX和着色器的新手。关于着色器,我仍然不了解一些东西 1-如何制作着色器?我必须在项目中创建.fx文件吗?有时是这样,但在某些示例中,我找不到任何.fx文件。我如何制作这个文件?我的Visual Studio版本无法直接创建.fx文件;我必须“强制”文件为.fx 2-我如何编译它们?它们是在我编译解决方案的同时编译的,还是有特殊的编译方法 3-附近有好的教程吗?我一直在寻找一本shaders圣经,但大多数时
希望有帮助。1。着色器新增功能? 要获得sharder的介绍,请使用免费的shazzam着色器编辑器()通过交互式绘制工具创建简单着色器。尝试使用不同的选项,然后比较自动生成的HLSL(.fx)代码,以便更好地理解。在您了解如何编写着色器代码后,请购买标准书籍/在线教程,并根据您的要求练习编写自己的代码 2。常用的编译方法: a。D3DXCreateEffectFromFile-编写着色器代码并保存在.fx扩展名中,然后通过D3DXCreateEffectFromFile动态编译代码。编译后的代码可以使用effect(ID3DXEffect)接口在核心模块中使用 b。显式编译:编写着色器代码并保存在.fx扩展名中,并使用fxc.exe显式编译代码(可以在DirectX SDK实用工具文件夹中找到) 示例:
fxc.exe/Tfx_2_0/Fo file.fxo file.fx 创建二进制文件后,如下所示
1. Create a buffer and load the generated binary file(.fxo) by the file stream.
2. Call D3DXCreateEffect and give the buffer content as a input parameter.
3. Like "method a" use effect(ID3DXEffect) interface for interacting with the
shader code.
3。简介教程: