【发布时间】:2013-02-05 21:23:10
【问题描述】:
下面的着色器被称为一个字符串和一个以 null 结尾的字符串。
着色器:
const GLchar* VertexShader =
{
"#version 330\n"\
"layout(location=0) in vec4 in_Position;\n"\
"layout(location=1) in vec4 in_Color;\n"\
"out vec4 ex_Color;\n"\
"void main(void)\n"\
"{\n"\
" gl_Position = in_Position;\n"\
" ex_Color = in_Color;\n"\
"}\n"
};
我的问题是:
- 每行末尾的斜线是什么意思?还有,为什么最后一行没有斜线?
- shader中有几个字符串,为什么说shader只有一个字符串?
- 为什么说它是一个以空字符结尾的字符串? (因为没有'\0')
【问题讨论】:
-
Save yourself some typing 在这些着色器上。
-
您已将其标记为 C 和 C++。是哪一个?
-
@abarnert:两者都可以,因为在这种情况下两者都遵循相同的规则。
-
@NicolBolas:但是 OP 不知道规则是什么,因此无法知道他是否正在处理规则相同、非常相似或完全不同的案例——但是他大概确实知道他是在写 C 还是 C++。而且,即使在这种情况下,知道引用 C 标准还是 C++ 标准也会很有帮助。