Directx 将配置文件构建到可执行文件中?

Directx 将配置文件构建到可执行文件中?,directx,compilation,hlsl,Directx,Compilation,Hlsl,我目前正在开发一个小的图形演示(使用DirectX),它主要基于我正在开发的HLSL着色器。我正在运行时使用D3DX10CreateEffectFromFile加载(并编译着色器),因为我发现它更容易调整 但是,一旦完成,我想结合以下几点: 预编译着色器,以便用户更快地启动演示 掩埋(编译到可执行文件中)已编译的着色器(如果需要,可能只是源代码) 首先,我想这样做,因为我希望演示只是一个文件,可以很容易地复制周围 有一件事我可以很容易地做到,就是将源文本直接放入cpp中,但这将非常繁琐,我需

我目前正在开发一个小的图形演示(使用DirectX),它主要基于我正在开发的HLSL着色器。我正在运行时使用D3DX10CreateEffectFromFile加载(并编译着色器),因为我发现它更容易调整

但是,一旦完成,我想结合以下几点:

  • 预编译着色器,以便用户更快地启动演示
  • 掩埋(编译到可执行文件中)已编译的着色器(如果需要,可能只是源代码)
首先,我想这样做,因为我希望演示只是一个文件,可以很容易地复制周围

有一件事我可以很容易地做到,就是将源文本直接放入cpp中,但这将非常繁琐,我需要稍后更新它


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

正如该链接中指出的,您只需将其作为二进制资源添加到exe即可


但就我个人而言,我会选择一个大的二进制文件。文件的开头有一个目录。基本上是着色器ID和偏移量。然后,偏移量对应于二进制编译数据的起始位置。您可以将4个字节放在每个已编译着色器的顶部,以说明该着色器的长度。插入一个新的着色器可能会很麻烦,因为它确实需要移动大量的数据,但将其视为一个离线过程并不是一个真正的问题。

关于嵌入配置的类似问题:当此人询问非托管代码时,类似的问题是托管代码。