gpt4 book ai didi

Android OpenGL ES 2.0 实时变色

转载 作者:太空狗 更新时间:2023-10-29 12:42:20 24 4
gpt4 key购买 nike

目前我正在为每一帧创建一个新的着色器程序并使用它来为形状着色。这会导致相当大的延迟。我想知道是否有任何方法可以在 GLES20 中更有效地设置对象的颜色。我知道在其他版本中有一个 setColor 函数,但据我所知,它在这个版本的 OpenGL ES 中不存在。

最佳答案

最简单的方法是使用统一变量。您的 fragment 着色器的声明部分将包含类似这样的内容:

uniform vec4 objColor;

然后您使用这个值来设置您的对象颜色。

在你的 Java(我认为它是 Java,因为你有一个 Android 标签)代码中,你在链接你的着色器程序后有以下内容,其中 progId 是你刚刚链接的程序的 ID:

objColorLoc = GLES20.glGetUniformLocation(progId, "objColor");

然后,在进行绘制调用之前,通过以下方式更改颜色:

GLES20.glUniform4f(objColorLoc, colR, colG, colB, 1.0f);

关于Android OpenGL ES 2.0 实时变色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23729509/

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