游戏开发论坛

 找回密码
 立即注册
搜索
查看: 19198|回复: 50

lod地形贴图有了进展,有效果图,nostopforever和各位朋友可

[复制链接]

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2007-4-14 00:49:00 | 显示全部楼层 |阅读模式
我用了一层Alpha用来做纹理混合的,放到了每个顶点的Aplha里面,然后两张纹理做混合。
其实这些应该是很老套的方法了,只是对我来说是新的,我暂时还不会shader,暂时用固定管线实现了。但是好像只能混两张图至少一个BLOCK就只能混两张图,混多了也没什么好的效果。也许我还有很多我不懂的东西。

感谢这两篇文章的作者:
"3D地形多层纹理混合加阴影渲染方法 " "室外地形生成与渲染总结"
这两篇很有名的文章,以前不懂BLOCK所以看不懂。现在终于把里面的很多思想都用上了。
还有nostopforever给我的指导

另外:光照我采用了
"室外地形生成与渲染总结" 里面的顶点反三角函数的法线生成算法,
简单好理解,效率也高,有了法线,光照图也不需要了
(只是不知道在LOD顶点突变的时候会不会影响很大)

现在的问题是:

根据"3D地形多层纹理混合加阴影渲染方法 "的alpha混合方法,固定管线是没有办法在一个BLOCK里面混两张以上的贴图了,感觉还是很不灵活。是否固定管线真不能实现呢?

看来以后也要有shader的版本

我是很业余搞的,水平有限,摸爬滚打中。。。请各位朋友给些好的建议吧。

按nostopforever告诉我的方法,明天把粗纹理和细节纹理都加上。重新定义顶点格式,每个顶点搞两套纹理坐标来看看,粗细纹理自动切换是个什么感觉

然后是就只剩下四叉剪裁了,过去实现过,这是个小case了。

sf_200741404921.jpg

16

主题

114

帖子

114

积分

注册会员

Rank: 2

积分
114
发表于 2007-4-15 18:06:00 | 显示全部楼层

Re:lod地形贴图有了进展,有效果图,nostopforever和各位朋

也要开始学地形方面了,能否把你的代码发我一份?
yuzehua-0708@163.com .
再推荐一些文章也很好,谢谢

0

主题

228

帖子

285

积分

中级会员

Rank: 3Rank: 3

积分
285
发表于 2007-4-16 10:33:00 | 显示全部楼层

Re:lod地形贴图有了进展,有效果图,nostopforever和各位朋

还不错

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2007-4-17 10:48:00 | 显示全部楼层

Re:lod地形贴图有了进展,有效果图,nostopforever和各位朋

我也要~~~~
woym-zf@hotmail.com
谢谢楼主^^

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
 楼主| 发表于 2007-4-17 18:39:00 | 显示全部楼层

Re:lod地形贴图有了进展,有效果图,nostopforever和各位朋

现在还是个半成品,过阵我把它完善了再发出来

11

主题

112

帖子

112

积分

注册会员

Rank: 2

积分
112
发表于 2007-4-18 13:48:00 | 显示全部楼层

Re:lod地形贴图有了进展,有效果图,nostopforever和各位朋

请问你是用什么图元渲染的?三角形列?三角形带?扇形?

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
 楼主| 发表于 2007-4-18 18:23:00 | 显示全部楼层

Re:lod地形贴图有了进展,有效果图,nostopforever和各位朋

用的三角形列

11

主题

112

帖子

112

积分

注册会员

Rank: 2

积分
112
发表于 2007-4-18 19:18:00 | 显示全部楼层

Re:lod地形贴图有了进展,有效果图,nostopforever和各位朋

哦,我用三角扇形渲染时,FPS不到100,问了一些人,好像三角扇形不适合渲染地形,是不是这样呢?

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
 楼主| 发表于 2007-4-18 21:26:00 | 显示全部楼层

Re: lod地形贴图有了进展,有效果图,nostopforever和各位朋

也不是,如果你用了三角扇形的网格排列方式(但还是用三角形列来组织索引和顶点缓冲)也是可以的,我采用的是X形网格拼接。
流行的有两种排列方式,其实都一样,但是你一定要使用BLOCK,分块的技术,
参见Gem2 的interlocking Tiles Lod(感谢nostopforever这位热心的朋友给我的帮助)
在做LOD地形的时候可以采用:
9x9或17x17或33x33或65x65... 组织每个BLOCK ,按照BLOCK来渲染地形,整个大地形里的最小单位就是BLOCK
BLOCK里的顶点缓冲不变,索引缓冲要放到缓存里面,按不同的级别来更新索引缓冲
四叉剪裁渲染到当前BLOCK的时候,判断邻接的四个BLOCK以及本BLOCK的Lod等级有没有发生改变,如果改变了才更新当前BLOCK的顶点缓冲,等级不变的LOD不更新索引缓冲
这样可以避免大量的lock unlock 效率将非常的高
前段时间我被贴图和法线卡住了,现在基本解决了,细节纹理也搞定了
等我学会了可编程管线后,再做进一步的完善
sf_2007418212538.jpg

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
 楼主| 发表于 2007-4-18 21:37:00 | 显示全部楼层

Re: lod地形贴图有了进展,有效果图,nostopforever和各位朋

再贴一张学校做出来的效果(学校845G主板集成显卡不渲染任何东西只能95FPS的显卡,别看FPS)
sf_2007418213640.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-16 00:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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