游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2322|回复: 9

请教~地形渲染的顶点/索引缓冲建立问题!

[复制链接]

30

主题

357

帖子

388

积分

中级会员

Rank: 3Rank: 3

积分
388
QQ
发表于 2006-8-31 09:51:00 | 显示全部楼层 |阅读模式
大家在画地形的时候都是怎么建立顶点和索引缓冲的呢?
小弟是这样建立的: 顶点缓冲是一次性建立到显存中就不动它了,索引缓冲是每次更新帧时把所有需要绘制的扇面连在一起建立一个D3DIndexBuffer,然后通过for循环绘制。画完后再Release(),然后再建......

我也见过有人为每个扇面独自建立索引缓冲,一个一个的画,不知道是哪个好一点?如果每个扇面或地砖都去建立一个索引缓冲,那是不是会很慢呢?

很想看看各位是怎么建立缓冲的啊~ [em2] [em3]

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2006-8-31 16:56:00 | 显示全部楼层

Re:请教~地形渲染的顶点/索引缓冲建立问题!

晕死!你每帧都release干什么呢?无言了。

30

主题

357

帖子

388

积分

中级会员

Rank: 3Rank: 3

积分
388
QQ
 楼主| 发表于 2006-8-31 17:36:00 | 显示全部楼层

Re:请教~地形渲染的顶点/索引缓冲建立问题!

楼上的达达是怎么建索引的啊?你说不需要每帧都Release,是不是判断摄象机在上次更新到目前的移动距离来决定是否Release吗?还是改变LOD级别的时候再Release呢?

6

主题

390

帖子

400

积分

中级会员

Rank: 3Rank: 3

积分
400
发表于 2006-8-31 19:39:00 | 显示全部楼层

Re:请教~地形渲染的顶点/索引缓冲建立问题!

lz做法没问题啊,lod变换时再通过对index buffer的操作选择lod就好了

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2006-8-31 22:06:00 | 显示全部楼层

Re:请教~地形渲染的顶点/索引缓冲建立问题!

那也不用每帧都重建啊,隔几帧重建就好了。

13

主题

74

帖子

74

积分

注册会员

Rank: 2

积分
74
发表于 2006-8-31 22:12:00 | 显示全部楼层

Re:请教~地形渲染的顶点/索引缓冲建立问题!

相对于每一帧都Lock,Fill VB或者IB来说,宁可多渲染一些三角形。
假设通过Lock来修正渲染三角形的数目为20000
则如果能够不Lock而直接渲染三角形的数目为30000
我保证不Lock的方法效率来的更高

16

主题

83

帖子

103

积分

注册会员

Rank: 2

积分
103
QQ
发表于 2006-8-31 22:42:00 | 显示全部楼层

Re:请教~地形渲染的顶点/索引缓冲建立问题!

用动态顶点缓冲区和索引缓冲区,对发生LOD跳变的地形块,进行数据更新,一定要用TRIANGLESTRIP,或TRIANGLEFAN .事实证明这样很快.

30

主题

357

帖子

388

积分

中级会员

Rank: 3Rank: 3

积分
388
QQ
 楼主| 发表于 2006-9-1 10:40:00 | 显示全部楼层

Re: 请教~地形渲染的顶点/索引缓冲建立问题!

啊~这样啊,那么建立索引缓冲的时候是把所有扇面的索引连在一起建立还是每个扇面都建立一个呢?
如果连在一起建立的话,就不得不每帧都更新了,因为每帧所绘制的扇面都是不一样的。
如果基于每个扇面都分配一块缓冲,那么很多缓冲区都不需要每帧重建。
到底用哪种方法好呢? [em21] [em21]

5

主题

217

帖子

222

积分

中级会员

Rank: 3Rank: 3

积分
222
发表于 2006-9-1 11:57:00 | 显示全部楼层

Re:请教~地形渲染的顶点/索引缓冲建立问题!

动态缓冲就不会每帧都要重建吧,此其1.
地形一定要弄成一整块大的的strip或fan么?不见得吧。此其2.

30

主题

357

帖子

388

积分

中级会员

Rank: 3Rank: 3

积分
388
QQ
 楼主| 发表于 2006-9-2 08:23:00 | 显示全部楼层

Re:请教~地形渲染的顶点/索引缓冲建立问题!

再怎么弄也需要通过AGP通道这个瓶颈,不太好设计呀。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 07:26

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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