我目前正在开发一个小图形演示(使用DirectX),它主要基于我正在研究的HLSL着色器。使用D3DX10CreateEffectFromFile我在运行时加载(并编译着色器),因为我发现它更容易调整。
然而,一旦我完成了,我想做以下几种组合:
首先,我想这样做,因为我希望演示只是一个可以很容易复制的文件。
我可以轻松做的一件事就是将源文本放入cpp中,但是我需要稍后更新它会非常繁琐。
是否可以执行此类操作(使用Visual Studio,DirectX,HLSL)?
答案 0 :(得分:2)
正如在该链接中指出的那样,您只需将其作为二进制资源添加到exe。
就个人而言,我会选择像二进制文件这样的东西。文件的开头有一个目录。基本上是着色器ID和偏移量。然后,偏移量对应于二进制编译数据的开始位置。您可以在每个已编译的着色器的顶部放置4个字节,以表示它的长度。插入一个新的着色器可能会很麻烦,因为它需要移动公平的数据,但看到它的离线过程并不是真正的问题。