Archives for category: Uncategorized

Movie making is an expensive business.  Blender Foundation’s upcoming short film Sintel is no different.  Luckily the Dutch Film Funds had just approved another grant to help extend the project to June 2010, this much-needed funding might even allowing them to hire more artists.

Seriously, if you haven’t pre-ordered the DVD, do it!   For 34.00 Euro, you get not only the movie, but every file, texture and asset that is used to create the movie.  Isn’t that super cool?  This DVD will probably be the best (and cheapest) learning resource for Blender you’ll ever find.

For those of you following the Blender development scene, you might realize we have reached a remarkable milestone today. The Blender source code has had its 25000th revision on November 29th, 2009. This means since October 2002, when Blender was released as an open source package, twenty-five-thousand individual commits had been made towards the Blender source code.

Although this arbitray number is no way a direct measurement of the enormous effort that went into the making of this great software package (some commits are one line patches while others are gigantic multi-project merges), nor does the number 25000 have anything to do with the release of Blender 2.5, I think it’s still an amazing accomplishment that we should all celebrate, artists and developers alike.

Blender SVN Commit per Day

October 2002 - November 2009

The above graph shows the commit frequency since Blender went open source in October 2002(including all branches).  Just look at that graph!  It’s going no where else but up!

The pie chart below shows the total commit broken down by author.  By no mean am I trying to belittle all the contributors who did not make it onto the list.  Blender is a community project, every single slice of pie is a contribution, no matter how small.  And again, a commit is not a direct measure of how much work one has put into it, so don’t read too much into it.

Author breakdown

October 2002 - November 2009

This milestone is really only made possible because of the collective contribution from the entire global Blender community.  If you are reading this, you probably already contributed something to the community, so give yourself a pat on the back.  Even if you have no coding experience?  You can buy Blender movies, books or gears.  No Money?  You can help out by documenting features on the wiki, or even just filing a report bugs can be extremely useful.

Today I will present a simple graphical guide to build Blender 2.5 on a Windows computer.  A lot of the instructions just need to be done one time, once you have a building environment setup, updating the build is a *really* simple process.  But if you just want a cutting-edge daily release, you can find those pre-compiled for you on Graphicall.org

Firstly, you will need a few piece of software: We are going to use Microsoft Visual Studio 2008 and Cmake to help us build Blender, and to fetch the source code from blender.org, we’ll also need a SVN client, I will use TortoiseSVN.

1. Get Visual Studio 2008. If you have access to a copy of Visual Studio, great!  But I heard the free Express Edition works too.  I went with a custom installation and this is all the components you’ll need to build Blender.

Custome Installation

2. Get CMake and install it.  It’s free.

3. Install TortoiseSVN, also free.

4. Once all the software are installed, we can begin to acquire the Blender source codes!  First, navigate to an empty directory and right click to do a SVN Checkout.  Use the following URL:

https://svn.blender.org/svnroot/bf-blender/trunk/blender

Put the source under C:\Blender\blender. Next, let’s also acquire the libraries needed to build Blender.  Do another check out with the following URL:

https://svn.blender.org/svnroot/bf-blender/trunk/lib/windows

Make sure you put the files under a directory like C:\Blender\lib\Windows.  If you want to make 64bit builds, also check out the 64bit libs:

 https://svn.blender.org/svnroot/bf-blender/trunk/lib/win64

Put that under C:\Blender\lib\Win64

04

Use TortoiseSVN to check-out the Blender Windows Library

Once you have done the 3 check-out, your directory structure should look like this, make sure all the folders and files are in the proper place, otherwise you will have a hard time building Blender:

Folder structure

Folder structure

5. Now that you have all the source files, it’s time to start the building process!

We are going to use CMake to generate a “solution” file for Visual Studio.  A solution is what Visual Studio would open to build the entire Blender. It’s a collection of smaller project, each project is a collection of source files.

Now open CMake, and In the top text box, type in where you put the Blender source code. (C:\Blender\blender, in my case)

In the second text box below it, select a fresh directory where you want the output file to go. I am using C:\Blender\build

Now click on Configure, this will bring up another dialog box where it asks you which generator to pick.  We are going to use Visual Studio 9 2008, or Visual Studio 9 2008 Win64, if you want to build a 64bit Blender.

CMake

Then CMake will populate the main window with a list of options that you can disable or enable.  The default selection is good, but if you want to speed up the building process, you can deselect certain options that you are not using.

Certain options might also be unavailable or broken on 64bit.  For example, if you are building a 64bit release, make sure you uncheck FFMPEG, JACK, and QUICKTIME, since there is no 64bit library for these media features yet.

CMake Options

For first timers, I would suggest unchecking all of these boxes to build a minimalist Blender.  It will be faster, smaller, and there is less chance of running into an error at compile time.  You can come back and re-enable these settings once your first build is successful.  Once you have made your selection, click on Configure at the bottom of the screen.  Then followed by clicking on Generate. These will generate the corresponding Visual Studio solution files in the directory you specified above.  (C:\blender\build\) in our case.  Close CMake.

6. Navigate to C:\blender\build, you should see the solution file you just generated.  Open “Blender.sln” with Visual Studio 2008.

Build folder

Once Visual Studio opens the solution, make sure you change the default build target from Debug to Release.  Otherwise you will end up with a debug build of Blender that is slower, bigger, and probably not helpful unless you are debugging.

Visual Studio 2008

After that, simply select Build Solution from the build menu.  After about 10 minutes of compiling and linking, a fully functional Blender installation should be ready under C:\Blender\build\Bin\Release.

As you probably heard by now, Blender 2.5 Alpha 0 is scheduled to be released sometime tomorrow. Meanwhile, there are already ‘unofficial’ builds popping up all over the place. My contribution towards this Blender 2.5 frenzy is a 64bit Windows Build of Blender 2.5 Alpha 0, made with Visual Studio 2008.

Edit:

Alpha 0 is officially out! I also made a x64 optimized build for Windows with the insanely fast Intel C++ Compiler.  It took me a while because as oppose to just turning on every single optimization flag, I took the time to profile the binary.

Profiling is another way to increase performance by optimizing the binary for ‘realworld use’.  See, when a compiler links all the source files, it has no idea which ones will really get used, and in what order.  So to train the compiler to be smarter about this, I first ran a instrumentation build of Blender through a couple of real world rendering tests, after a few hours of normal use, I got a performance database of how Blender actually gets used.  I then rebuilt Blender with this performance database as a guide, generating an optimized build that takes into account function call orders, data layout, etc…  Thanks to this awareness, the compiler can intelligently re-order the Bleneder binary so that all the related stuff goes together, so in a way, a profiled build of Blender can almost anticipate what you are going to do before you do it :D

Blender 2.5 Alpha benchmark

Enjoy.