Posted
by
Soulskillon Friday January 11, 2008 @07:02AM
from the branching-out-from-virtual-design dept.

Reservoir Hill points us to a story about a group of computer scientists who are taking steps to bring the creation of 3-D worlds to the casual user. As a proof-of-concept, Vladlen Koltun and the Stanford Virtual Worlds Group, using data collected by botanists, have developed software to create virtual 3-D trees with roughly 100 different tree attributes, all of which are highly variable. Quoting:
"The inability of casual computer users to build 3-D objects - you practically have to be a sculptor, Koltun says - is an anchor holding back the promise of virtual worlds. Koltun's software, Dryad (a tree nymph in Greek mythology,) lets users move through the 100-attribute tree space in a fashion similar to navigating city streets on Google Maps. As in real life, not all trees are equally desirable. Since no single user is capable of mapping out the best parts of the enormous tree space, this mapping of desirability is done collaboratively, leading to continuous refinement of the software."

I have time to reply to this because I'm running an 8 minute build for the 5th time since lunch (which is not as bad as it can be actually). I can tell you that I'm not particularly amused at the moment.

One of the nice things about working in the database and getting those crap "data conversion" tasks is that most of the time they run for hours.......I'm "testing" my conversion, time to read the Internet.....I'll check it tomorrow, fix the bugs I notice and repeat the cycle.:D

Yup, been there. It can be quite annoying if there is some time pressure on the results though. The only thing you can do to speed up then is to write as many conversions in parallel as the long test runs allow. That thoroughly teaches you the limits of "concurrent programming".

My advise is to have as many test runs as possible scheduled during the weekends and holidays so you can keep life interesting for your colleagues while you're not there. Fire off a few from cron, a few from your friendly database

So let me get this straight -- you install experimental simulation software to a directory that everyone on your system can use?What don't you understand here? Is it "multiuser"? "Instability" perhaps? Or "security risk"? How about "experimental"? Didn't you notice the bit about static linking? The comments from other/.ers that it doesn't wfm? It isn't finished yet. Anyone installing code from a rapidly changing experimental project in a place other than their home directory should have root privileges tak

Don't be an idiot. First, most linux installations are single-user. Nothing wrong with installing whatever the fuck you want in/usr/local. Secondly, if you have a compiler available on a multi-user system, there's no security difference between a user running a copy in/usr/local or running one in their home directory, assuming all other things equal (no setuid, etc).It's just good practice for any linux/unix binary to write things to the current directory or a known directory - because it could easily

Actually, this is one area where Windows and OSX have Linux legitimately beat.

On Windows and OSX, you always have access to an absolutely massive set of APIs that are always there.

On Linux, non-trivial programs link against dozens of libraries (which may or may not be currently installed), each of which may have dependencies on other libraries themselves. Getting all that organized into your build can be a major hassle.

On Linux, you also have to concern yourself with the license of every single library

apt-get or package managers in general don't help much for proprietary software, which needs to work on as many versions as possible. And it only work for free software because somebody is putting in the maintenance time.

Sounds like they're not real clear on how windows works anymore either. They don't have "application data" (uh...dirs?) directories in every user's "documents and settings" (home, really) just for giggles.Now they DO handle "documents and settings" stupidly (in XP. I'll try vista when I have a computer that can run it). What do you mean it's not advisable to mount a separate/home drive? Brilliant idea putting the mount-point information in the documents and settings tree. That way, segregating user d

Oh god don't get me started. Worse yet: while you can change the mapped path of %USERPROFILE% not all applications (Office being the #1 offender) bother to check to see what it's actually set as.

Anyways, for you anti-Windows people who care the parent is referring to %USERPROFILE%/Application Data\{Application Name} as the default location to store application related data in WinXP (and Vista... ew). It's passé to store data in the same folder as the applications executable (though still allowed, sadl

Generating visually complex plant like shapes has been a mainstay of 3D modeling software and demos for a while now. These guys might have worked with botanists and expressed hundreds of attributes, but I don't see how this will translate to better tools for 3D modeling in general.

I think that the idea is to not have a standard library of ready made tree blocks to use over and over. What I do believe that they're getting at is "growing" trees based on the attributes that are put in. The more attributes that are in the system the more variety of trees can be randomly generated. They are also collecting data on the aesthetic appeal of the different combinations of attributes so that they can maybe make a system that will group pleasing ones together to further refine the process. That way you get trees in games that are random, "grown", and no weird combinations of say deciduous leaves on conifer type trees. It's still pretty new software and does't look all that great, but like any project give it some time and I think you may be surprised by the results.

I think that the idea is to not have a standard library of ready made tree blocks to use over and over. What I do believe that they're getting at is "growing" trees based on the attributes that are put in.

Which is also not new. What is very impressive, however, is that they seem to have somehow managed to project a 100-dimensional tree-space (one for each attribute) into two-dimensional plane seen in the article in a navigable way.

Because I see this as not an end result, but as a beginning. I've often thought that the entirety of all human faces could be described by a similar, discrete set of variables. Know the variables, know the values for a person's face, and voila, you can recreate a particular person's face from a simple database.

This test might even be buildable from data within a DNA sample. Then, you're not creating just an oak tree, but THAT particular oak tree out back....

Because I see this as not an end result, but as a beginning. I've often thought that the entirety of all human faces could be described by a similar, discrete set of variables. Know the variables, know the values for a person's face, and voila, you can recreate a particular person's face from a simple database.

It runs just fine on Windows. I made a bunch of trees but the problem with trees is not how hard or easy thy are to make the problem is there polygon hit they do to the game engine. That's the real problem of why you don't see many trees in games. The polygon amount on these trees is too high. That's the problem that needs to be solved. A tree that only takes up say 10 polygons but still looks believable would work. You don't get that here.

It might help with realism. Sure, games have good-looking trees already (Oblivion comes to mind). But like any discipline, if you get expert help, it does increase realism.

For instance, trees that look plausible to not only gamers but botanists, given their environment, will almost certainly seem more "real" even to non-experts. The human mind is good at picking up on patterns, even subconsciously -- and weeping-willow trees in arid areas (for example) will probably look somehow out-of-place to many peop

>> but I don't see how this will translate to better tools for 3D modeling in general

I don't think it does. For that have a look at Inflatable Icons http://en.wikipedia.org/wiki/Inflatable_Icons [wikipedia.org] . This is not a replacement of 3D modelers such as Maya used by professionals but it can be used quickly even by the artistically challenged to make simple organic shapes. A more recent version supports more sophisticated inflation including noise bump maps, selection based inflation and many additional w

Plant generators have existed for a while. There was a proprietary one (that I forget the name of now) that was very good, and there's the above open source one as well. (Which I haven't actually used.)

As for making it easier for users to create virtual worlds... This is just one small aspect of a world, and doesn't even fully support that, from what I can see.

"Dryad trees are truly 3-D; they can be spun around or viewed from any angle. They also can be downloaded in the OBJ format and loaded into any major modeling program."

So it only creates a static OBJ. There's no animation, no information on how it flexes... You can't make this tree sway in the wind without the same tedious work that's always been necessary.

Saying this helps create virtual worlds is like a crayon manufacturer saying it helps create art... Sure, as long as you only want non-professional art. (And yes, just like crayons, you -can- make professional art with this if you have a ton of talent and are willing to put in the time.)

There was a proprietary one (that I forget the name of now) that was very good

Speed Tree? [speedtree.com] It can generates trees real time [speedtree.com] based on predefined definition. With proper 3D lighting, it looks way better than Dryad. Mature product as well, being used in lots of games.

It generates real-time trees? You mean you get to plant the seed and watch it grow, day by day, week by week? Sure it'd be slow and take a while to complete, but can you imagine realism factor in games!

Actually that's EXACTLY what I would want in an ideal persistent world. I would like the leaves to slowly change color during fall too based on the weather cycles in game (it takes warm days and cool nights to produce the best colors). Only when we that level of detail will PW's begin to feel real. It's always bothered me that I complete a quest as part of a big storyline and nothing changes in the world.

SpeedTree already does this, and does a very nice job. Try their free downloads. [speedtree.com] SpeedTree has smooth level of detail processing, so you can draw very large forests in real time. One of their demos is a "million tree forest". Every tree is different; they're generated procedurally from a set of parameters. You can use their tree library [speedtree.com], with about 1000 different varieties of tree, or design your own trees.

Boo-fucking-hoo, troll.News flash: just about any bigger library used for making games (Unreal Engine, Granny/Miles Audio/Rad Game Tools,...) is non-free, and costs a boatload of money. So what? Nobody forces them to sell their work on the cheap.

Yes, there have been programs to do this for quite a while. I remember using one standalone program, unsurprisingly called "Tree" that works exactly as this new article describes. So congratulations to the programmers for reinventing the wheel!

But there are better programs than this. Aladrin complains that the models are static OBJ files. Maya has a wide range of dynamic tree generators, with parameters that can be animated over time.

Here [youtube.com] is an example of computer generated trees (including flexing) from ~1990. I went to a talk by this guy. He was also working on 'artistic' genetic algorithms with human input: i.e. humans would judge how pleasing the output of various programs were, then those programs would be mutated to present more output to the human. I can't remember if he used this approach for the trees in this video.

but are any users from these games going to look at them and notice? hell, I bet they don't even look at the trees in the first place. my ten cents tells me that this software is only going to be valuable if you can store a complete tree in those few hundred botanical variables and then recreate it on demand in SW, this compressing the amount of data needed for the game storage.

I for one noticed the excellent tree models in Feralas in WoW, that area is just downright gorgeous. If they were more realistic they would probably be even more aesthetically pleasing. The human brain is pretty good at picking up on unnatural things so making trees as realistic as possible will make the game look better even to those who never look for the trees.

Not noticing is the point. If you notice how the trees look that pulls you out of the game and back to reality. If the trees look like they ought to, you won't notice that the world is computer generated and you'll have a more seamless experience.

Sketchup (now Google Sketchup) is actually a very intuitive 3d modeling tool--probably the most intuitive by far, IMHO, but it actually suffers from a lack of depth. I'm waiting for Google to work their magic on it...still waiting, actually.

All the trees in the gallery look strangely similar. Are they all conifers so far? It's still downloading the trees from their server (and no doubt slashdotted), but I was hoping to use it to build deciduous-type trees (virtual bonsai). Oh, well. It's still cool.

Thanks, guys. As Ms. Fawcett would say, "I'm into trees." (Just not quite in the same way she is...)

I wasn't saying that virtual worlds don't need trees. I was saying that the creation of trees isn't democratic and easily accessible to all in the real world, so why is it imperative that it be so in the virtual world? Is it a reqiuirement of virtual worlds that they magically bring everyone to the same level of artistic talent?

Frankly, who wants to live in a world generated entirely by a bunch of users dragging a bunch of sliders as far left as they'll go?

Vue 6 does an amazing job of creating random trees. The only downside is they aren't really suitable for gaming. You can export most of them and I use them in other 3D apps but they tend to be pretty poly intensive and even slow down the renders in 3D apps. You've got some resolution control but even at the lowest levels they are a bit heavy for creating a forest for games. Still an excellent app for plants. I use it all the time for plates and backdrops. It works well for skyboxes and even a forested, or m

These programmers ever heard of Bryce 6? I've been able to model okay trees since 1999 for a modest price. And rocks, mountains and a little bit of weather, too. Just doing a tree isn't going to provide a solution to someone that needs a whole world.

Did they use Bryce as a base for the improvements? It would be cool if the collaboration could link back into a 3D suite.

By Aristid Lindenmayer and Przemyslaw Prusinkiewicz. Absolutley stunning book. Several (many) of the renderings (the palms in particular) are verging on realistic. It's out of print now and you definitely can't have my copy. I won't give it up!

I tried it a few weeks ago when I first heard of (believe it was 1.0 not the January 1.1 release). On two beefy computers the program would start then proceeded to crash after 20 seconds of interacting with it. I never saw a tree. I wasn't worried about specs as the one computer has 3 gigs of RAM and an 8800.

I'm all for releasing public alphas or betas, but was surprised at how brittle it seemed considering the lack of warning or documentation.

From the title, I was expecting some kind of either general, or special case improvement on search tree [wikipedia.org] "geometry." Which I think we can agree would have been far more exciting than the, still interesting, CG improvement.

The upcoming game "Spore" is supposed to have some fairly impressive organic modeling tools that are extremely simple to use. Some of the early demo videos of the modeler in action certainly suggest the learning curve involved will be fairly small versus the type of content one could generate with it.

It sounds like they are talking about a sort of programming language with thousands of primitives, many of which have hundreds of options; I wish them good luck in organizing that in a managable way, and I see no chance that they will beat Wolfram Research to it.

When they get it to the point that you can put in "Quercus abba" or "Quercus stellata" and get a realistic virtual tree representing the species you entered they will have a very good teaching tool.On top of that if the parameters (assuming a species to parameter set mapping) just happen to match some minimally spanning set of parameters found by data mining a database of trees I think they would have something.

Virtual worlds aren't just for gamers and the socially virtual. Just as we want online books that

I quickly looked through their site and didn't see any documentation about what sort of model they used. A lot of the trees look oddly familiar, so I'm wondering what sort of "better" they might have to offer.

I can't run it given the limited portability. Does anyone have the list of what "100 attributes" they are using? Is this an artistic attribute model, an L-system, or something else?

"PlantStudio Botanical Illustration Software is a tool for creating 3D plant models and 2D illustrations. The PlantStudio software simulates herbaceous (non-woody) plants like wildflowers and cut flowers, vegetables, weeds, grasses, and herbs using a parameter-driven simulation of plant growth and structure. You can "grow" plants over their life cycles, produc

"If you want an infinite number of possible trees then create an implementation for a universal Turing machine."

Such an implementation has already been created, we computer scientists call it "the computer". Now, no matter how powerful we make our "computer", no matter how (or if) we implement floating point it makes no difference to the number of possible trees a computer can generate.

Not sure if the post was a troll or an attempt at humour - but the insighful mod makes me sad.

Oh dear, my pet peeve again, self-annointed Computer Experts propounding about Turing's theories, while displaying an utter lack of comprehension of what Turing actually said.Computers are finite state machines. We cannot create a computer with an infinite amount of memory, and there are only a finite number of steps a program can run unless we're prepared to let the program run forever. Therefore there are a finite number of final states that any program can arrive at. Ergo, there are only a finite number

The point is that the OP has misrepresented what Turing's UTM and computer science is all about. A UTM can compute anything that is computable, the set of things that are computable is infinite. UTM is a mathematical model of computation, how (or if) you store the result of the computation is irelevant.