Learning about Blender
I’ve had an interest in 3D modeling since my high school days. This was most likely informed by my curiosity about how computer games and animations are made. I recently downloaded Blender to start toying with and hopefully teach my kids and I some animation skills. I settled on Blender (instead of 3DS Max, which was the first such product I used) because it is free. There are also some decent Blender tutorials on YouTube. Here’s the channel I started watching:
Building the Source Code
I decided to dig into the sources and see how easy it is to build Blender on Windows. Thankfully, there are detailed instructions – Building Blender/Windows – Blender Developer Wiki. The subversion client is the only one I don’t have installed on my desktop. Weird that they zipped the MSI for a 3% compression ratio (saving 211 KB on a 7232 KB MSI.
17:19:55.47 D:\dev\repos\other\blender> make update
Warning: Python not found, there is likely an issue with the library folder
No explicit msvc version requested, autodetecting version.
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.11.19
** Copyright (c) 2021 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
Compiler Detection successful, detected VS2019
The required external libraries in "D:\dev\repos\other\blender\..\lib\win64_vc15" are missing
Would you like to download them? (y/n)y
Downloading win64_vc15 libraries, please wait.
A D:\dev\repos\other\lib\win64_vc15\openpgl
A D:\dev\repos\other\lib\win64_vc15\openpgl\lib
A D:\dev\repos\other\lib\win64_vc15\openpgl\lib\cmake
A D:\dev\repos\other\lib\win64_vc15\openpgl\lib\cmake\openpgl-0.3.1
A D:\dev\repos\other\lib\win64_vc15\openpgl\include
...
A D:\dev\repos\other\lib\win64_vc15\vulkan\share\vulkan\registry\vkconventions.py
A D:\dev\repos\other\lib\win64_vc15\vulkan\share\vulkan\registry\validusage.json
A D:\dev\repos\other\lib\win64_vc15\wintab\include\wintab.h
U D:\dev\repos\other\lib\win64_vc15
Checked out revision 63049.
python not found, required for this operation
19:10:47.57 D:\dev\repos\other\blender>
Here’s the command line used to download the libraries:
"C:\Program Files\SlikSvn\bin\svn.exe" checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/win64_vc15 "D:\dev\repos\other\blender\..\lib\win64_vc15"
Run make update
again since it failed the first time because python was not found but it has now been checked out into the lib folder. Once that completes, run make
to build Blender. Interestingly, it fails because it can’t find CMake yet it said to open a plain cmd prompt. I work around this by switching to the VS 2019 Developer Command Prompt instead of updating my PATH and that unblocks the build.
21:08:42.26 D:\dev\repos\other\blender> make
No explicit msvc version requested, autodetecting version.
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.11.19
** Copyright (c) 2021 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
Compiler Detection successful, detected VS2019
Building blender with VS2019 for x64 in D:\dev\repos\other\blender\..\build_windows_x64_vc16_Release
-- Selecting Windows SDK version 10.0.22572.0 to target Windows 10.0.22621.
-- The C compiler identification is MSVC 19.29.30146.0
-- The CXX compiler identification is MSVC 19.29.30146.0
...
-- Installing: D:/dev/repos/other/build_windows_x64_vc16_Release/bin/Release/3.4/datafiles/usd/usdVolImaging/resources
-- Installing: D:/dev/repos/other/build_windows_x64_vc16_Release/bin/Release/3.4/datafiles/usd/usdVolImaging/resources/plugInfo.json
21:35:47.14 D:\dev\repos\other\blender>
This is a really smooth experience (compared to ahem, zlib). I’m amazed it built and generated a local install folder in less than half an hour. I could launch build_windows_x64_vc16_Release\bin\Release\blender.exe
, open the About Blender menu and see version 3.4.0 Alpha from hash 206dead86058. The release notes – Reference/Release Notes/3.4 – Blender Developer Wiki – are also quite useful, especially the Developer Intro!