iOS OpenGL ES 3.0: GLKTextureLoader 设置Texture纹理采样模式

使用GLKTextureLoader的textureWith系列函数创建纹理时,对于非Mip纹理,GLKit自动设置如下采样模式:

  • GL_TEXTURE_MIN_FILTER: GL_LINEAR
  • GL_TEXTURE_MAG_FILTER: GL_LINEAR
  • GL_TEXTURE_WRAP_S: GL_CLAMP_TO_EDGE
  • GL_TEXTURE_WRAP_T: GL_CLAMP_TO_EDGE

设置新采样模式的办法是在textureWith系列函数的completionHandler进行,示例如下

- (void)textureWithCGImage:cgImage
                   options:nil
                     queue:nil
         completionHandler:(^GLKTextureLoaderCallback) (GLKTextureInfo *textureInfo, NSError *outError) {
    if (outError) {
        return ;
    }
    // 设置新采样模式
    glEnable(GL_TEXTURE_2D);  // 非必需
    glBindTexture(GL_TEXTURE_2D, textureInfo.name);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
}

参考:

How do I repeat a texture with GLKit?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容