gpt4 book ai didi

java - 如何使用 OpenGL 扩展中的常量

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

我想为我的 Android OpenGL ES 2.0 应用程序使用扩展 GL_OES_texture_float。正如所说的here ,在 khronos 注册表中,引入了常量 FLOATHALF_FLOAT_OES。我可以像使用其他常量一样使用这些常量吗?或者在执行此操作之前我还必须做其他事情吗?

最佳答案

基本上是的。当然,您应该首先通过检查 glGetString(GL_EXTENSIONS) 返回的字符串中包含该扩展来验证您正在运行的设备是否支持该扩展。

之后,唯一的小挑战是 Android 框架中没有为许多扩展定义 Java 绑定(bind)。有GLES11Ext ,其中包含 ES 1.1 时代已经存在的一些旧扩展的定义。然后是最近的GLES31Ext ,其中包含 ES 3.1 的 Android 扩展包的定义。但中间没有什么,例如用于 ES 2.0 和 3.0 的常见扩展。

只要您只需要常量即可使用扩展,这并不是什么大问题。您可以在扩展规范中查找该值,并在自己的代码中定义符号常量。对于需要新入口点的扩展来说,问题更大。那么您几乎必须使用 native 代码来访问这些功能。

不幸的是,Android 上的 OpenGL Java 绑定(bind)一直以来都缺少功能。例如,ES 3.0 绑定(bind)仍然不完整,尽管它们最初是在 API 级别 18 中引入的,而我们现在已经达到了 API 级别 23。部分出于这个原因,您可能需要考虑在 Android 上为重要的 OpenGL 应用程序使用 native 代码。

关于java - 如何使用 OpenGL 扩展中的常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33726567/

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