RE: [Algorithms] Occlusion culling in outdoor terrains
Brought to you by:
vexxed72
From: Tom F. <to...@mu...> - 2003-07-31 16:34:00
|
The way I did it was to allocate at start of day some fraction of video memory in large textures just for impostor use. I think the fraction was 10% of available video memory - something like that. And then the most distant objects were impostored first, and I'd keep impostoring until (a) I ran out of video memory or (b) the update heuristics said "you'll need to update this more than once every 4 frames". 4 frames seemed to be the breakeven point between using an impostor and just rendering the thing normally. So your memory use is constant. It also has the nice side-effect that you don't have to allocate rendertarget textures during the actual game - it can get tricky, slow, and confuse the texture manager. You just do the allocations once at start of day. Tom Forsyth - Muckyfoot bloke and Microsoft MVP. This email is the product of your deranged imagination, and does not in any way imply existence of the author. > -----Original Message----- > From: Jason Zisk [mailto:zi...@n-...] > Sent: 31 July 2003 16:54 > To: gda...@li... > Subject: Re: [Algorithms] Occlusion culling in outdoor terrains > > > > Has anyone done stuff on combining say a forest of trees > together into one > > billboard. > > I've recently got billboards to work in our quite hairy > jungle scenes so I > know can take a guess as to how well something like this would work. > Basically by fusing multiple billboards into one, you are > trading memory for > CPU. > > By combining objects you are taking a lot of objects each > with not so bad > parallax problems and converting it into one huge object with > really bad > parallax problems. So you end up having to update that one > huge billboard > much more often than you would the individual trees in it. > > So while you save on ram (which is a major major concern with > imposters in a > scene of 20k+ trees and bushes), you lose out on some of the > benefits of > imposters by having to update it more often. Also the > rendering speed of > one imposter sprite vs. many isn't that much of an increase > to make up for > having to fully re-render the object more. > > Our scenes have so many trees and bushes ram is a major > concern, if I make > everything an imposter and put the clip at a measely 1000 > feet it requires > something like 40 megs of texture ram for everything. So > instead I just > imposter our bushes, and it only requires about 8 meg but I > gain 10fps (not > so bad). By combining I might be able to imposter everything > into that same > 8 meg, but who knows if it would be much faster because when > you move things > would be updating more often. > > Hmm maybe something to try when I get some free time to play > around with it > again. :) > > - Jason Zisk > - nFusion Interactive LLC |