Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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
Opengl es 如何在GLSL ES中定义二维数组?_Opengl Es_Glsl_Glsles - Fatal编程技术网

Opengl es 如何在GLSL ES中定义二维数组?

Opengl es 如何在GLSL ES中定义二维数组?,opengl-es,glsl,glsles,Opengl Es,Glsl,Glsles,我试过这个代码 varying vec2 blurCoordinates[2][2]; 但这会导致错误: 顶点着色器编译失败。 错误:0:10:“[”:语法错误:语法错误 错误:1个编译错误。未生成代码。正如genpfault的回答中已经指出的,GLSL从一开始就不支持多维数组 该扩展确实提供了您正在寻找的功能。它在版本4.3中被提升为OpenGL核心功能,因此从GLSL 4.30开始,您可以使用它而不依赖扩展。正如genpfault在回答中已经指出的,GLSL从一开始就不支持多维数组 扩展确

我试过这个代码

varying vec2 blurCoordinates[2][2];
但这会导致错误:

顶点着色器编译失败。 错误:0:10:“[”:语法错误:语法错误
错误:1个编译错误。未生成代码。

正如genpfault的回答中已经指出的,GLSL从一开始就不支持多维数组


该扩展确实提供了您正在寻找的功能。它在版本4.3中被提升为OpenGL核心功能,因此从GLSL 4.30开始,您可以使用它而不依赖扩展。

正如genpfault在回答中已经指出的,GLSL从一开始就不支持多维数组

扩展确实提供了您正在寻找的功能。它在版本4.3中被提升为OpenGL核心功能,因此从GLSL 4.30开始,您可以在不依赖扩展的情况下使用它。

No
\Version
指令意味着禁止多维数组的
\Version 100

:

相同类型的变量可以通过声明一个名称,后跟一个大小括号([])来聚合到数组中。数组大小必须是一个整型常量表达式(请参见第4.3.3节“整型常量表达式”)大于零。索引整型常量表达式大于或等于其声明大小的数组是非法的。索引整型常量表达式为负的数组也是非法的。在函数声明中声明为形式参数的数组必须指定大小。只能声明一维数组。所有基本类型和结构都可以形成阵列

如果使用
#version 320 es
,则可以声明数组的数组:

:

同一类型的变量可以通过声明一个名称,后跟括号([])并包含可选大小来聚合到数组中。当存在时,数组大小必须是一个常量整数表达式(请参阅第4.3.3节“常量表达式”)大于零。size参数的类型可以是有符号或无符号整数,类型的选择不影响结果数组的类型。数组只有一个维度(在“[]”内有一个数字),但是,可以声明数组数组。任何类型都可以组成数组

#version
指令意味着禁止使用多维数组的
#version 100

:

相同类型的变量可以通过声明一个名称,后跟一个大小括号([])来聚合到数组中。数组大小必须是一个整型常量表达式(请参见第4.3.3节“整型常量表达式”)大于零。索引整型常量表达式大于或等于其声明大小的数组是非法的。索引整型常量表达式为负的数组也是非法的。在函数声明中声明为形式参数的数组必须指定大小。只能声明一维数组。所有基本类型和结构都可以形成阵列

如果使用
#version 320 es
,则可以声明数组的数组:

:

同一类型的变量可以通过声明一个名称,后跟括号([])并包含可选大小来聚合到数组中。当存在时,数组大小必须是一个常量整数表达式(请参阅第4.3.3节“常量表达式”)大于零。size参数的类型可以是有符号或无符号整数,类型的选择不影响结果数组的类型。数组只有一个维度(在“[]”内有一个数字),但是,可以声明数组数组。任何类型都可以组成数组


也可以通过解决这个问题。也可以通过解决这个问题。