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