Slightly enhanced impostor technology

Started by
3 comments, last by Lightness1024 6 years ago

Hello gamedev, I am currently evaluating the worthiness of jumping into RD work for an automatic impostor system in our engine. In the past I've witnessed tremendous performance increase from such a system into the engine of LumenRT (which has to cope with unoptimized user created content). We're a little bit in the same situation right now. Possibly large fields with way too much data (high poly etc..).

So if the engine would support auto-impostor-ing of stuff that'd be cool. Though, to make it a bit more modern, I was thinking that we could extend the parallax validity of billboards by storing the depth too, and render them using parallax occlusion mapping.

So the invalidation could come after the camera has moved to a more radical angle than for traditional impostors. These exist techniques with full volumetric billboards that I am aware of, but they need the gometry shader to generate slices, and cost heavy voxel storage. I need something very light on the bandwidth to cope with switch/PS4 limitations.

Can you point me to modern research on well balanced imposter techniques sounding like this ? or any idea you have on the matter.

thanks

Advertisement

I found this very interesting write-up by Ryan Brucks http://www.shaderbits.com/blog/octahedral-impostors about Fortnite, and I need to say this quite fits my inquiry. This is 2.5d at its best, modern and practical.

Though, for 1000 objects, at 512*512 for the atlases, you'd need 1GiB of impostor data if you store very compressed 8 bits colors, 10 bits depth and 14 bits normals. I guess this can be streamed in/out to an extent. but still seems a bit scary.

Are all your 1000 objects unique, or are some of them instances of the same asset?

Yes this is the question. I asked yesterday and it appears it's only 4 specimen so I'm relieved that it's respectively 250 instances, all of a sudden this method becomes very relevant :) Though, call it YAGNI, I'd love a system that scales to 1000 specimens. It's not super necessary immediately though, but I was thinking of streaming and possibly aggressive compression, 1 sub-LOD with normals striped off...

This topic is closed to new replies.

Advertisement