2010-05-20 71 views
1

我目前正在研究一个小图形演示(使用DirectX),它主要基于我正在研究的HLSL着色器。使用D3DX10CreateEffectFromFile我在运行时加载(并编译着色器),因为我发现它更容易调整。建立配置文件为可执行文件?

但是,一旦我做我想要做的一些组合如下:

  • 预编译着色器,以便演示启动用户更快
  • 伯里(编译成可执行文件)编译的着色器(或者只是如果有必要的源)

首先,我想这样做,因为我想演示仅仅是一个文件就是可以被很容易被复制。

我可以轻松做的一件事就是将源文本正确放入cpp中,但以后需要更新才会非常繁琐。

是否可以这样做(使用Visual Studio,DirectX,HLSL)?

+0

关于嵌入配置的类似问题: http://stackoverflow.com/questions/462583/configuration-file-as-embedded-resource – Pedro 2010-05-20 19:38:32

+0

除了类似的问题是托管代码,当这个人询问非托管代码。 – fabspro 2012-01-24 14:17:15

回答

2

正如在该链接中指出的,您可以简单地将它作为二进制资源添加到exe。但是,我个人认为,我喜欢拥有一个大的二进制文件。文件的开始有一个目录。基本上是一个着色器ID和一个偏移量。偏移量则对应于二进制编译数据开始的位置。您可以在每个编译着色器的顶部放置4个字节,说明它们的时间长度。插入一个新的着色器可能会很麻烦,因为它确实需要移动一个公平的数据,但看作是一个离线的过程并不是一个真正的问题。