我希望能够从顶点着色器向几何着色器传递任意数量和不同类型的值。我知道OpenGL没有动态数组,因此数量应该在编译时指定。整个程序应该在配备NVIDIA GeForce 9400M显卡和仅提供OpenGL 2.1及其扩展的驱动程序的苹果MacBook上运行。
问题在于几何着色器以每个顶点一个元素的数组形式接收输入。据我所知,在我的设置中没有可用的数组或包含数组的接口块的数组。到目前为止,我能想到的最好的解决方案是指定一些变量来传递这些信息,从顶点着色器中提取出一个数组,并在几何着色器中将其转换回具有特定步幅长度的数组。这样,仍然可以使用计算索引访问值。
是否有更好、更优雅的方法?
问题在于几何着色器以每个顶点一个元素的数组形式接收输入。据我所知,在我的设置中没有可用的数组或包含数组的接口块的数组。到目前为止,我能想到的最好的解决方案是指定一些变量来传递这些信息,从顶点着色器中提取出一个数组,并在几何着色器中将其转换回具有特定步幅长度的数组。这样,仍然可以使用计算索引访问值。
是否有更好、更优雅的方法?