wr0*_*00m 7 c++ include string-literals c++11
是否可以使用C++ 11原始字符串文字在编译时将文本文件的全部内容作为字符串获取?
基本上,我希望能够嵌入GLSL着色器源文件而无需修改它们.
这里建议采用以下方法:
const std::string shaderSource = R"glsl(
#include "my_shader.glsl"
)glsl";
Run Code Online (Sandbox Code Playgroud)
这很hacky,但对我的应用程序来说没问题.但是,由于在包含文件之前评估原始字符串文字,这似乎不起作用.
我想我可以移动'R"glsl('和')glsl"'零件每个着色源文件的开头和结尾,而不是,然后就这样做:
const std::string shaderSource =
#include "my_shader.glsl"
;
Run Code Online (Sandbox Code Playgroud)
但就像我说的那样,我真的更喜欢不必修改着色器源文件,因为这会使相同文件的运行时加载变得复杂,因此使它们的可移植性降低.
| 归档时间: |
|
| 查看次数: |
126 次 |
| 最近记录: |