DevIL - 如何将过滤器保存到GL_QUADS纹理?

时间:2015-01-04 09:04:05

标签: opengl

我使用DevIL加载我的图片。 DevIL有一些很好的过滤功能,比如alienify(),contrast()等等。但是有一个问题。

当我将像素绘制到颜色缓冲区时,这些滤镜显示正常。当我开始使用几何体时,例如glBegin(GL_QUADS),原始纹理显示,但过滤器不显示。如何使用iluAlienify()更新纹理?

1 个答案:

答案 0 :(得分:0)

解决方法是在纹理已存在时使用glTexSubImage2D()。

例如,

glBindTexture(GL_TEXTURE_RECTANGLE_ARB, m_handle);   
iluAlienify();    // filters a texture
glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, 0, 0, m_width, m_height, m_imageFormat, m_imageType, ilGetData());