首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GL_EXT_packed_pixels对GL_APPLE_packed_pixels

GL_EXT_packed_pixels对GL_APPLE_packed_pixels
EN

Stack Overflow用户
提问于 2015-01-08 00:52:32
回答 1查看 196关注 0票数 0

我的应用程序在使用打包像素格式(如GL_EXT_packed_pixels )之前检查UNSIGNED_INT_8_8_8_8_EXT扩展。在我的MacBook上,我的代码找不到这个扩展,尽管使用打包的像素格式看起来仍然有效。

OpenGL扩展查看器似乎表明它在OS上有一个特殊的名称:

有什么关系呢?在评估是否支持GL_EXT_packed_pixels时,我应该只检查UNSIGNED_INT_8_8_8_8_EXTGL_APPLE_packed_pixels吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-08 03:38:24

EXT_packed_pixels有以下定义:

代码语言:javascript
复制
UNSIGNED_BYTE_3_3_2_EXT         0x8032
UNSIGNED_SHORT_4_4_4_4_EXT      0x8033
UNSIGNED_SHORT_5_5_5_1_EXT      0x8034
UNSIGNED_INT_8_8_8_8_EXT        0x8035
UNSIGNED_INT_10_10_10_2_EXT     0x8036

APPLE_packed_pixels有以下几个方面:

代码语言:javascript
复制
UNSIGNED_BYTE_3_3_2         0x8032
UNSIGNED_BYTE_2_3_3_REV     0x8362
UNSIGNED_SHORT_5_6_5        0x8363
UNSIGNED_SHORT_5_6_5_REV    0x8364
UNSIGNED_SHORT_4_4_4_4      0x8033
UNSIGNED_SHORT_4_4_4_4_REV  0x8365
UNSIGNED_SHORT_5_5_5_1      0x8034
UNSIGNED_SHORT_1_5_5_5_REV  0x8366
UNSIGNED_INT_8_8_8_8        0x8035
UNSIGNED_INT_8_8_8_8_REV    0x8367
UNSIGNED_INT_10_10_10_2     0x8036
UNSIGNED_INT_2_10_10_10_REV 0x8368

比较两者,EXT_packed_pixelsAPPLE_packed_pixels的一个子集,并且共享的值是相同的。因此,如果支持APPLE_packed_pixels,则可以安全地使用来自EXT_packed_pixels的所有定义。

正如扩展查看器的屏幕截图所显示的那样,自GL_EXT_packed_pixels 1.2以来,OpenGL一直是核心功能。因此,在大多数情况下,您不需要在扩展字符串中测试其中的任何一个。如果您首先检查版本,并且它至少是1.2,您已经知道该功能是可用的。测试逻辑可能如下所示:

代码语言:javascript
复制
if (strcmp(glGetString(GL_VERSION), "1.2") >= 0 ||
    strstr(glGetString(GL_EXTENSIONS), "_packed_pixels") != NULL)
{
    // supported
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27831289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档