Billboard Clouds!!

Anything and everything that's related to OGRE or the wider graphics field that doesn't fit into the other forums.
Post Reply
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Billboard Clouds!!

Post by jacmoe »

I stumbled across this paper in a Google search for billboards and clouds:

http://artis.imag.fr/Publications/2002/DSDD02/main.pdf

Look at page 16 (pdf page) for a nice billboard cloud tree! :)

Imagine what this technique could do - reducing a 1,960 polygon model into 52 textured billboards. 8)

This is definately something to look into.
Have any of you looked at this? :)
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
BenO
Goblin
Posts: 241
Joined: Mon Apr 18, 2005 5:03 pm

Post by BenO »

looks really cool :O

would that be faster ? :p
Benjamin RIGAUD
Software Engineer
User avatar
Aklix
Goblin
Posts: 222
Joined: Mon Dec 27, 2004 5:21 am
Contact:

Post by Aklix »

Heh, I didn't read, but I noticed the insanely scary equations and the name of the college I want to get into. Now I'm scared lol.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

I think billboard clouds is pretty exciting! :)
Static geometry is great, but imagine what billboard clouds could do: If really realistic geometry can be achieved by dividing the polygon count a hundred times, it allows you to build large scale cities, forests, etc. :wink:
You can even do LOD with billboard clouds.. 8)

Now, I have to find some code! :P
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
alphageek
Gnome
Posts: 365
Joined: Mon Jan 03, 2005 11:56 am

Post by alphageek »

I remember reading this article or a similar one some time ago. I also found it really interesting.

Now that I think about it, though: what about the texture memory cost of doing this?
If you are splitting your model up into a bunch of different billboards (50-150 for a reasonable model it sounds like) then each of these billboards will have a different texture, right? I'm guessing the memory cost of this will mount up quite quickly.

Also: given that these are billboards, the CPU now has to do additional work per frame since billboards must be oriented towards the camera.

IMO a technique which reduces constraints on the vertex processor and increases 1) texture memory requirements and 2) CPU requirements is not a very good optimisation with modern hardware.

Vertex processing is not often a bottleneck these days, whereas CPU very often is.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

Can't you orient billboards on the GPU?
As for the textures - would it be possible to assign a texture to a billboard group?
Like a multi-texture? :)
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

@alphageek: Valid points. Probably the reason why I can't find any implementations.. This sucks. :P
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
alphageek
Gnome
Posts: 365
Joined: Mon Jan 03, 2005 11:56 am

Post by alphageek »

jacmoe wrote:Can't you orient billboards on the GPU?
As for the textures - would it be possible to assign a texture to a billboard group?
Like a multi-texture? :)
Yeah you could have an 'atlas' texture to use for the billboard group representing a single type of object. You would definitely want to do this so you could still have a single renderop per entity. I'm pretty sure this atlas texture would end up bigger than your original texture though.
jacmoe wrote:This sucks.
Agreed. However, I guess there are still interesting ideas to be taken from the paper. Conceptually, I think this technique is close to impostors (rendering a bunch of far-off geometry as a single billboard), right?
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

alphageek wrote:Conceptually, I think this technique is close to impostors (rendering a bunch of far-off geometry as a single billboard), right?
yeah, that's what I thought it would be useful for - as the imposters are getting closer, the number of billboards grows.
But I guess the texture issue kills the idea.. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
BenO
Goblin
Posts: 241
Joined: Mon Apr 18, 2005 5:03 pm

Post by BenO »

two days ago ^^ playing gta SA ,
i had a similar idea for large buildings behind
a fog. These building don't have any textures.

Could that be a way ? :O
Benjamin RIGAUD
Software Engineer
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

alphageek wrote:Yeah you could have an 'atlas' texture to use for the billboard group representing a single type of object. You would definitely want to do this so you could still have a single renderop per entity. I'm pretty sure this atlas texture would end up bigger than your original texture though.
If this is possible, this would open up some interesting uses! :)

@BenO: If you apply the same texture to every billboard, yes. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

alphageek wrote:Also: given that these are billboards, the CPU now has to do additional work per frame since billboards must be oriented towards the camera.
No, these are view-independent billboards - simply textured quads, cleverly aligned.
If we orient them towards the viewer, we would mess up their representation. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

This is an interesting read:
Impostors as image-based representations offer a convenient way to have the time needed to render a scene part depend primarily on the number of pixels it covers on screen rather than on the complexity of its geometric representation.
Impostors are particularly useful for efficiently displaying numerous textured objects, which is still a problem for geometric simplification techniques, although these have been studied for a much longer time.
In order to decrease the amount of memory, which is the main cost of impostors, this thesis presented two new impostor techniques that are also aimed at eliminating image artifacts. Distant scene parts are especially suitable for an impostor representation, because for that case, complex geometry only covers few pixels on screen, which provides high rendering acceleration with low memory requirements. We presented a new impostor placement algorithm which gives a guarantee for a minimum frame rate for every output view. It was shown that by
using impostors carefully and simultaneously applying additional rendering acceleration techniques, the amount of memory can be kept very low compared to previous approaches.
We believe that the algorithms and techniques presented in this thesis are capable of making impostors more useful for a broader range of applications in the context of real-time rendering, where impostors were not used before due to unacceptably high memory requirements and/or low image quality. The next challenge is the development of techniques that increase the flexibility of impostors with respect to the dynamic shading effects which programmable graphics hardware offers.
http://www.cg.tuwien.ac.at/research/pub ... RI-pdf.pdf
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Crashy
Google Summer of Code Student
Google Summer of Code Student
Posts: 1005
Joined: Wed Jan 08, 2003 9:15 pm
Location: Lyon, France
x 49
Contact:

Post by Crashy »

Follow la Moustache on Twitter or on Facebook
Image
User avatar
alphageek
Gnome
Posts: 365
Joined: Mon Jan 03, 2005 11:56 am

Post by alphageek »

jacmoe wrote:
alphageek wrote:Also: given that these are billboards, the CPU now has to do additional work per frame since billboards must be oriented towards the camera.
No, these are view-independent billboards - simply textured quads, cleverly aligned.
If we orient them towards the viewer, we would mess up their representation. :wink:
Interesting, thanks for correction.
User avatar
Kencho
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4011
Joined: Fri Sep 19, 2003 6:28 pm
Location: Burgos, Spain
x 2
Contact:

Post by Kencho »

I read about this some time ago, from a link in these forums indeed. Nice feature (only useful if you want LOD, IMHO). The main problem I see is that if you abuse of these technique, you can easily run out of texture memory (just a congeture :? but sounds reasonable).
Image
karmaGfa
Halfling
Posts: 49
Joined: Fri Nov 05, 2004 9:19 am
Location: Taiwan

Post by karmaGfa »

So funny, I know the author of the paper and I was in the same lab when he wrote it :D
The world is small. :roll:

In a few words, the technic he described is a way of simplifying geometry. You replace a lot of polygons with some textures that may repeat (it depends the artist that model it) by a smaller set of polygons with some texture that cannot or can hardly repeat.

The main problem that was mentionned about this technic is the memory usage.

The main advantage of his technic is when the object is far away, it doesn't need to have a high precision in the texture so the memory problem disappear. You can then consider this technic as a good alternative of the impostor technic witch is not visually correct when the camera move (it need to be recalculated) : with the cloud of billboard (should be called "cloud of polygons" for clarity), you don't need to change anything since the approximation of the appearance of the object is computed for all the angles at the same time.

IMHO, this technic have not its place in Ogre, it should be in some 3D modeling software instead. Ogre can already display the 2 versions of the object : 1 is the object and the other one is the billboard cloud used as a LOD of the first object.
User avatar
syedhs
Silver Sponsor
Silver Sponsor
Posts: 2703
Joined: Mon Aug 29, 2005 3:24 pm
Location: Kuala Lumpur, Malaysia
x 51

Post by syedhs »

Billboard cloud is now being implemented in Ogre as Google Summer Code project. For more information, have a look at this thread:
http://www.ogre3d.org/phpBB2/viewtopic.php?t=21714
barcajunior
Gnoblar
Posts: 1
Joined: Sat Jan 12, 2008 12:51 pm
Contact:

Post by barcajunior »

The Google Summer Code project is more complicated.
reptor
Ogre Magi
Posts: 1120
Joined: Wed Nov 15, 2006 7:41 pm
Location: Finland
x 5

Post by reptor »

...BUT this was my idea! :lol:

I was just a couple of days ago thinking about reducing a polygon model into a billboard. And here it is done.

Edit: Ooops the thread is old! :P

Well anyways, I was just this week thinking about this so it was nice that this thread was bumped up to be found by me.
sunrisefe
Halfling
Posts: 42
Joined: Mon Oct 06, 2008 7:43 am

Re: Billboard Clouds!!

Post by sunrisefe »

Has billboard clouds(bc) been implemented in OGRE?
How to generate bc from one mesh file or 3ds max file?
What's the advantage for bc and billboard in middle or far sence ?
Post Reply