如何在OpenGL ES 2.0中将float数组传递给Shader?

理查德·克拉森(Richard Klassen)

我正在尝试将一组点光源从对象类传递到Android上的OpenGL ES 2.0中的顶点着色器。

点光源存储为float[]数组,并且着色器理想情况下会将浮点数读取为vec4[]数组。

float []可以通过调用传递到顶点着色器,glUniform4fv(...floatArray, 0)并在顶点着色器中声明为,uniform vec4 u_PointLights[990]但这非常慢。

我正在尝试将浮点数放入GPU内存;首先想到的是VBO,但是在绑定数据并将其传递给着色器之后,我只能读取单个vec4而不是数组(即无法声明attribute vec4[] a_PointLights)。

获得vec4[]着色器第二名的最佳方法是什么

谢谢,

理查德

固体像素

在OpenGL ES 2.0中,您实际上不能做任何其他事情-客户端制服或属性,两者都会受到一定限制。

在OpenGL ES 3.0中,您可以使用“统一缓冲区对象”,但是请注意,非常大的制服数组总是相对昂贵的,尤其是在移动设备上。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在OpenGL ES 2.0中将float数组传递给Shader?

来自分类Dev

如何在OpenGL ES 2中正确缩放

来自分类Dev

如何在OpenGL ES 2中处理多个对象

来自分类Dev

Android OpenGL ES 2:如何在主活动中将OpenGL活动用作片段

来自分类Dev

Android OpenGL ES 2:如何在主活动中将OpenGL活动用作片段

来自分类Dev

如何在openGL ES 2.0中执行2次传递以获得模糊效果

来自分类Dev

如何在OpenGL ES 2中使用顶点数组对象

来自分类Dev

如何在yii2中将数组传递给gridview

来自分类Dev

如何在opengl es 2.0中的2D游戏中设置深度范围?

来自分类Dev

如何在Android的OpenGL ES中渲染深度纹理

来自分类Dev

如何在OpenGL ES 2.0中管理多个纹理?

来自分类Dev

如何在Common Lisp中编写opengl ES 2.0 / 3.0?

来自分类Dev

如何在iOS OpenGL ES 2.0中画星

来自分类Dev

如何在 Android 的 OpenGL ES 2.0 中检查上传的纹理?

来自分类Dev

如何在Symfony2中将参数传递给验证约束-在yml中

来自分类Dev

在opengl es 2中如何释放纹理(ios硬崩溃)

来自分类Dev

如何在Symfony2中将嵌套参数值传递给服务

来自分类Dev

如何在ZF2中将语言变量传递给布局?

来自分类Dev

如何在Symfony2中将值传递给Form Builder?

来自分类Dev

如何在ZendFramework 2中将选项/参数传递给formCollection字段集?

来自分类Dev

如何在yii2中将一个额外的变量传递给listview

来自分类Dev

如何在Symfony2中将值传递给树枝

来自分类Dev

如何在SDL2中显示OpenGL纹理

来自分类Dev

OpenGL ES 2:将标量顶点属性传递给着色器程序

来自分类Dev

如何在SPIR-V Shader中的OpenGL中设置sampler2D制服?

来自分类Dev

如何在Terraform 0.12中将templatefile函数传递给EC2资源的user_data参数?

来自分类Dev

如何在OpenGL ES 2.0中模拟累积缓冲区(跟踪粒子效果)

来自分类Dev

如何在OpenGl ES Xcode中以编程方式使用抗锯齿?

来自分类常见问题

OpenGL ES如何在着色器中设置布尔值

Related 相关文章

  1. 1

    如何在OpenGL ES 2.0中将float数组传递给Shader?

  2. 2

    如何在OpenGL ES 2中正确缩放

  3. 3

    如何在OpenGL ES 2中处理多个对象

  4. 4

    Android OpenGL ES 2:如何在主活动中将OpenGL活动用作片段

  5. 5

    Android OpenGL ES 2:如何在主活动中将OpenGL活动用作片段

  6. 6

    如何在openGL ES 2.0中执行2次传递以获得模糊效果

  7. 7

    如何在OpenGL ES 2中使用顶点数组对象

  8. 8

    如何在yii2中将数组传递给gridview

  9. 9

    如何在opengl es 2.0中的2D游戏中设置深度范围?

  10. 10

    如何在Android的OpenGL ES中渲染深度纹理

  11. 11

    如何在OpenGL ES 2.0中管理多个纹理?

  12. 12

    如何在Common Lisp中编写opengl ES 2.0 / 3.0?

  13. 13

    如何在iOS OpenGL ES 2.0中画星

  14. 14

    如何在 Android 的 OpenGL ES 2.0 中检查上传的纹理?

  15. 15

    如何在Symfony2中将参数传递给验证约束-在yml中

  16. 16

    在opengl es 2中如何释放纹理(ios硬崩溃)

  17. 17

    如何在Symfony2中将嵌套参数值传递给服务

  18. 18

    如何在ZF2中将语言变量传递给布局?

  19. 19

    如何在Symfony2中将值传递给Form Builder?

  20. 20

    如何在ZendFramework 2中将选项/参数传递给formCollection字段集?

  21. 21

    如何在yii2中将一个额外的变量传递给listview

  22. 22

    如何在Symfony2中将值传递给树枝

  23. 23

    如何在SDL2中显示OpenGL纹理

  24. 24

    OpenGL ES 2:将标量顶点属性传递给着色器程序

  25. 25

    如何在SPIR-V Shader中的OpenGL中设置sampler2D制服?

  26. 26

    如何在Terraform 0.12中将templatefile函数传递给EC2资源的user_data参数?

  27. 27

    如何在OpenGL ES 2.0中模拟累积缓冲区(跟踪粒子效果)

  28. 28

    如何在OpenGl ES Xcode中以编程方式使用抗锯齿?

  29. 29

    OpenGL ES如何在着色器中设置布尔值

热门标签

归档