 with a number it's three billion trees that's yield university counted the trees recently and that's quite a big number it's it's like 422 trees for every living person on earth so there are a lot of trees and it's hard to imagine a world without them and it's hard to imagine any outdoor picture without trees so it's important to get them right yet trees are incredibly complex organisms I have incredibly complex branching structures with a lot of polygons millions of polygons and their materials are equally complex with a mix of glossy diffuse translucency which are all translucency for example is not very easy on computers so it's not been easy but let's take a look at how we've been trying to create trees up until now so my name is Vibram van Koeden by the way I normally I create visuals and animations for architects designers and landscapers every everyone with something to show to the world and I've been doing this for 13 years now and blender has been my trusty every single day of this 13 years I'm really glad about it so during this 13 years I've seen quite some technological advances that made life a lot better and also which changed the way we work like I'm in the inclusion it's an old one but it really was a big step forward in realism and it gave our images much more depth but nothing compares to cycles which is the single best thing to ever happen to blender and finally realistic in outdoor lighting and indirect lighting was fast enough to be used in production I mean we had global illumination before but you couldn't really use it for deadline projects so it was a game changer unfortunately to realistically use it in in production matching hardware was needed and so cycles also gave us massive headaches and driver madness I had to switch from OS X to Linux to even Windows now it's yeah four of them I had five once but but it was worth it I mean cycles is absolutely worth it so cycles has changed my workflow dramatically just years ago I would Photoshop skies nature people even reflections in the windows it's all photoshopped and because now we can do much more of that all of those things in in 3d I see a split is forming where some of us try to do everything in 3d for total realism and others try to go the other way for the artistic style and nothing in between really yeah so the hardest part of the switch has been nature and especially trees and I think a lot of artists have been struggling like with it and it's been itching me for a really long time for years and years and I spent so much time this past decade in hunting ways to get the best trees and well as I told trees just to look dead with our translucency so we needed a good render first and we also needed systems that could handle these amounts of polygons so those complexity made made made that cut out images were the way to go for many years and after that I try stock models I bought a lot of models and they they are kind of cool but not so natural so I tried a couple of of those programs that were used to create those trees and and like sapling is all best there are some really nice programs but yeah okay let's take a look at some of the three programs that are out there so like you can you can categorize them in three basic that there are more ways of doing it but the most of the software do it in a recursive L system fractal mathematical like you define a mange branch you say it's got so many sub branches and they are so long and well it's a lot of work to do that stuff and recursive systems are really good for pine trees and really repetitive trees and young trees also but when trees go older that they're branching structure is just the distribution isn't right space colonization was a really good one that solved this problem like the distribution was really really good but it's not natural as well and trees designer I'm not I'm not going to talk about that it's really cool but it has its own look so I just couldn't seem to get natural trees with any of those tools and it's because that the focus of all those tools was on total user control and interaction the total the user had all the control over the tree so you had to define how long the trunk is how thick it's at the base how thick it's at the top and it's a lot of work to build a tree and that seems nice in the beginning but like the total control but in the end it makes it a painful job and especially for all the trees okay so there was one really really really really nice program out there for the iPad tree sketch it allowed you to kind of grow trees and it was really nice but even tree sketches focus was on total user control and you had to sketch your branches by multi-touch so as Jonathan Williamson so nicely put it in his presentation last year it was time to finally scratch my own itch and time to put paint nature back in control what I wanted you know yeah the moral of the story is that I don't want to model trees I want to grow trees and I wanted trees that work well on GPUs because well you all have to like GPUs so when I finally had some time last year after last year's conference I'm inspiring conferences I finally gave it a go and I started coding and just one week in I got this exciting spaghetti tree so for one week's work yeah okay but it's it was so exciting that I just had to continue this and it kind of ran out of hand and I told ask my girlfriend this I totally got obsessed by trees and couldn't talk about anything else I read a lot of scientific papers and anything I could find on trees there's not a lot of a lot information on how trees grow by the way weirdly so over a couple of you over a year of frantic development and total rewrite and a couple of lines of code I had this no sound sorry nature is back in control I guess the Grove instead of grow of instead of modeling I wanted something to grow trees and the Grove does this by simulating the seasons each year it first grows new twigs and then second it bends those twigs based on how much more weight they carry and before growing another year it first prunes the weak branches and makes makes an airy branching structure of the tree and especially when growing older those three steps really make a difference like to get up an airy structure otherwise branches will collapse into each other and it will not look natural and so the first result by Mason Menzies very talented artist I really enjoyed this picture so let's take a closer look at some of the simulation steps that the Grove does okay like nature grove all right it starts by by one branch it consists of a little couple of nodes the leaves they are the places where the nodes are and in between the leaves and our branch are tiny buds those tiny buds are next year's twigs and those have a chance to open up next year and well grow another branch and those have the same buds and that's all repeats over and over and over so grove is a couple it's the same as almost every other software like I there's there's features like philotexes gravatropism branch angle opposite in the ultimate branching that's all there are there are a lot of parameters like the branch angle is the simplest I mean the angle between the parent branch it's easy but yeah so there are a lot of parameters that define a tree's character but still it's one of the easiest and fastest ways to grow trees so let's see let's grow a tree in blender and let's see what happens when you grow a tree you can define the amount of years you want to simulate so let's bring it back to one so we can see what's going to happen what I'm doing is just oh wait a minute wait a minute okay now I can see it myself that's not very very useful I'm just gonna press this button and what you'll see okay you can see the tree appearing in the lower lower part of the screen so when I press grow grow grow grow grow you see that some branches start bending under the weight and others get pruned away and well you just continue doing this until you you're satisfied and it gets the gross algorithm gets better when trees go older and older like young trees in nature are also very erratic and very chaotic and when when they grow older let's add a couple of more years they grow more beautiful oh we're spinning and it also takes exponentially more time to grow new branches because what you what you don't see is that all those little twigs that are created hundreds of them 90% of them do not survive for the next year so I'm creating a lot of branches and I'm deleting almost every one of them and then I'm growing a lot of branches again and that's what's happening so let's get back to blending to my presentation yeah there it is okay so true to its name the growth also non-native English speakers do not know what the growth means by the way that's that's I discovered that a growth is a small group of trees like an orchard or small forest or a couple of trees a lot of shopping malls in America are called the growth because there were some trees before that's and well when you grow trees together they form a combined crown and it's really more beautiful it's it's it's it's more natural to grow a couple of trees together oh this is going to be difficult I want to show that now so this is going to put it too difficult no I'm going to stick to my presentation yeah okay wait okay sorry I'm I'll just move back to this is going to take this one okay this will work yay small buttons all right so back to growing multiple trees at once this is better you can add empty objects and select them before you start to grow and then when you start to grow they will be it will detect them and you can grow trees together just like this and just grow and then we've got something that you can see that they grow together and they try to avoid each other because only because of the pruning they do not actually try to avoid each other what branches get close they get pruned and that's how it works okay back to this this one yes play yeah all right so so growing groups of trees together that's impossible with stock models and it will make your scenes more natural pruning pruning pruning turned out to be extremely important it's one of the most important things that makes the growth sets the growth apart and it's it's basically the exact opposite of of of space colonization I'm no no who's a familiar with space colonization but it's like you're distributed a lot of particles in the scene and the try it through the tree tries to find particles and grabs them out of the scene and then that way it grows towards those particles and you get a nice distribution by that but it's it's not really natural because you lose the branching angles and a lot of more of that stuff so this has it has a cost it takes more time to calculate and but it's time well worth it so yeah let's imagine a tree without pruning I mean it would if every bud was to grow a new twig and and those twigs with all their buds would also grow a new twig the tree would soon become a huge ball of leaf and and branch and it will with would snap under its own weight it would it's it's important that's it so so most of all I think all other algorithms they try to put branches in the right place at the right time at one time in one go either to to save time or to give the user the total control but nature equals chaos everyone knows this and so instead of reaching equilibrium in one go we need to first go through chaos so we have to grow branches like crazy and then we decide which ones to keep and real physical bending it was it's also the first that that tree software has physical bending and I can imagine why because it's really weird in trees like it the bending is not just bending on the way but it's also that trees the branches they tried to compensate for bending by by growing more tissue places where that there's much bending so it tries to compensate for the for gravity and I try to try to I spend a lot of time to try to get that into the growth and it's still not perfect but it works well but it's not it's still itching so bending and pruning oh I mean the bending and pruning together is what what makes a natural tree because when trees when branches bend it constantly changes the distribution of branches like some branches get closer to each other otherwise others get pulled apart and when branches get closer they cast shadow on each other and that's what what yeah that's that has a large influence so bending in action now let's not do that you know you've seen it in the trailer and I have to do all the screen stuff again and flow flow is a is a bit more difficult to understand but it's actually quite easy trees they control growth by hormones and to get this you can best think of trees as a collection of one-year plants I mean the twigs that are the ones that the branches that are new this year they have the flowers they have the fruits they have the leaves everything that's it's just a plant it's a normal plant and the thing that sets them apart from normal plants is the branching structure that connects them all it's like a like a plumbing system that that pulls water up to the leaves and on the other way it distributes hormones like the tips of branches they produce a lot of hormone and it stops other branches down the road from growing and gives precedence to the ones that are reaching for the light which brings me to apical dominance this is the single best scientific name ever it's not from a shoot-em-up game it's it's awesome and well I got ahead of my game and I just explained what it was it's it's it's the tip of the branch that distributes the hormones to tell them to keep low I want to grow to the light and without without breaks by the way that this oxen hormone it it it's the break of the tree without those hormones a tree would grow like crazy it would like burst and there's science the scientists that are trying to to alter trees to grow faster and for the wood but this is what this is what makes it so especially when a seedling is still under the ground it it's when it's dark and it can't find any light it will grow like crazy to the surface and when it hits light it will keep chilling and will just grow on so in this example the tree doesn't favor side branches nor current branches it's just every every every branch gets the same same favor and it results in a round shrub like shape and yeah so and and here's another example by increasing apical dominance and it produces a completely different shape more of a pyramidal pine shape so hormonal controls like these make a huge difference and it's with almost no user input you don't have to change any of the parameters during growth you can just click click click and then you can alter it it's easy interact so so far we've based on the shape of a tree on solely the DNA of the tree but the tree shape is heavily influenced also by its environment and the environment is where artistic control comes back into play I mean you all want some control and so you can set up an object object that can it can be any object any a blender object it can deflect it can attract and it can block new growth so you can you can make trees in different shapes so you can can avoid buildings so you can do many things so that's powerful control but in a very natural way not not you don't have to it's it's easier so build after simulation I'm using the simulated data to create a 3d model very very logical every branch becomes a curve and every node of each branch will become a curve node and then I add thickness to every node and that's also done it's more tree sketched has a similar way of doing it instead of defining the base of the trunk it has to be this wide and then no you start at the top you start at the tips they have a thickness and every node adds a little bit of thickness and when it runs it reaches a branching point it will then use an exponential function to join blend those two thicknesses and this gives correct results at every age and you never have to tweak it so Twix as I said earlier they are very okay very different from from the rest in my system I hand model Twix I don't think you can make Twix with software it's it's you can use your own tools that you like and you can model all the berries all the fruit all the leaves yourself and that will make it much beautiful more beautiful so by distributing these kind of models you only have one of those models in memory and your CPU memory or your GPU memory will be saved and it's much lighter so I use the 3d scans as a base for for creating these twigs and but those are very very very very crappy and use them solely for the scale and how the leaves are folding and stuff so I model over them and I spend quite some time on them especially on flowering Twix and I'm not holding back on the details and Twix are really beautiful when you study up close it's very intriguing yes sometimes an apical and lateral Twix that's that's either from the tip of the of the branch or from the side of the branch those are sometimes and some species very different like flowering trees yeah and well that's no I don't have time for that yeah the development was was a was a really joy it took me over a year and it starts with a right structure and making every feature independent so I could work on every feature loose and I spent I guess I spent even equal amount of time on actual coding and on studying how trees really work and most of my ideas popped out up on the bike race into home from my studio so it's packed with trees all kinds of trees and after day of coding and finally getting stuck I would go home and I would watch trees and real trees would give me the answers and the funny thing is I did most of the coding in my sleep I think I cracked all of the difficult really difficult mathematical medicine my head and when I arrived at work the next day I just where did that come from so it was already but it was also very very stressful I mean that bike ride reminded me of all the tree shapes that I still had to cover and so many work so much work but at last the last last rides home were really really cool like I got you I cracked you I own you the Python API is very very good thanks it really works and but tabs have really pushed away the tool options I mean tool options are very important they are in a corner you have to press a little small little plus five by five pixels to find them so skip the rest so I had a very very quick proof of concept but it took many months to really create and I realized early on that this is going to take a lot of time so I had it I had it I took a risk I hold held off many freelance projects to get this finish because this was something I was really passionate about and it was the start of an adventure what's next a lot of obvious features that everyone wants I mean it's autumn now so I'm creating autumn twigs first but the lease will be so soon be gone and then I'll be adding new food features like more interesting trunk shapes and say creating a better interface for for handling multiple trees at once and like with time offsets with different species and at one time and of course breeze and wind that's what everyone wants but I'm trying to get a nice way to implement this without it being sucky so almost done yeah and after lunch I got so many many of the same questions like a lot of a lot of questions were on UV mapping and on branch resolution I've got a lot of response from games companies but I did not expect so the next release will it's almost done so I'm working on a new machine to replace the curves and it will have perfect UV on wrapping and nice root profiles and twisting of trunks and kept tips like everyone wanted kept tips and well that's it I have a 20% discount until tomorrow and if you have any questions I'm around and you can ask me for a demo for growing stuff and stuff yeah