Billboard Clouds

Threads related to Google Summer of Code
swx
Google Summer of Code Student
Google Summer of Code Student
Posts: 31
Joined: Sun May 21, 2006 4:03 am
Location: Sweden
Contact:

Post by swx »

I've fixed the support for multiple materials per object/group now. The only material info that can be used from a obj file is the map_Kd texture, so you need to use a texture for each group unless you want them to render as white.

The stochastic plane selector is rather fast, I tried simplifying a 400k poly tree and the plane selection phase was really quick. The downside with the stochastic selector is that it produces much more and much crappier planes. The grid plane selector on the other hand is as I said in the previous post extremely slow. I'll start adding the memory manager today, which so provide some speedup. I also need to do some optimizations in the grid manipulation functions.
User avatar
Falagard
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 2060
Joined: Thu Feb 26, 2004 12:11 am
Location: Toronto, Canada
x 3
Contact:

Post by Falagard »

Do you have a demo to show off the resulting billboard cloud mesh?
Lioric
Google Summer of Code Mentor
Google Summer of Code Mentor
Posts: 295
Joined: Fri Aug 06, 2004 10:25 pm

Post by Lioric »

Yes a (small) demo should be implemented

Dont spend too much time on the .obj file loader, probably its better idea to suggest users to use the .mesh methods directly, in any case that is how most of the users will use the library (and the tool that implements this library will interface with the external formats/data)
swx
Google Summer of Code Student
Google Summer of Code Student
Posts: 31
Joined: Sun May 21, 2006 4:03 am
Location: Sweden
Contact:

Post by swx »

Spent the whole weekend fixing bugs in various parts of the generator :(
The only big thing to fix now before it's somewhat working is the blending of the billboards in the viewer I made. I'll also try to add some code for using .mesh files since .obj is so annoyingly hard to work with.

Biggest problems with the generator right now:
* The grid plane selector is much faster, but still awfully slow.
* The image packer is really crappy so the textures are way too pixelated.
swx
Google Summer of Code Student
Google Summer of Code Student
Posts: 31
Joined: Sun May 21, 2006 4:03 am
Location: Sweden
Contact:

Post by swx »

I would really appreciate if someone could find a properly textured tree with a sane polycount (<50 000)... I have like 1 model that can be rendered properly, but it has 400 000 faces, which is way too much for the grid plane selector to finish in a reasonable amout of time. The thing I really need to fix right now is the textures, but its really hard when I dont have any proper data :/
User avatar
Falagard
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 2060
Joined: Thu Feb 26, 2004 12:11 am
Location: Toronto, Canada
x 3
Contact:

Post by Falagard »

I can give you a really low poly tree in .mesh format - probably around 2000 polys. I have a tree generated with TreeMagik G3.

I'll ask again because I think someone else answered other than you - if I had a mesh that used a vertex shader to orient leaf billboards towards the camera - would your billboard cloud calculation work with that?

I have a different tree - it's currently in two separate mesh files though, the trunk separate from the leaves - where the leaves are quads and do what I described above, use a material with a vertex shader to orient towards the camera - but it also requires a custom movable object factory. I could generate this one at a higher resolution.

Well, to tell you the truth it would probably take me a few days to get the code ready and generate the tree.

Clay
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

here is a tree model for you

Post by Assaf Raman »

faces: 33,145
vertices: 40,227
materials: 1

Image

obj file:
http://www.upload2.net/page/download/iF ... e.zip.html

:?: is it good for you?
Watch out for my OGRE related tweets here.
swx
Google Summer of Code Student
Google Summer of Code Student
Posts: 31
Joined: Sun May 21, 2006 4:03 am
Location: Sweden
Contact:

Post by swx »

My first attempt to generate a simplified mesh:

Image

http://rapidshare.de/files/30338913/sim ... e.rar.html

But it suffers from split stem (result of stem being simplified together with the foilage) and bad texture space usage (need to improve the packing scheme).

The billboard cloud generator takes a Ogre Mesh as input, so if you can render it in ogre, then you should be able to use if for texture generation. The problem is that you need a function that extracts faces, so the set of faces being simplified needs to be a view independent set of frames, which should be rather obvious since the final simplified mesh is view independent.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

compare

Post by Assaf Raman »

here are the high-poly and low-poly trees side by side.

left - low-poly
right - high-poly

the good side:
Image

the bad side:
Image

the good side with a shadow (but the shadow was done by max and not ogre :-) )
Image


rendered by 3dsmax
Watch out for my OGRE related tweets here.
swx
Google Summer of Code Student
Google Summer of Code Student
Posts: 31
Joined: Sun May 21, 2006 4:03 am
Location: Sweden
Contact:

Post by swx »

yeah, but it should be much better once I fix the textures and the stem and foilage are simplified separately.
swx
Google Summer of Code Student
Google Summer of Code Student
Posts: 31
Joined: Sun May 21, 2006 4:03 am
Location: Sweden
Contact:

Post by swx »

With a little more texture space:
Image

I should also look at the image resize process, since my trees looks like they have a lot more leaves than your original ;)
swx
Google Summer of Code Student
Google Summer of Code Student
Posts: 31
Joined: Sun May 21, 2006 4:03 am
Location: Sweden
Contact:

Post by swx »

Image
swx
Google Summer of Code Student
Google Summer of Code Student
Posts: 31
Joined: Sun May 21, 2006 4:03 am
Location: Sweden
Contact:

Post by swx »

Might have found a way of decreasing the split stem issue :) ... but I need to redesign some stuff before I can implement it... so it will probably take 1-2 days, especially now since my university courses starts tomorrow :(
big_o
Goblin
Posts: 279
Joined: Sun Feb 19, 2006 1:08 am

Post by big_o »

looks very interesting.

I understand the school stuff, it has thrown a couple of wrenches at me already.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

the next stage – a forest

Post by Assaf Raman »

I started thinking about the next stage – a forest.

Have a look on my post here:
http://www.ogre3d.org/phpBB2/viewtopic. ... 527#170527
Watch out for my OGRE related tweets here.
Joshua
Halfling
Posts: 90
Joined: Thu Dec 15, 2005 7:46 pm

Post by Joshua »

I was just checking out the wiki and I noticed that Xavier Decoret wrote several Ogre tutorials:
http://artis.imag.fr/Membres/Xavier.Dec ... rial1.html
Isn't this the same person who introduced billboard clouds?
http://www-imagis.imag.fr/Publications/ ... ex.gb.html

Maybe this was common knowledge, but it sure sent me for a spin. :wink:
User avatar
sinbad
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 19269
Joined: Sun Oct 06, 2002 11:19 pm
Location: Guernsey, Channel Islands
x 66
Contact:

Post by sinbad »

Yes, he's in here from time to time, his forum username is Xadeck :)
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 »

I met him two weeks ago 8)
Follow la Moustache on Twitter or on Facebook
Image
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Post by Assaf Raman »

Any news here?
Can you upload a new tree output?
Watch out for my OGRE related tweets here.
swx
Google Summer of Code Student
Google Summer of Code Student
Posts: 31
Joined: Sun May 21, 2006 4:03 am
Location: Sweden
Contact:

Post by swx »

I've been rather busy with school stuff, but I'll try to fix the stem issue and upload a better model tomorrow. I've improved the textures and the plane selection a bit too.
swx
Google Summer of Code Student
Google Summer of Code Student
Posts: 31
Joined: Sun May 21, 2006 4:03 am
Location: Sweden
Contact:

Post by swx »

Assaf Raman: Before you ask again... I've worked my ass of implementing a technique for minimizing the split stems, but the papers only mentions it very briefly (1 or 2 sentences), without providing any specific information at all. I've written code that implements it the way I think it works, but I still have a really nasty bug I need to fix, and I also need to try some variations. And this weekend I'm busy with labs for an AI course I'm taking, so I'll continue working on it on monday. So hopefully I will have fixed it sometime next week.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Post by Assaf Raman »

:)

If I can help in any way – just let me know and I will do my best.
Watch out for my OGRE related tweets here.
zarroba
Gnoblar
Posts: 7
Joined: Fri Sep 10, 2004 5:35 pm

Post by zarroba »

Hi all, nice project. What is its' status? Is there any code we could check?

thanks
Zé Pedro
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 »

Check the status of the SoC projects here:
http://www.ogre3d.org/index.php?option= ... 4&Itemid=2

And the billboard clouds project in particular here:
http://www.ogre3d.org/wiki/index.php/So ... oardClouds
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Post by Assaf Raman »

:?: How can I help to complete this project?
Watch out for my OGRE related tweets here.
Post Reply