gpt4 book ai didi

java - 可变大小数组 GLSL

转载 作者:行者123 更新时间:2023-12-01 10:59:26 24 4
gpt4 key购买 nike

我正在为我正在构建的 OpenGL/Java 引擎创建着色器。我已经搜索了一段时间,但我找不到拥有可变大小数组的方法。我知道我可以创建一个静态大小的,例如:

uniform vec3 variable[4];

但是,如果可能的话,我将如何根据从 CPU 加载到着色器的内容来创建大小为 X 的数组。

提前致谢!

最佳答案

GLSL 不允许改变数组大小。但是,从 OpenGL 4 开始,它确实支持大小不同的着色器存储缓冲区对象。

有关 SSBO 的更多信息:https://www.opengl.org/wiki/Shader_Storage_Buffer_Object

现在想一想,一种黑客方法也可以是将您的数据编码为纹理,然后将其传递到着色器中。例如,4 个 rgba 组件中的每一个都可能是您想要传递的数据的 1 个字节。对于大于一个字节的数据,您可以将其分解为字节。

关于java - 可变大小数组 GLSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37335445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com