OpenGL ES:纹理参数设置

        在使用OpenGL ES渲染视频流时,需要将图像以纹理的方式送入渲染,这个过程需要设置纹理的相关参数,包括纹理的拉伸方式和纹理的过滤方式。OpenGL ES设置纹理参数的函数是 glTexParameterx( x 可以是 i 或 f 等),函数原型是

void glTexParameteri(int target, int pname, int   param);
void glTexParameterf(int target, int pname, float param);

target: 目标纹理

GL_TEXTURE_1D
GL_TEXTURE_2D
GL_TEXTURE_3D
GL_TEXTURE_EXTERNAL_OES(Android特有的OES纹理, 预览相机或者视频使用)

pname: 纹理参数

GL_TEXTURE_MIN_FILTER    // 纹理大于渲染屏幕, 将会有一部分像素无法映射到屏幕上, 纹理要缩小
GL_TEXTURE_MAG_FILTER    // 纹理小于渲染屏幕, 没有足够的像素映射到屏幕上, 纹理要放大
GL_TEXTURE_WRAP_S        // 相当于纹理的x轴, 设置纹理x轴的延伸方式
GL_TEXTURE_WRAP_T        // 相当于纹理的y轴, 设置纹理y轴的延伸方式

param: 纹理参数值

GL_NEAREST               // 临近插值
GL_LINAER                // 线性插值
GL_CLAMP_TO_EDGE         // 边界像素延伸
GL_REPEAT                // 重复
GL_MIRRORED_REPEAT       // 镜像重复

一些常用的设置方式

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值