opengl天空盒如何做到无缝?

idol31 2012-03-07 11:47:44
我先把盒子画成1大小,然后用glscale放大,不过它会有下图这样的缝隙:


glGenTextures(1, &texid);// 创建纹理

// 使用来自位图数据生成 的典型纹理
glBindTexture(GL_TEXTURE_2D, texid); // 绑定纹理
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);// 线形滤波
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);// 线形滤波

// 生成纹理
glTexImage2D(GL_TEXTURE_2D, 0, 3, lWidthPixels, lHeightPixels, 0, GL_RGBA, GL_UNSIGNED_BYTE, m_ucpPixels);

会不会与生成纹理有关系?听前辈说不实用过滤,是不是去掉
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);// 线形滤波
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);// 线形滤波
这两句? 不过去掉就贴不出图来了..
...全文
687 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ijpq 2014-04-21
  • 打赏
  • 举报
回复
引用 11 楼 idol31 的回复:
问题解决了 ! 谢谢大家的指点! glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); 滤波这样子就解决了,加上头文件 glew.h
GL_CLAMP_TO_EDGE这个参数是将坐标截取到1/2,为什么就无缝了。。。
nwpuyangliu 2013-04-22
  • 打赏
  • 举报
回复
我使用的五个二维平面拼的天空盒,也有这个问题,使用你说的这种方法没有解决。怎么办???版主明示啊······
lyhylex 2012-03-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lv_ximing 的回复:]
不是尺寸和过滤问题,是纹理坐标的问题。我没开发过OpenGL,但是在D3D里面也有这个问题,正确解决方法是画天空盒时把纹理坐标的寻址模式设置为Clamp(D3DTADDRESS_CLAMP),因为初始默认是Wrap。OpenGL里用类似的设置应该也可以。
[/Quote]
没用过OpenGL,DirectX里面我会加一点偏移值,或者用景深
idol31 2012-03-08
  • 打赏
  • 举报
回复
问题解决了 ! 谢谢大家的指点!
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
滤波这样子就解决了,加上头文件 glew.h
idol31 2012-03-07
  • 打赏
  • 举报
回复
求助啊!
紫冰枫 2012-03-07
  • 打赏
  • 举报
回复
不会opengl,纯帮顶
MatrixLife 2012-03-07
  • 打赏
  • 举报
回复
说的不太对,是“纹理坐标寻址模式”问题。
MatrixLife 2012-03-07
  • 打赏
  • 举报
回复
不是尺寸和过滤问题,是纹理坐标的问题。我没开发过OpenGL,但是在D3D里面也有这个问题,正确解决方法是画天空盒时把纹理坐标的寻址模式设置为Clamp(D3DTADDRESS_CLAMP),因为初始默认是Wrap。OpenGL里用类似的设置应该也可以。
赵4老师 2012-03-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhao4zhong1 的回复:]
贴图不满足连续纹样的要求?
[/Quote]
在贴图的边缘进行模糊处理?
ryfdizuo 2012-03-07
  • 打赏
  • 举报
回复
http://www.mbsoftworks.sk/index.php?page=tutorials&series=1
这里有一个天空盒例子,不过是opengl3.3的。你可以参考一下。
ryfdizuo 2012-03-07
  • 打赏
  • 举报
回复
我原来做的时候也有缝,一直没解决。。。
赵4老师 2012-03-07
  • 打赏
  • 举报
回复
贴图不满足连续纹样的要求?

64,685

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧