我正在尝试连接两个编译时字符串:
constexpr const char* getString1() { return "abababa"; };
constexpr const char* getString2() { return "lalalal"; };
constexpr const char* getString3() { return getString1() + getString2(); }; //wont compile
Run Code Online (Sandbox Code Playgroud)
在 C++ 中是否有一种现代、简单的方法可以做到这一点?
我正在优化着色器代码以渲染大三角形条带。有人建议我应该尽可能为我的顶点属性使用低精度数据类型,所以我开始尝试。我将一些组件从高电平减少到低电平,但没有获得任何严重的性能改进。因此,我使用 glGetShaderPrecisionFormat 来获取格式的范围和精度,但是我收到了相同的 highp、mediump 和 lowp 值,这意味着例如
int rangehigh[2], precisionhigh;
glGetShaderPrecisionFormat(GL_VERTEX_SHADER, GL_HIGH_FLOAT, rangehigh, &precisionhigh);
int rangemedium[2], precisionmedium;
glGetShaderPrecisionFormat(GL_VERTEX_SHADER, GL_MEDIUM_FLOAT, rangemedium, &precisionmedium);
int rangelow[2], precisionlow;
glGetShaderPrecisionFormat(GL_VERTEX_SHADER, GL_LOW_FLOAT, rangelow, &precisionlow);
Run Code Online (Sandbox Code Playgroud)
rangehigh/rangemedium/rangelow 都具有相同的值以及 precisionhigh、 precisionmedium 和 precisionlow。
这是否意味着使用mediump或lowp代替highp根本不会更快?
问候