| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4627 人关注过本帖
标题:请教glTexParameteri函数等问题
只看楼主 加入收藏
sunstudent
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-10-14
结帖率:100%
收藏
 问题点数:0 回复次数:3 
请教glTexParameteri函数等问题
void baiscobj::texture(UINT textur)
{ glBindTexture (GL_TEXTURE_2D, textur);//将2D纹理存在textur空间
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
}
上面的glTexParameteri函数,我看了半天不太明白它的意思,什么线性滤波什么的,做什么用的,请详细帮我解释一下,谢谢
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
不知为何,不太会用上面这个函数,为什么会有GL_LIGHT0到GL_LIGHT7的,这是什么意思啊,有什么分别,还有后面两个参数又分别是什么意思,怎 么用这个函数,谢谢
void baiscobj::DrawSand()
{ glBindTexture(GL_TEXTURE_2D, g_cactus[0]);
glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
for (int z = 0; z < MAP_W-1; z++)
glDrawElements(GL_TRIANGLE_STRIP,MAP_W*2,GL_UNSIGNED_INT,&g_index[z*MAP_W*2]);
}
上面的这个函数总体也看不明白,谢帮助解析一下,谢谢,问题比较多,可能是新手,有太多不懂的东西了,请帮助,谢谢
搜索更多相关主题的帖子: TEXTURE textur CLAMP WRAP FILTER 
2007-11-17 14:50
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
glTexParameteri()纹理过滤函数.
图象从纹理图象空间映射到帧缓冲图象空间(映射需要重新构造纹理图像,这样就会造成应用到多边形上的图像失真),
这时就可用glTexParmeteri()函数来确定如何把纹理象素映射成像素.
你这里的参数功能说明如下:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
GL_TEXTURE_2D: 操作2D纹理.
GL_TEXTURE_WRAP_S: S方向上的贴图模式.
GL_CLAMP: 将纹理坐标限制在0.0,1.0的范围之内.如果超出了会如何呢.不会错误,只是会边缘拉伸填充.
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
这里同上,只是它是T方向
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
这是纹理过滤
GL_TEXTURE_MAG_FILTER: 放大过滤
GL_LINEAR: 线性过滤, 使用距离当前渲染像素中心最近的4个纹素加权平均值.
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
GL_TEXTURE_MIN_FILTER: 缩小过滤
GL_LINEAR_MIPMAP_NEAREST: 使用GL_NEAREST对最接近当前多边形的解析度的两个层级贴图进行采样,然后用这两个值进行线性插值.

=×&D o I p R e E n C g T l X&×=
2007-11-18 09:51
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
glLightfv(GL_LIGHT0, GL_POSITION, light_position);

GL_LIGHT0 - GL_LIGHT7
这是光源的个数,GL_LIGHT0为第一个光源.GL_LIGHT7为第7个光源,共有8个光源可定义.

=×&D o I p R e E n C g T l X&×=
2007-11-18 09:53
sunstudent
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-10-14
收藏
得分:0 
谢谢,不太懂,继续努力了
2007-11-18 15:55
快速回复:请教glTexParameteri函数等问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017698 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved