游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3234|回复: 7

请问天空盒的有条亮线怎么能去掉啊(带图)

[复制链接]

3

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2007-8-17 00:09:00 | 显示全部楼层 |阅读模式
如图
天空盒的每个纹理的衔接出有一条亮线,不知道怎么去掉,望大侠帮帮

sf_20078170857.rar

44.01 KB, 下载次数:

25

主题

82

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2007-8-17 00:57:00 | 显示全部楼层

Re: 请问天空盒的有条亮线怎么能去掉啊(带图)

好像是用纹理寻址的一次镜像就可以了

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2007-8-17 09:07:00 | 显示全部楼层

Re:请问天空盒的有条亮线怎么能去掉啊(带图)

不要放的太大.

9

主题

249

帖子

260

积分

中级会员

Rank: 3Rank: 3

积分
260
发表于 2007-8-17 21:00:00 | 显示全部楼层

Re:请问天空盒的有条亮线怎么能去掉啊(带图)

irrlicht里的一段代码:
           if (tex)
        {
                core::dimension2d<s32> dim = tex->getSize();
                onepixel = 1.0f / (dim.Width * 1.5f);
        }

        f32 l = 10.0f;
        f32 t = 1.0f - onepixel;
        f32 o = 0.0f + onepixel;

        Material[0] = mat;
        Material[0].Textures[0] = front;
        Vertices[0] = video::S3DVertex(-l,-l,-l, 0,0,1, video::SColor(255,255,255,255), o, t);
        Vertices[1] = video::S3DVertex( l,-l,-l, 0,0,1, video::SColor(255,255,255,255), t, t);
        Vertices[2] = video::S3DVertex( l, l,-l, 0,0,1, video::SColor(255,255,255,255), t, o);
        Vertices[3] = video::S3DVertex(-l, l,-l, 0,0,1, video::SColor(255,255,255,255), o, o);

        // create left side

17

主题

166

帖子

174

积分

注册会员

Rank: 2

积分
174
发表于 2007-8-19 02:23:00 | 显示全部楼层

Re:请问天空盒的有条亮线怎么能去掉啊(带图)

irr中的方法比较通用
我解决是用的笨办法,硬编码,不断调整纹理坐标并查看效果
最后是取 0.003 ~ 0.997 作为纹理坐标的范围

11

主题

31

帖子

40

积分

注册会员

Rank: 2

积分
40
QQ
发表于 2007-8-19 12:17:00 | 显示全部楼层

Re:请问天空盒的有条亮线怎么能去掉啊(带图)

gameres的“开发文档”中有关于天空顶渲染的例子。

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2007-8-19 12:23:00 | 显示全部楼层

Re:请问天空盒的有条亮线怎么能去掉啊(带图)

如果你用的贴图是 256*256大小,
那么最左边的象素和最右边的象素是不连续的,却又进行了模糊处理。
所以要把这两个去掉。
1/256 = 0.00390625
255/256 = 0.99609375
-----------------------------
如果用的贴图是 64*64
那么坐标就用
1/64 = 0.015625
63/64 = 0.984375
-----------------------------
不过以上的这种“剔除”的方法,最后还是能看到“天空少了一小部分”。因为被提出了嘛。
所以
最好还是用一张贴图来做天空盒。

15

主题

49

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2007-8-24 21:48:00 | 显示全部楼层

Re:请问天空盒的有条亮线怎么能去掉啊(带图)

在渲染天空盒纹理时将纹理寻址模式设为夹取纹理寻址模式 D3DADDRESS_CLAMP
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-4-5 07:45

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表