Blender 2.8 Beta
Nuovo script per compilare Blender 2.8. La prima versione mancava di alcune cose.
- non c’erano gli add-on che vanno scaricati da altri repository git.
- non avevo compilato un modulo per usare OpenSubdiv (quando me ne seono accorto la prima volta pensavo fosse un bug della versione…) versione 3.3.3
- ho aggiunto la dipendenza (opzionale) per Alembic versione 1.7.10
- ho aggiunto la dipendenza (opzionale) per Open Shading Language (OSL) versione 1.9.10
- ho aggiunto la dipendenza per OpenVDB versione 6.0.0
OpenSubdiv is a set of open source libraries that implement high performance subdivision surface (subdiv) evaluation on massively parallel CPU and GPU architectures. This code path is optimized for drawing deforming surfaces with static topology at interactive framerates.
OpenSubdiv is an API ready to be integrated into 3rd party digital content creation tools. It is not an application, nor a tool that can be used directly to create digital assets.
Alembic is an open computer graphics interchange framework. Alembic distills complex, animated scenes into a non-procedural, application-independent set of baked geometric results. This distillation’ of scenes into baked geometry is exactly analogous to the distillation of lighting and rendering scenes into rendered image data.
Open Shading Language (OSL) is a small but rich language for programmable shading in advanced renderers and other applications, ideal for describing materials, lights, displacement, and pattern generation.
OpenVDB is an Academy Award-winning open-source C++ library comprising a novel hierarchical data structure and a suite of tools for the efficient storage and manipulation of sparse volumetric data discretized on three-dimensional grids. It was developed by DreamWorks Animation for use in volumetric applications typically encountered in feature film production and is now maintained by the Academy Software Foundation (ASWF).
in allegato lo Slackbuilds, gli slackbuilds dlel dipendenze nel mio repository git
#!/bin/sh # Slackware build script for blender # Copyright 2015-16 Christoph Willing Brisbane, Australia # Copyright 2018 Giorgio Peron, Belluno, Italy # All rights reserved. # # Redistribution and use of this script, with or without modification, is # permitted provided that the following conditions are met: # # 1. Redistributions of this script must retain the above copyright # notice, this list of conditions and the following disclaimer. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. SRCNAM=blender PKGNAM=Blender VERSION=${VERSION:-2.8} GITVERSION=${GITVERSION:-275c627} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PYTHON_VERSION=$(python3 -c "import sys; print(sys.version[:3])") NUMJOBS=${NUMJOBS:-" -j7 "} if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i486 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac fi CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$SRCNAM OUTPUT=${OUTPUT:-/tmp} if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP # rm -rf $SRCNAM-$GITVERSION # tar xvf $CWD/$SRCNAM-$GITVERSION.tar.gz # cd $SRCNAM-$GITVERSION rm -rf $SRCNAM git clone git://git.blender.org/blender.git $SRCNAM cd $SRCNAM # retrieve submodule git submodule update --init --recursive git submodule foreach git checkout master git submodule foreach git pull --rebase origin master chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ -o -perm 511 \) -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; mkdir -p build cd build cmake ../ \ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS -DOPENVDB_3_ABI_COMPATIBLE" \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -DOPENVDB_3_ABI_COMPATIBLE" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DWITH_CXX11=ON \ -DWITH_INSTALL_PORTABLE:BOOL=OFF \ -DWITH_BUILDINFO:BOOL=ON \ -DWITH_OPENCOLLADA:BOOL=ON \ -DWITH_OPENCOLORIO:BOOL=ON \ -DPYTHON_VERSION=$PYTHON_VERSION \ -DWITH_PYTHON_INSTALL:BOOL=ON \ -DWITH_PYTHON_INSTALL_NUMPY:BOOL=ON \ -DWITH_CODEC_FFMPEG:BOOL=ON \ -DWITH_OPENAL:BOOL=ON \ -DWITH_JACK:BOOL=ON \ -DWITH_JACK_DYNLOAD:BOOL=ON \ -DPYTHON_LIBPATH:PATH=/usr/lib${LIBDIRSUFFIX} \ -DWITH_CODEC_SNDFILE:BOOL=ON \ -DWITH_FFTW3:BOOL=ON \ -DWITH_GAMEENGINE:BOOL=ON \ -DWITH_PLAYER:BOOL=ON \ -DWITH_IMAGE_OPENJPEG:BOOL=ON \ -DWITH_SYSTEM_OPENJPEG:BOOL=ON \ -DWITH_SYSTEM_LZO:BOOL=ON \ -DWITH_MEM_JEMALLOC:BOOL=ON \ -DWITH_MEM_VALGRIND:BOOL=ON \ -DWITH_MOD_OCEANSIM:BOOL=ON \ -DWITH_SDL:BOOL=ON \ -DWITH_SDL_DYNLOAD:BOOL=ON \ -DCMAKE_BUILD_TYPE=Release \ -DWITH_ALEMBIC=ON \ -DWITH_SYSTEM_GLEW=ON \ -DWITH_CYCLES_OPENSUBDIV=ON \ -DWITH_CYCLES_OSL=ON \ -DWITH_LLVM=ON \ -DWITH_IMAGE_OPENEXR=ON \ -DWITH_OPENSUBDIV=ON \ -DWITH_OPENVDB=ON \ -DWITH_OPENVDB_BLOSC=ON \ -DOPENVDB_3_ABI_COMPATIBLE=ON \ # -DWITH_CYCLES_CUDA_BINARIES=ON \ # -DCYCLES_CUDA_BINARIES_ARCH="sm_30;sm_35;sm_37;sm_50;sm_52;sm_60;sm_61;sm_62;sm_70" \ make $NUMJOBS make install DESTDIR=$PKG cd .. find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true BLENDERBINS="blender" for bin in $BLENDERBINS ; do mv $PKG/usr/bin/$bin $PKG/usr/bin/$bin.bin cat < $PKG/usr/bin/$bin #!/bin/sh export PYTHONPATH=/usr/share/$SRCNAM/$VERSION/python/lib$LIBDIRSUFFIX/python$PYTHON_VERSION export LD_LIBRARY_PATH=/usr/lib$LIBDIRSUFFIX/opencollada exec $bin.bin "\$@" EOF chmod 0755 $PKG/usr/bin/$bin done mkdir -p $PKG/usr/man/man1 ./doc/manpage/blender.1.py build/bin/blender $PKG/usr/man/man1/blender.1 find $PKG/usr/man -type f -exec gzip -9 {} \; for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION mv $PKG/usr/share/doc/$SRCNAM/* $PKG/usr/doc/$PKGNAM-$VERSION/ rm -rf $PKG/usr/share/doc cat $CWD/$PKGNAM.SlackBuild > $PKG/usr/doc/$PKGNAM-$VERSION/$PKGNAM.SlackBuild # Add a desktop menu entry mkdir -p $PKG/usr/share/applications cat $CWD/Blender.desktop > $PKG/usr/share/applications/Blender.desktop mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PKGNAM-${VERSION}git${GITVERSION}-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}