使用glCompressedTexImage2D进行分段错误

时间:2017-01-14 17:26:25

标签: opengl-es textures

我在支持GL_OES_texture_compression_astc扩展名的设备上运行OpenGL ES应用程序。我有一个3000x2000像素的纹理,当我调用glTexImage2D时,一切运行正常。

为了压缩图像,我下载了ASTC encoder并执行了以下命令:

./astcenc.exe -c player.png player.astc 6x5 -medium

但是当我在glCompressedTexImage2D中使用player.astc时,该函数会导致分段错误。这是我的代码:

glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, tids[0]); glCompressedTexImage2D(GL_TEXTURE_2D, 0, GL_COMPRESSED_RGBA_ASTC_6x5_KHR, 3000, 2000, 0, size, data); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glBindTexture(GL_TEXTURE_2D, 0);

我检查了sizedata,看起来没问题。我有什么办法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

Mali OpenGL ES SDK中有一个ASTC纹理使用示例:

http://malideveloper.arm.com/sample-code/astc-textures/