Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我可以在着色器外部声明vec3吗?_C++_Opengl_Vector_Shader - Fatal编程技术网

C++ 我可以在着色器外部声明vec3吗?

C++ 我可以在着色器外部声明vec3吗?,c++,opengl,vector,shader,C++,Opengl,Vector,Shader,只是想知道是否有办法在着色器之外创建Vec3。例如,在我的程序中,我希望有如下内容: function() { vec3 a = vec3 (x, y, z) } 但目前我得到的错误是“vec3未定义”。是否有我可以包含的库或其他方法来解决此问题?您可以。它的工作原理和你认为的一样。在您的示例代码中,您是否忘记添加“;”?OpenGL红皮书第8版附带了一个.h文件,名为It's does your want。您可以将其包含在源文件中,并像在着色器中一样使用它 不,如果我试着让向量vec3

只是想知道是否有办法在着色器之外创建Vec3。例如,在我的程序中,我希望有如下内容:

function()
{
  vec3 a =  vec3 (x, y, z)
}

但目前我得到的错误是“vec3未定义”。是否有我可以包含的库或其他方法来解决此问题?

您可以。它的工作原理和你认为的一样。在您的示例代码中,您是否忘记添加“;”?

OpenGL红皮书第8版附带了一个.h文件,名为It's does your want。您可以将其包含在源文件中,并像在着色器中一样使用它

不,如果我试着让向量vec3vec;我得到两个错误,'错误C2146:语法错误:缺少';'在标识符“vec”和“error C4430”之前:假定缺少类型说明符-int。注意:C++不支持我的默认的IN工作。我使用了void main(){vec3vec=vec3(0.1,0.5,0.9);frag=vec4(vec.rgb,1.0);}版本330@sgtHale虽然措辞很差,但我相信LUKE47 92是指从C++代码中使用<代码> VEC3。Luke4792:如果这是您的实际问题,那么我建议您研究一下——它非常适合C++/Obj-C++中的所有GLSL数据类型。