gpt4 book ai didi

android - 我什么时候应该在 android 中调用 glEnableClientState() 和 glDisableClientState()

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:12:50 25 4
gpt4 key购买 nike

我只是在GLSurfaceView.Renderer 接口(interface)的onSurfaceCreated() 方法中调用一次glEnableClientState()。例如:

public class GLRenderer implements GLSurfaceView.Renderer {
@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glEnableClientState(GL10.GL_COLOR_ARRAY);
...
}

之后我不再调用它们。我从不调用 glDisableClientState() 方法。但我看到许多程序员调用这两种方法时经常将它们包装在所有绘图调用中。

我的方法有什么问题吗?或者使用将它们包装在所有绘图调用周围的方法是一种好习惯还是更有效?

最佳答案

如果您的所有绘制调用都需要相同的状态,我认为您的方法没有任何问题。如果你正在绘制没有法线/颜色的东西,你不想启用法线/颜色数组等。

如果您的所有对象都确定使用相同的数组,那么您的方法可能是最好的,因为您可以消除不必要的 opengl 调用。在每个对象之后禁用所有内容可能会降低性能,但通常更安全,因为您不会意外地启用您不想要的内容。

关于android - 我什么时候应该在 android 中调用 glEnableClientState() 和 glDisableClientState(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10015209/

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