gpt4 book ai didi

java - Android:OpenGL:glGenTextures 在构造函数中不起作用?

转载 作者:行者123 更新时间:2023-12-01 19:04:35 31 4
gpt4 key购买 nike

谁能告诉我为什么 glGenTextures() 在我的构造函数中不起作用?

这是我的项目的设置方式:

  • 使用自定义渲染器在当前 Activity 舞台上调用 .draw
  • 创建阶段时,它会将自身(其构造函数的结束行)分配给静态 Global.activeStage
  • 现在,渲染器在当前 Activity 的舞台上调用 .draw,该引用保存在 Global.activeStage 内。
  • 在舞台中,我有一个函数可以加载舞台中所需的所有纹理。
  • 如果我第一次调用 .draw 时调用此函数,则没有问题。
  • 如果我在构造函数中调用它,除了 glGenTextures() 之外,一切都会正常工作 - 它会创建一个零值,而不是 1..2..3 等等。
  • 在这两种情况下,都使用全局 GL10 引用,而不是 .draw 获取的引用,因此这不是问题。

似乎只有在已经存在对我正在使用的当前阶段的引用时一切才有效(如果创建了阶段,例如构造函数已经运行)。

我不确定是否相关,但舞台是在 onCreateSurface 结束后在线程中创建的。

如果您说哪些部分相关,我可以发布一些代码。

最佳答案

我确信您必须在与 openGL 关联的 Thread 上运行所有 openGL 操作。这就是为什么它在从渲染器(在 GL 线程上运行)调用的 draw() 方法中调用时起作用,但在构造函数(如您所说,在另一个线程上运行)中调用时不起作用。

关于java - Android:OpenGL:glGenTextures 在构造函数中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10600984/

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