CaduneTree

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!

CaduneTree

Postby vojtek87 » Wed Aug 22, 2007 7:28 pm

Hi again!

It's been a while since I last wrote anything here. MeshTree Studio is dead (if somebody occurs a crash at start, pm me - I've fixed it). I decided to write my own tree generator, here are some screenshots and a demo app.

Image
Image

Link to demo:
http://files.filefront.com/ctpreview06zip/;8377491;;/fileinfo.html

What's going on?
- Tree skeleton generation (with roots), UVs, billboarded leaves and static fronds.
- Same algorithm as in MeshTree (Weber & Penn), but completely rewritten.

What's next?
- I have to document the code, then I will release a lib (closed-source, but for sure free for non-commercial usage, later probably for commercial also).
- Soon I will start writing an editor (cause this tree looks ugly IMO) for this. Sort of MeshTree Studio, but better and more user-friendly.
- Lighting and shadowing.

I know that gfx sucks, but well, I'm not an artist :)

So if this interested you, stay tuned for upcoming progress reports along with screenshots.

I almost forgot - any feedback is appreciated.

Update: 08 September 2007
Additional mirror for demo: http://cierpuchaw.ovh.org/ctpreview06.7z
CaduneTree v0.6b:
http://cierpuchaw.ovh.org/ctpack06b.7z
Both need 7zip.

Cheers!
Last edited by vojtek87 on Sat Sep 08, 2007 9:43 pm, edited 2 times in total.
Previous work: MeshTree Studio, CaduneTree
In progress: Tigo
User avatar
vojtek87
Gnoblar
 
Posts: 20
Kudos: 0
Joined: 27 Jun 2006
Location: Warsaw, Poland

Postby Praetor » Wed Aug 22, 2007 9:05 pm

This is great!
User avatar
Praetor
OGRE Retired Team Member
OGRE Retired Team Member
 
Posts: 3335
Kudos: 3
Joined: 21 Jun 2005
Location: Rochester, New York, US

Postby Yanko » Thu Aug 23, 2007 1:46 pm

is there anywhere else you could host the file? I can never get to download from filefront =/
Yanko
Kobold
 
Posts: 32
Kudos: 0
Joined: 26 Apr 2007

Postby Paulov » Sun Aug 26, 2007 9:45 pm

I offer free FTP space for Ogre projects.

I´ll try to download tomorrow and upload in my site.

Anyway, if someone sends me via mail would be apreciated.
________________________________________
pablo vidaurre sanz
www.ikernor.com
User avatar
Paulov
Greenskin
 
Posts: 126
Kudos: 0
Joined: 04 Apr 2006
Location: San Sebastian / Europe

Postby vojtek87 » Sat Sep 08, 2007 9:58 pm

I decided to open it under MIT license. It was the least restrictive I found. Why did I do that? Well it's not commercial-quality, still needs lots of work and I hope someone will find it useful (at least what's already done).

I did not want to create an universal Tree class, you have to wrap everything yourself (you would probably do it anyway). To grow a tree you need a list of parameters and an Ogre::ManualObject (also Ogre::BillboardSet for leaves).

Sample usage.
Code: Select all
mParameters = new Parameters();
mTrunk = new Stem( mParameters );
mTrunk->grow( Quaternion::IDENTITY, Vector3::ZERO );
mTrunk->createGeometry( manualObject );
mTrunk->createLeaves( billboardSet );


Simple documentation is included.

Link: http://cierpuchaw.ovh.org/ctpack06b.7z

Now I have to write that damn editor, before I can do any further progress :wink:
Previous work: MeshTree Studio, CaduneTree
In progress: Tigo
User avatar
vojtek87
Gnoblar
 
Posts: 20
Kudos: 0
Joined: 27 Jun 2006
Location: Warsaw, Poland

Postby vojtek87 » Fri Jul 18, 2008 8:52 pm

Recently (actually today) I came upon the Iris 2.0 project web page. I noticed that they have CaduneTree in their roadmap, just imagine my astonishment ;)

I have been terribly busy because of my studies throughout the year and now I have a full-time job, which I hope to keep even when the academic year starts again. That's why the progress I've made with CT tends to zero.

Nevertheless I've just uploaded "nearly finished" CTStudio, which is more flexible than MeshTreeStudio (remember almost unusable camera control? now it's rmb along with arrow keys), but still misses some useful features i.e. shadows. Having a working tool for generating trees, I was able to make some important bug fixes, which are of course included.

Link: http://cierpuchaw.ovh.org/ctstudio06c.7z

If someone else also uses it, please inform me if you encounter any bugs, fixing them is probably all I can do, taking into account how much free time I have. Well maybe I will add material changing into the editor during some rainy weekend ;), because now only default materials are used in CTStudio. This isn't a big problem, because material names aren't saved into .mtd, so nothing stops you from assigning them manually in code.

Also I hope you don't mind not working about box ;)

To finish, a screenshot:
Image
Previous work: MeshTree Studio, CaduneTree
In progress: Tigo
User avatar
vojtek87
Gnoblar
 
Posts: 20
Kudos: 0
Joined: 27 Jun 2006
Location: Warsaw, Poland

Postby ghoulsblade » Fri Jul 18, 2008 10:23 pm

hi =) yep, it's definitely a very interesting lib you have there, we're a bit busy with other things currently, but we'll continue to experiment with it at some time.
hagish made a partial lua binding in case someone's interested in that :
http://zwischenwelt.org/trac/lugre/brow ... dune_L.cpp
(svn://zwischenwelt.org/lugre/trunk/lugre for the rest)
ogre+lua= http://lugre.sf.net spacegame: http://sfz.sf.net ultima-online 3d client : http://iris2.de
User avatar
ghoulsblade
Halfling
 
Posts: 83
Kudos: 0
Joined: 05 Mar 2006
Location: Munich, Bavaria, Germany

Postby SiENcE » Mon Jul 21, 2008 11:51 pm

thank vojtek87.


i like your work very much. if you want you can help us integrating caduntree into iris2. i think your editor makes my life a bit easier :).

here you see caduntree+iris2 in action at the dusmania 10 hobby game dev meeting in frankfurt/germany:
http://picasaweb.google.com/sicaine/Dus ... 1762854674

regards
User avatar
SiENcE
Goblin
 
Posts: 231
Kudos: 0
Joined: 11 May 2006
Location: Berlin

Postby SiENcE » Wed Jul 23, 2008 10:27 am

I have problems with displaying the trees in your editor. Maybe it depends on opengl but i don't know. Do you can provide also the ogre direct3d renderer plugin for your editor build?

I have an nvidia 9600gt card (no opengl problems elsewhere).

Today i'm going to test it with my ati and intel gfxcards.

regards.
User avatar
SiENcE
Goblin
 
Posts: 231
Kudos: 0
Joined: 11 May 2006
Location: Berlin

Postby voxel » Mon Jul 28, 2008 5:04 pm

Looking good... will this export .obj files afterwards? Or just .mesh? or files for your API/lib?

I think .obj is best because it's neutral and artists can edit the trees, but if you have an API/lib for rendering - all the better!
voxel
Gnome
 
Posts: 334
Kudos: 0
Joined: 02 Aug 2006
Location: Toronto, Canada

Postby vojtek87 » Mon Jul 28, 2008 5:37 pm

It exports only the parameters which are used to create trees, so you can say that it has its own API for generating them. Exporting to .obj or any other mesh format is pointless at this moment, because leaves are billboards. But this may be necessary in the future, as trees may be generated differently on different computers (depending on pseudo-random numbers generated inside). I will probably add possibility to save leaves definitions alone.

I promised SiENcE to fix something (update Ogre to newest version and provide a D3D renderer as an option as well as cleaning material scripts) during this weekend, but unfortunately I didn't have time. Will be done when I find some, I promise.
Previous work: MeshTree Studio, CaduneTree
In progress: Tigo
User avatar
vojtek87
Gnoblar
 
Posts: 20
Kudos: 0
Joined: 27 Jun 2006
Location: Warsaw, Poland

Postby Falagard » Mon Jul 28, 2008 6:00 pm

vojtek87 wrote:It exports only the parameters which are used to create trees, so you can say that it has its own API for generating them. Exporting to .obj or any other mesh format is pointless at this moment, because leaves are billboards. But this may be necessary in the future, as trees may be generated differently on different computers (depending on pseudo-random numbers generated inside). I will probably add possibility to save leaves definitions alone.

I promised SiENcE to fix something (update Ogre to newest version and provide a D3D renderer as an option as well as cleaning material scripts) during this weekend, but unfortunately I didn't have time. Will be done when I find some, I promise.


The best idea would be to export as a .mesh file, and don't use Ogre's billboarding system for leaves if that's what you're doing. Instead, export leaves in the mesh file and use a vertex shader to orient them toward the camera.
That way people could use trees created in your program without needing to even use your library. All they'd need is the mesh file and the proper shader to render it.

They'd need to have a card with shader support, of course, but that's pretty much a guaranteed requirement for modern games.
User avatar
Falagard
OGRE Retired Moderator
OGRE Retired Moderator
 
Posts: 2191
Kudos: 3
Joined: 26 Feb 2004
Location: Toronto, Canada

Postby SiENcE » Mon Jul 28, 2008 11:48 pm

@vojtek87: Thanks. i'm looking forward. I temp. fixed this problem by setting all textures to zero mipmaps in the materials.

I have nothing against generated trees, but they should look all the same on every client. For us is very important, to have Barks (incl. Fronds) and Leaves seperate. I'ts important for our Iris2 project, because we have different Seasons (spring,summer,fall,winter and .
In Winter most trees have no Leaves.

Leaves:
I think the best would be a an option to use your Shader Proposal or Billboards. Billboards because we don't want that Iris2 only runs on Shader Cards.

I don't know what gives the most performance.
User avatar
SiENcE
Goblin
 
Posts: 231
Kudos: 0
Joined: 11 May 2006
Location: Berlin

Postby voxel » Tue Jul 29, 2008 3:42 am

SiENcE wrote:I don't know what gives the most performance.


I suspect leaves as separate is the fastest i.e all Billboards are drawn in one batch.

Making all the tree trunks(barks) group into one static geometry would also be very fast. Only the leaves would probably animate.
voxel
Gnome
 
Posts: 334
Kudos: 0
Joined: 02 Aug 2006
Location: Toronto, Canada

Postby Falagard » Tue Jul 29, 2008 4:23 am

voxel wrote:
SiENcE wrote:I don't know what gives the most performance.


I suspect leaves as separate is the fastest i.e all Billboards are drawn in one batch.

Making all the tree trunks(barks) group into one static geometry would also be very fast. Only the leaves would probably animate.


Billboards are drawn in one batch for a single BillboardSet. It would depend on whether each tree has a BillboardSet or the scene is partitioned into a grid of billboard sets.

For example, if it was a single mesh, using shaders for leaf orientation, and didn't use Billboards it would integrate directly into the JohnJ's Paging Geometry system and the performance would easily be better than a billboard per leaf done on the CPU.
User avatar
Falagard
OGRE Retired Moderator
OGRE Retired Moderator
 
Posts: 2191
Kudos: 3
Joined: 26 Feb 2004
Location: Toronto, Canada

Postby jacmoe » Sun Nov 09, 2008 3:57 am

I just discovered that the sources for CaduneTree has been released under a great license.
Happy to hear that it is in active use! :)

This seems like a great alternative to OgreSpeedTree - for those of us not loaded with money. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, Fueled by Passion.
Ogre AppWizards - Ogre project wizards for VC 8-10, Code::Blocks and KDevelop.
OgreAssimpConverter - command-line to convert models to Ogre format.
TwOgreGUI - wrapper for AntTweakBar GUI library.
I accept donations | Me on Google+
User avatar
jacmoe
OGRE Moderator
OGRE Moderator
 
Posts: 21024
Kudos: 162
Joined: 22 Jan 2004
Location: Denmark

Postby hike1 » Mon Nov 17, 2008 5:50 pm

I was getting a 'side-by-side configuration is incorrect' error, so I DL'd this

http://www.microsoft.com/downloads/than ... layLang=en

Microsoft Visual C++ 2008 Redistributable Package (x86)


And now it loads.
hike1
Greenskin
 
Posts: 123
Kudos: 0
Joined: 30 Mar 2003

Postby vojtek87 » Tue Nov 18, 2008 9:12 pm

jacmoe wrote:This seems like a great alternative to OgreSpeedTree - for those of us not loaded with money. :wink:


Maybe not so great ;)
I'm still (it's been a couple of months now) looking for some time to move it a bit further. If only I had time to do what Falagard suggested, then I could at least consider it a bit complete.
Previous work: MeshTree Studio, CaduneTree
In progress: Tigo
User avatar
vojtek87
Gnoblar
 
Posts: 20
Kudos: 0
Joined: 27 Jun 2006
Location: Warsaw, Poland

Re: CaduneTree

Postby sunrisefe » Thu Mar 26, 2009 1:41 am

watching it.
sunrisefe
Halfling
 
Posts: 42
Kudos: 0
Joined: 06 Oct 2008

Re: CaduneTree

Postby jacmoe » Fri Mar 27, 2009 9:32 pm

Me too. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, Fueled by Passion.
Ogre AppWizards - Ogre project wizards for VC 8-10, Code::Blocks and KDevelop.
OgreAssimpConverter - command-line to convert models to Ogre format.
TwOgreGUI - wrapper for AntTweakBar GUI library.
I accept donations | Me on Google+
User avatar
jacmoe
OGRE Moderator
OGRE Moderator
 
Posts: 21024
Kudos: 162
Joined: 22 Jan 2004
Location: Denmark

Re: CaduneTree

Postby epha » Tue Jun 30, 2009 2:27 pm

hi vojtek87, et al

First of all thanks a lot for CaduneTree - and for releasing the code.

I want to develop CaduneTree a bit to include ( to begin with ) a gui ( I'm on a mac, so I can't run CaduneTree Studio ), splitting of branches, and realistic movement of branches in the wind based on this paper: http://www.cg.tuwien.ac.at/research/publications/2009/Habel_09_PGT/

I don't really know the protocol for this kind of thing; but I was wondering if it's possible to set up a project with git or subversion or something so a few people who want to can work on CaduneTree ( or a seperate project based on the CaduneTree code ) and make a good open-source tree generator for Ogre.

I also was wondering if anyone has added to the CaduneTree code and is willing to share any improvements- so I don't repeat something someone else has done.

I have worked through the Habel and Wimmer's 'Physically Guided Animation of Trees' and have got single branches moving realistically in the 'wind' with a vertex shader. Now I want to extend Cadune Tree so that data textures are written for each branch hierarcy and each branch when the tree is generated - so that, together with a vertex shader, tree movement is integrated into the creation of each tree.

I have never developed a project in this way before - so if I'm going about it the wrong way, please let me know.
thanks.

epha
epha
Halfling
 
Posts: 51
Kudos: 0
Joined: 11 Dec 2007

Re: CaduneTree

Postby SiENcE » Tue Jul 14, 2009 7:39 pm

We have an CadunTree integrated in our middleware componente called Lugre.

-> http://lugre.schattenkind.net

It's GPL and we have an SVN repository. If you wanna use this SVN to improve the Cadunetree Lib and Editor, contact me :-).
User avatar
SiENcE
Goblin
 
Posts: 231
Kudos: 0
Joined: 11 May 2006
Location: Berlin

Re: CaduneTree

Postby jacmoe » Tue Jul 14, 2009 7:46 pm

Not really. CaduneTree is MIT. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, Fueled by Passion.
Ogre AppWizards - Ogre project wizards for VC 8-10, Code::Blocks and KDevelop.
OgreAssimpConverter - command-line to convert models to Ogre format.
TwOgreGUI - wrapper for AntTweakBar GUI library.
I accept donations | Me on Google+
User avatar
jacmoe
OGRE Moderator
OGRE Moderator
 
Posts: 21024
Kudos: 162
Joined: 22 Jan 2004
Location: Denmark

Re: CaduneTree

Postby xadhoom » Tue Jul 14, 2009 8:58 pm

Hi epha!

First of all I´m glad to hear that you want to improve this lib with your experience.

I recommend you (without any ulterior motive) to take a look at Ogitor. Its a plug-in driven open-source/cross platform/"free for all" editor especially for Ogre world creation which is currently under heavy developement. Its architecture would allow you to create an independent plug-in which could encapsulate the whole tree generation library. I hope that you can save the time creating another GUI with adjustable properties and some kind of import/export process.

Just my two cent...

xad
User avatar
xadhoom
Minaton
 
Posts: 973
Kudos: 2
Joined: 28 Dec 2007
Location: Germany

Re: CaduneTree

Postby haffax » Wed Jul 15, 2009 12:39 am

jacmoe wrote:Not really. CaduneTree is MIT. :wink:

Doesn't matter, because a lib released under MIT can always be rereleased under GPL, it conforms with MIT license.
But actually this doesn't matter here, because lugre wiki and source say MIT license.

So is Lugre MIT or GPL, SiENcE?
team-pantheon programmer
creators of Rastullahs Lockenpracht
User avatar
haffax
OGRE Retired Moderator
OGRE Retired Moderator
 
Posts: 5084
Kudos: 3
Joined: 18 Jun 2004
Location: Berlin, Germany

Next

Return to Showcase

Who is online

Users browsing this forum: Bing [Bot] and 4 guests