游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3831|回复: 11

疑问,关于三通道二元差值混合

[复制链接]

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2007-6-30 10:40:00 | 显示全部楼层 |阅读模式
看了《室外地形生成与渲染总结》在shader里面用三通道二元差值混合可以支持8个细节贴图的混合。
可是感觉代价是需要4个alpha通道,分别编辑这四个aplha通道是不是代价太大了?
而且,前四个颜色族混合也有先后顺序,如果出现冲突怎么办?

哪位道友做过?
介绍点经验吧。这个东西太重要了!

另外“三通道二元色环法”也没能完全理解
sf_2007630104023.jpg

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
 楼主| 发表于 2007-7-1 08:11:00 | 显示全部楼层

Re:疑问,关于三通道二元差值混合

自己顶一个

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
 楼主| 发表于 2007-7-2 18:45:00 | 显示全部楼层

Re:疑问,关于三通道二元差值混合

就没人回帖发表点见解吗?再顶一个,不然要沉了

2

主题

141

帖子

141

积分

注册会员

Rank: 2

积分
141
发表于 2007-7-3 11:01:00 | 显示全部楼层

Re:疑问,关于三通道二元差值混合

在我的室外terrain渲染中没有用8个纹理混合
使用3张基础纹理,及一张控制这三张纹理混合的过程纹理(procedural texture可以预先生成,或用shader实时生成,实时生成的话建议大小不要太大,64X64足够了 )
使用的方法是受Real Time 3D Terrain Engines 一书的启发;
配合运用伯林噪音在地形的产生上,产生的效果已经足够震撼了,
因为一个子分区比如65x65只用了三张基础纹理就很好的表达了效果,节省很多资源,
而且地形纹理根本不用美工或策划一个一个格子去编辑,只要选择三张基础纹理和控制因素程序自动generate
以前DX7,DX8时代,逐格的编辑地形纹理美工要用多大的工作量!513X513的地图就是263169个格子!

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
 楼主| 发表于 2007-7-3 13:05:00 | 显示全部楼层

Re:疑问,关于三通道二元差值混合

地形这一块我已经做过很多的研究了,就是贴图这一块,一直耿耿于怀。
最近研究shader,实现了三个纹理分别用rgb三个通道的混合,也就是能支持3张纹理,可是再多起来就不好办了。
看到前辈写的那篇文章,说道战地风云2的地图编辑器支持6种细节纹理的混合。用到的就是前面的三通道二元差值,就是没有去实现,目前还不清楚具体怎么做

2

主题

141

帖子

141

积分

注册会员

Rank: 2

积分
141
发表于 2007-7-3 15:38:00 | 显示全部楼层

Re:疑问,关于三通道二元差值混合

rgb三个通道的混合,支持3张纹理的,
是在R或G或B中分别存了细节纹理的因子,因子是从0-255,然后任一象素RGB因子的总合
要饱和到1( R/255+G/255+B/255=1 )
三通道,6纹理具体是
R 0-128表示texture 0的因素
R 129-255表示texture 1的因素
G 0-128表示texture 2的因素
G 129-255表示texture 3的因素
B 0-128表示texture 4的因素
B 129-255表示texture 5的因素

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
 楼主| 发表于 2007-7-4 11:35:00 | 显示全部楼层

Re:疑问,关于三通道二元差值混合

这个原理我大致明白,可是那个混合图怎么做?
photoshop的笔刷,
刷出来的从255-0的过渡色都有,真郁闷。
0-128的过渡色,用笔刷没问题

可某色族129-255的过渡的颜色刷存在吗?
唉,美工不扎实,没办法。

2

主题

141

帖子

141

积分

注册会员

Rank: 2

积分
141
发表于 2007-7-4 22:43:00 | 显示全部楼层

Re:疑问,关于三通道二元差值混合

哪个混合图是用过程纹理算出来的,不是人画出来的,可以用一些参数来控制
比如当前这点的高度,法线的方向等

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
 楼主| 发表于 2007-7-5 10:28:00 | 显示全部楼层

Re:疑问,关于三通道二元差值混合

主体混合当然是算出来的,比如彩云混合再添加些修边

细节部分,比如公路,点缀的雪地等等纹理还不用刷子去刷了?

这些细节部分不是靠算的吧?

我没用什么比较好的制作混合图的工具,楼上的兄台可以有推荐的吗?

2

主题

141

帖子

141

积分

注册会员

Rank: 2

积分
141
发表于 2007-7-5 16:50:00 | 显示全部楼层

Re:疑问,关于三通道二元差值混合

在编辑器上用刷子刷过的点坠部分,比如公路和雪地
将这些面单独作为subset,这个subset不受过程纹理的控制,改用heightmap来控制纹理的渐变
伪代码:
pixelFinal= pixelDetailTexture1*heightmap+(1-heightmap)*pixelDetailTexture2
heightmap就是简单的用8位单色的图或者是.raw格式,photoshop来画,你有兴趣甚至可以去当个卫星拍的等高图来用用
www.gamedev.net上可以搜索Detail Map参考
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 22:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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