🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Forest rendering

Published July 31, 2012
Advertisement
I've been on an art push lately. Today, I was fiddling around with the idea of using Blender's particle functionality to create large forests. It actually worked pretty well. The idea is that you create a terrain and attach a particle system to it. You can paint the terrain with vertex weights to control the distribution of trees. The particle system is set up as Hair, and set to use a tree mesh object as the particle primitive. By doing so, the forest takes advantage of instancing to keep memory usage low. I did a one-off, throwaway render as a test:

Buj0B.jpg

Using a quick terrain build using sculpt tools, painted with vertex weights and textured with a throwaway ground texture. The tree is one of the tree models from Goblinson Crusoe. I set the particle system to spawn 6000 particles (although a few trees are off screen). The tree is somewhere around 11k polys, but due to the instancing the memory usage never went over 240MB. There was plenty of RAM to spare. Rendering time was about 5 min. I think it looks pretty good for a one-off test.

Blender sure has come a long, long way from when I first picked it up years ago.

Edit: Changed some settings and re-rendered with 12,000 trees. 267MB max memory usage.

Mr5cn.jpg
I could see being able to render some pretty big forests. I'm going to bump it up to some crazy number and leave it rendering while I go to bed and see what happens.

Edit 2:

Bumped it up to 50,000 trees, and reduced the tree size just a tad. It rendered something like 1.15 billion faces.

t9mRG.jpg

Max memory usage was 307MB, and it took about 20 minutes. My computer is no powerhouse, but 20 min. isn't bad. I could of course improve it drastically by using multiple particle systems with further away zones using a lower-detail tree.

While I was waiting for this to render I did some googling. Turns out the newest versions of Blender have an experimental new rendered called the Cycles renderer, which is based upon Cuda/OpenCL (depending on your card). I understand the OpenCL renderer is still crappy, but I saw a thread by a guy that did a landscape in a similar fashion to what I'm doing here, with 18 billion total faces. Renders were anywhere in the range of 5 min to 45 min, depending on who was doing the testing. Cycles support is still pretty sketchy, and the renderer is still very experimental, but I could see that being pretty dang awesome.

Like I said, Blender sure has come a loooooong way.
5 likes 6 comments

Comments

HabitueGames
Looking good :)
August 01, 2012 12:14 AM
MARS_999
Very cool and looks awesome!!! Good work!!! Keep it up!
August 01, 2012 12:25 AM
Ashaman73
Pretty cool .
August 01, 2012 05:28 AM
popsoftheyear
Wow.
August 01, 2012 02:27 PM
NetGnome
Very slick JT
August 01, 2012 05:06 PM
Aardvajk
Nice and yes, I had a look at Blender recently and it is almost unrecognisable from when I last grappled with it.
August 02, 2012 08:01 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement