diff options
author | bartus | 2020-05-04 02:56:24 +0200 |
---|---|---|
committer | bartus | 2020-05-04 03:33:58 +0200 |
commit | a70cc33f4191d13036c801abf56fc6e5cdc47e32 (patch) | |
tree | 587e27931332a149495bc59e6d8840e77232bd3f | |
parent | de41018f24f6b7b7917aa34deae90eb4b652b358 (diff) | |
download | aur-a70cc33f4191d13036c801abf56fc6e5cdc47e32.tar.gz |
Refactor.
-rw-r--r-- | .SRCINFO | 35 | ||||
-rw-r--r-- | PKGBUILD | 168 | ||||
-rw-r--r-- | addon_path.patch | 64 | ||||
-rw-r--r-- | blender.changelog | 121 | ||||
-rw-r--r-- | embree.patch | 43 | ||||
-rw-r--r-- | usd_python.patch | 26 |
6 files changed, 370 insertions, 87 deletions
@@ -1,25 +1,24 @@ pkgbase = blender-2.82-git - pkgdesc = Alpha version of Blender 2.82-release branch - pkgver = 2.82.r92134.f8cdc5ac4c0 + pkgdesc = Development version of Blender 2.8 branch + pkgver = 2.82.r92824.g375c7dc4caf pkgrel = 1 url = https://blender.org/ - install = blender.install + changelog = blender.changelog arch = i686 arch = x86_64 license = GPL + makedepends = ninja makedepends = git makedepends = cmake makedepends = boost makedepends = mesa makedepends = llvm - makedepends = ninja + depends = embree depends = alembic depends = libgl depends = python depends = python-numpy - depends = openjpeg - depends = desktop-file-utils - depends = hicolor-icon-theme + depends = openjpeg2 depends = ffmpeg depends = fftw depends = openal @@ -27,13 +26,13 @@ pkgbase = blender-2.82-git depends = libxi depends = openimageio depends = opencolorio - depends = openimagedenoise depends = openvdb depends = opencollada depends = opensubdiv depends = openshadinglanguage depends = libtiff depends = libpng + depends = openimagedenoise optdepends = cuda: CUDA support in Cycles provides = blender-2.82 conflicts = blender-2.82 @@ -42,15 +41,19 @@ pkgbase = blender-2.82-git source = blender-addons-contrib.git::git://git.blender.org/blender-addons-contrib.git source = blender-translations.git::git://git.blender.org/blender-translations.git source = blender-dev-tools.git::git://git.blender.org/blender-dev-tools.git - source = blender-2.8.desktop source = SelectCudaComputeArch.patch - md5sums = SKIP - md5sums = SKIP - md5sums = SKIP - md5sums = SKIP - md5sums = SKIP - md5sums = cd108dca1c77607c6a7cc45aa284ea97 - md5sums = 4441d9a6db38b85b7dc5c3c9e6872951 + source = usd_python.patch + source = embree.patch + source = addon_path.patch + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = SKIP + sha256sums = 66b9bf3db441f35119ef0eb5f855142f2e773e8002ac0216e056bcc6f8ac409c + sha256sums = 12bd6db5c1fe14244fd7321e3d740941a36aa545ec21b02325e7553c9214778a + sha256sums = 42afe119529a5350034a489225958112bf4b84bdee38757a932e5caaa9bd5ed4 + sha256sums = 81e0047ba48662ee0ec1da1ffd427641305a0edc68c7913da9460ae4c1fefe72 pkgname = blender-2.82-git @@ -1,28 +1,45 @@ +#!/bin/hint/bash # Maintainer : bartus <arch-user-repoᘓbartus.33mail.com> -# shellcheck disable=SC2034 +# shellcheck disable=SC2034,SC2154 # allow unused/unset variables +# shellcheck disable=SC2191 # preserve current _CMAKE_FLAGS initialization. -#to enforce cuda verison uncomment this line and update value of sm_xx model accordingly +# To force cuda compute arch uncomment this line and update value of sm_xx model accordingly #_cuda_capability+=(sm_30 sm_35 sm_37) #_cuda_capability+=(sm_50 sm_52 sm_60 sm_61 sm_70 sm_75) -((TRAVIS)) && _cuda_capability+=(sm_50 sm_52 sm_60 sm_61 sm_70 sm_75) # suppress 3.x to prevent Travis build exceed time limit. +((TRAVIS)) && _cuda_capability+=(sm_50 sm_52 sm_60 sm_61 sm_70 sm_75) # Travis memory limit is not enough to build for arch 3.x. -pkgname=blender-2.82-git +# Configuration. _fragment="#branch=blender-v2.82-release" -pkgver=2.82.r92134.f8cdc5ac4c0 +#some extra, unofficially supported stuff goes here: +_CMAKE_FLAGS+=( -DWITH_ALEMBIC_HDF5=ON ) +((DISABLE_EMBREE)) || { + _CMAKE_FLAGS+=( -DWITH_CYCLES_EMBREE=ON ) + depends+=(embree) +} +((DISABLE_USD)) || { + _CMAKE_FLAGS+=( -DWITH_USD=ON + -DUSD_ROOT=/usr ) + depends+=( usd=19.11 ) +} +((DISABLE_NINJA)) || makedepends+=('ninja') +#shellcheck disable=SC2015 +((DISABLE_CUDA)) && optdepends+=('cuda: CUDA support in Cycles') || { makedepends+=('cuda') ; ((DISABLE_OPTIX)) || makedepends+=('optix>=7.0'); } + +pkgname=blender-2.82-git +pkgver=2.82.r92824.g375c7dc4caf pkgrel=1 -pkgdesc="Alpha version of Blender 2.82-release branch" +pkgdesc="Development version of Blender 2.8 branch" +changelog=blender.changelog arch=('i686' 'x86_64') url="https://blender.org/" -depends=('alembic' 'libgl' 'python' 'python-numpy' 'openjpeg' 'desktop-file-utils' 'hicolor-icon-theme' - 'ffmpeg' 'fftw' 'openal' 'freetype2' 'libxi' 'openimageio' 'opencolorio' 'openimagedenoise' +depends+=('alembic' 'libgl' 'python' 'python-numpy' 'openjpeg2' + 'ffmpeg' 'fftw' 'openal' 'freetype2' 'libxi' 'openimageio' 'opencolorio' 'openvdb' 'opencollada' 'opensubdiv' 'openshadinglanguage' 'libtiff' 'libpng') -makedepends=('git' 'cmake' 'boost' 'mesa' 'llvm') -((DISABLE_NINJA)) || makedepends+=('ninja') -((DISABLE_CUDA)) && optdepends=('cuda: CUDA support in Cycles') || { makedepends+=('cuda') ; ((DISABLE_OPTIX)) || makedepends+=('optix>=7.0'); } +depends+=('openimagedenoise') +makedepends+=('git' 'cmake' 'boost' 'mesa' 'llvm') provides=("blender-${pkgver%%.r*}") conflicts=("blender-${pkgver%%.r*}") license=('GPL') -install=blender.install # NOTE: the source array has to be kept in sync with .gitmodules # the submodules has to be stored in path ending with git to match # the path in .gitmodules. @@ -33,99 +50,108 @@ source=("git://git.blender.org/blender.git${_fragment}" 'blender-addons-contrib.git::git://git.blender.org/blender-addons-contrib.git' 'blender-translations.git::git://git.blender.org/blender-translations.git' 'blender-dev-tools.git::git://git.blender.org/blender-dev-tools.git' - blender-2.8.desktop SelectCudaComputeArch.patch + usd_python.patch #add missing python headers when building against python enabled usd. + embree.patch #add missing embree link. + addon_path.patch ) -md5sums=('SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'SKIP' - 'cd108dca1c77607c6a7cc45aa284ea97' - '4441d9a6db38b85b7dc5c3c9e6872951') +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + '66b9bf3db441f35119ef0eb5f855142f2e773e8002ac0216e056bcc6f8ac409c' + '12bd6db5c1fe14244fd7321e3d740941a36aa545ec21b02325e7553c9214778a' + '42afe119529a5350034a489225958112bf4b84bdee38757a932e5caaa9bd5ed4' + '81e0047ba48662ee0ec1da1ffd427641305a0edc68c7913da9460ae4c1fefe72') pkgver() { - cd "$srcdir/blender" - printf "%s.r%s.%s" "$(grep -Po "BLENDER_VERSION \K[0-9]{3}" source/blender/blenkernel/BKE_blender_version.h|sed 's/./&./1')" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" + blender_version=$(grep -Po "BLENDER_VERSION \K[0-9]{3}" "$srcdir"/blender/source/blender/blenkernel/BKE_blender_version.h) + printf "%d.%d.r%s.g%s" \ + $((blender_version/100)) \ + $((blender_version%100)) \ + "$(git -C "$srcdir/blender" rev-list --count HEAD)" \ + "$(git -C "$srcdir/blender" rev-parse --short HEAD)" } prepare() { - cd "$srcdir/blender" # update the submodules - git submodule update --init --recursive --remote - if [ -z "$_cuda_capability" ] && grep -q nvidia <(lsmod); then - git apply -v ${srcdir}/SelectCudaComputeArch.patch + git -C "$srcdir/blender" submodule update --init --recursive --remote + if [ ! -v _cuda_capability ] && grep -q nvidia <(lsmod); then + git -C "$srcdir/blender" apply -v "${srcdir}"/SelectCudaComputeArch.patch + fi + ((DISABLE_USD)) || git -C "$srcdir/blender" apply -v "${srcdir}"/usd_python.patch + ((DISABLE_EMBREE)) || git -C "$srcdir/blender" apply -v "${srcdir}"/embree.patch + if [[ -v _sufix ]]; then + git apply -v <(sed "s/@@_sufix@@/${_sufix}/g" "${srcdir}/addon_path.patch") fi } build() { - mkdir -p "$srcdir/blender-build" - cd "$srcdir/blender-build" - _pyver=$(python -c "from sys import version_info; print(\"%d.%d\" % (version_info[0],version_info[1]))") msg "python version detected: ${_pyver}" # determine whether we can precompile CUDA kernels - _CUDA_PKG=`pacman -Qq cuda 2>/dev/null` || true - if [ "$_CUDA_PKG" != "" ] && ! ((DISABLE_CUDA)) ; then - _EXTRAOPTS=( -DWITH_CYCLES_CUDA_BINARIES=ON - -DCUDA_TOOLKIT_ROOT_DIR=/opt/cuda - -DOPTIX_ROOT_DIR=/opt/optix ) - if [ -v _cuda_capability ]; then - _EXTRAOPTS+=(-DCYCLES_CUDA_BINARIES_ARCH=$(IFS=';'; echo "${_cuda_capability[*]}";)) - fi - [ -f "/usr/lib/ccache/bin/nvcc-ccache" ] && _CMAKE_FLAGS+=( -DCUDA_NVCC_EXECUTABLE=/usr/lib/ccache/bin/nvcc-ccache ) - if _cuda_gcc=$(basename $(readlink /opt/cuda/bin/gcc)) ; then - [ -L "/usr/lib/ccache/bin/$_cuda_gcc" ] && _CMAKE_FLAGS+=( -DCUDA_HOST_COMPILER=/usr/lib/ccache/bin/$_cuda_gcc ) - fi + if pacman -Qq cuda 2>&- ; then + _CMAKE_FLAGS+=( -DWITH_CYCLES_CUDA_BINARIES=ON + -DCUDA_TOOLKIT_ROOT_DIR=/opt/cuda ) + ((DISABLE_OPTIX)) || _CMAKE_FLAGS+=( -DOPTIX_ROOT_DIR=/opt/optix ) + if [[ -v _cuda_capability ]]; then + _CMAKE_FLAGS+=( -DCYCLES_CUDA_BINARIES_ARCH="$(IFS=';'; echo "${_cuda_capability[*]}";)" ) + fi + [ -f "/usr/lib/ccache/bin/nvcc-ccache" ] && _CMAKE_FLAGS+=( -DCUDA_NVCC_EXECUTABLE=/usr/lib/ccache/bin/nvcc-ccache ) + if _cuda_gcc=$(basename "$(readlink /opt/cuda/bin/gcc)") ; then + [ -L "/usr/lib/ccache/bin/$_cuda_gcc" ] && _CMAKE_FLAGS+=( -DCUDA_HOST_COMPILER=/usr/lib/ccache/bin/"$_cuda_gcc" ) + fi fi ((DISABLE_NINJA)) && generator="Unix Makefiles" || generator="Ninja" - cmake -G "$generator" "$srcdir/blender" \ - -C${srcdir}/blender/build_files/cmake/config/blender_release.cmake \ + cmake -G "$generator" -S "$srcdir/blender" -B "$srcdir/build" \ + -C "${srcdir}/blender/build_files/cmake/config/blender_release.cmake" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DWITH_INSTALL_PORTABLE=OFF \ -DWITH_SYSTEM_GLEW=ON \ -DWITH_PYTHON_INSTALL=OFF \ - -DPYTHON_VERSION=${_pyver} \ - ${_EXTRAOPTS[@]} + -DPYTHON_VERSION="${_pyver}" \ + "${_CMAKE_FLAGS[@]}" export NINJA_STATUS="[%p | %f<%r<%u | %cbps ] " - ((DISABLE_NINJA)) && make || ninja $([ -v MAKEFLAGS ] || echo -j1) -d stats +# shellcheck disable=SC2086 # allow MAKEFLAGS to split when multiple flags provided. + if ((DISABLE_NINJA)); then make -C "$srcdir/build" ; else ninja -C "$srcdir/build" ${MAKEFLAGS:--j1}; fi } package() { - cd "$srcdir/blender-build" - ((DISABLE_NINJA)) && make install DESTDIR="$pkgdir" || DESTDIR="$pkgdir" ninja install - - msg "add -${pkgver%%.r*} sufix to desktop shortcut" - sed -i "s/=blender/=blender-${pkgver%%.r*}/g" ${pkgdir}/usr/share/applications/blender.desktop - sed -i "s/=Blender/=Blender-${pkgver%%.r*}/g" ${pkgdir}/usr/share/applications/blender.desktop - mv ${pkgdir}/usr/share/applications/blender.desktop ${pkgdir}/usr/share/applications/blender-${pkgver%%.r*}.desktop + _suffix=${pkgver%%.r*} + export DESTDIR="$pkgdir" + if ((DISABLE_NINJA)); then make -C "$srcdir/build" install; else ninja -C "$srcdir/build" install; fi + + msg "add -${_suffix} suffix to desktop shortcut" + sed -i "s/=blender/=blender-${_suffix}/g" "${pkgdir}/usr/share/applications/blender.desktop" + sed -i "s/=Blender/=Blender-${_suffix}/g" "${pkgdir}/usr/share/applications/blender.desktop" + mv "${pkgdir}/usr/share/applications/blender.desktop" "${pkgdir}/usr/share/applications/blender-${_suffix}.desktop" - msg "add -${pkgver%%.r*} sufix to binaries" - mv ${pkgdir}/usr/bin/blender ${pkgdir}/usr/bin/blender-${pkgver%%.r*} - mv ${pkgdir}/usr/bin/blender-thumbnailer.py ${pkgdir}/usr/bin/blender-${pkgver%%.r*}-thumbnailer.py -# mv ${pkgdir}/usr/bin/blenderplayer ${pkgdir}/usr/bin/blenderplayer-${pkgver%%.r*} + msg "add -${_suffix} suffix to binaries" + mv "${pkgdir}/usr/bin/blender" "${pkgdir}/usr/bin/blender-${_suffix}" + mv "${pkgdir}/usr/bin/blender-thumbnailer.py" "${pkgdir}/usr/bin/blender-${_suffix}-thumbnailer.py" - msg "mv doc/blender to doc/blender-${pkgver%%.r*}" - mv ${pkgdir}/usr/share/doc/blender ${pkgdir}/usr/share/doc/blender-${pkgver%%.r*} + msg "mv doc/blender to doc/blender-${_suffix}" + mv "${pkgdir}/usr/share/doc/blender" "${pkgdir}/usr/share/doc/blender-${_suffix}" - msg "add -${pkgver%%.r*} sufix to man page" - mv ${pkgdir}/usr/share/man/man1/blender.1 ${pkgdir}/usr/share/man/man1/blender-${pkgver%%.r*} + msg "add -${_suffix} suffix to man page" + mv "${pkgdir}/usr/share/man/man1/blender.1" "${pkgdir}/usr/share/man/man1/blender-${_suffix}.1" - msg "add -${pkgver%%.r*} sufix to all icons" - for icon in `find ${pkgdir}/usr/share/icons -type f` - do - # ${filename##/*.} extra extenssion from path - # ${filename%.*} extract filename form path - # look at bash "manipulatin string" - mv $icon ${icon%.*}-${pkgver%%.r*}.${icon##/*.} - done + msg "add -${_suffix} suffix to all icons" + while read -r icon + do + # ${filename##/*.} extra extenssion from path + # ${filename%.*} extract filename form path + # look at bash "manipulatin string" + mv "$icon" "${icon%.*}-${_suffix}.${icon##/*.}" + done < <(find "${pkgdir}/usr/share/icons" -type f) - if [ -e "$pkgdir"/usr/share/blender/*/scripts/addons/cycles/lib/ ] ; then + if [[ -e "$pkgdir/usr/share/blender/${_suffix}/scripts/addons/cycles/lib/" ]] ; then # make sure the cuda kernels are not stripped - chmod 444 "$pkgdir"/usr/share/blender/*/scripts/addons/cycles/lib/* + chmod 444 "$pkgdir"/usr/share/blender/${_suffix}/scripts/addons/cycles/lib/* fi } # vim:set sw=2 ts=2 et: diff --git a/addon_path.patch b/addon_path.patch new file mode 100644 index 000000000000..9b21afdf2045 --- /dev/null +++ b/addon_path.patch @@ -0,0 +1,64 @@ +diff --git a/intern/ghost/intern/GHOST_SystemPathsUnix.cpp b/intern/ghost/intern/GHOST_SystemPathsUnix.cpp +index 8fd6aee28da..99d61882451 100644 +--- a/intern/ghost/intern/GHOST_SystemPathsUnix.cpp ++++ b/intern/ghost/intern/GHOST_SystemPathsUnix.cpp +@@ -56,7 +56,7 @@ const GHOST_TUns8 *GHOST_SystemPathsUnix::getSystemDir(int, const char *versions + { + /* no prefix assumes a portable build which only uses bundled scripts */ + if (static_path) { +- static string system_path = string(static_path) + "/blender/" + versionstr; ++ static string system_path = string(static_path) + "/blender/" + versionstr + "_@@_sufix@@"; + return (GHOST_TUns8 *)system_path.c_str(); + } + +@@ -77,7 +77,7 @@ const GHOST_TUns8 *GHOST_SystemPathsUnix::getUserDir(int version, const char *ve + last_version = version; + + if (home) { +- user_path = string(home) + "/.blender/" + versionstr; ++ user_path = string(home) + "/.blender/" + versionstr + "_@@_sufix@@"; + } + else { + return NULL; +@@ -92,7 +92,7 @@ const GHOST_TUns8 *GHOST_SystemPathsUnix::getUserDir(int version, const char *ve + last_version = version; + + if (home) { +- user_path = string(home) + "/blender/" + versionstr; ++ user_path = string(home) + "/blender/" + versionstr + "_@@_sufix@@"; + } + else { + home = getenv("HOME"); +@@ -100,7 +100,7 @@ const GHOST_TUns8 *GHOST_SystemPathsUnix::getUserDir(int version, const char *ve + if (home == NULL) + home = getpwuid(getuid())->pw_dir; + +- user_path = string(home) + "/.config/blender/" + versionstr; ++ user_path = string(home) + "/.config/blender/" + versionstr + "_@@_sufix@@"; + } + } + +diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt +index 8fb04c320a0..3102752ec97 100644 +--- a/source/creator/CMakeLists.txt ++++ b/source/creator/CMakeLists.txt +@@ -303,15 +303,15 @@ endif() + if(UNIX AND NOT APPLE) + if(WITH_PYTHON_MODULE) + if(WITH_INSTALL_PORTABLE) +- set(TARGETDIR_VER ${BLENDER_VERSION}) ++ set(TARGETDIR_VER ${BLENDER_VERSION}_@@_sufix@@) + else() +- set(TARGETDIR_VER ${PYTHON_SITE_PACKAGES}/${BLENDER_VERSION}) ++ set(TARGETDIR_VER ${PYTHON_SITE_PACKAGES}/${BLENDER_VERSION}_@@_sufix@@) + endif() + else() + if(WITH_INSTALL_PORTABLE) +- set(TARGETDIR_VER ${BLENDER_VERSION}) ++ set(TARGETDIR_VER ${BLENDER_VERSION}_@@_sufix@@) + else() +- set(TARGETDIR_VER share/blender/${BLENDER_VERSION}) ++ set(TARGETDIR_VER share/blender/${BLENDER_VERSION}_@@_sufix@@) + endif() + endif() + diff --git a/blender.changelog b/blender.changelog new file mode 100644 index 000000000000..faaba343d6be --- /dev/null +++ b/blender.changelog @@ -0,0 +1,121 @@ +# Version 2.82 stable. +[release notes](https://wiki.blender.org/wiki/Reference/Release_Notes/2.82) +- Smoke and Liquid: new, particle based solver [Mantaflow](http://mantaflow.com/). +- Cloth: internal air pressure. +- Cloth: internal springs [diff](https://developer.blender.org/D5788). +- Cycles: Optix denoiser. +- Cycles: custom render passes. +- Eevee: viewport render passes [diff](https://developer.blender.org/D6331). +- Texturing: UDIM [task](https://developer.blender.org/T72390). +- Sculpt: Slide,Relex [diff](https://developer.blender.org/D6059). +- Sculpt: Multiplane Scrape [diff](https://developer.blender.org/D6174). +- Sculpt: Slice mesh with mask tool. +- Grease Pencil: Multiple Stroke Modifier. +- Mesh: Custom Bevel Profile. +- Mesh: Weld Modifier. +- VFX: New USD exporter +- VFX: glTF improvements +- VFX: Alembic mesh normals export. + +# Version 2.81 +[release notes](https://wiki.blender.org/wiki/Reference/Release_Notes/2.81) +- Cycles: Nvidia Optix [task](https://developer.blender.org/T69800) +- Cycles: Intel Oidn [diff](https://developer.blender.org/D4304) +- Cycles: Osd edge stitching. +- Cycles: Viewport render passes. +- Shading: 4D noises. +- Shading: vertex color. +- Shading: volume info. +- Eevee: Shadow refactor [diff](https://developer.blender.org/D5659). +- Eevee: Transparent BSDF congruent to Cycles. +- Eevee: Holdout shader. +- Viewport: HDRI studio light. +- Viewport: per viewport visibility selection [task](https://developer.blender.org/T61327). +- Viewport: OpenEXR matcaps with separate diffuse/specular layers. +- Grease Pencil: Self overlapping material. +- Grease Pencil: Smooth stroke endings. +- Grease Pencil: New brushes. +- Grease Pencil: New snapping. +- Grease Pencil: New stroke form curve. +- Grease Pencil: New merge by distance. +- Grease Pencil: New simplify sample. +- Sculpting: Pose brush [diff](https://developer.blender.org/D5647). +- Sculpting: Transform around pivot with symmetry. +- Sculpting: Draw sharp brush. +- Sculpting: Cursor follow normal and shows symmetry. +- Sculpting: Stroke point even distance. +- Sculpting: Auto-masking. +- Sculpting: Dynamic mesh preview. +- Sculpting: Mask Filter. +- Sculpting: Dirty Mask. +- Sculpting: Mask expand with curvature limits. +- Sculpting: Mask to object. +- Sculpting: Voxel remesher [diff](https://developer.blender.org/D5407). +- Sculpting: [QuadriFlow](https://github.com/hjwdzh/QuadriFlow) remesher. +- UI: <f2> - rename active element. +- UI: <c-f2> - Batch rename. +- UI: Parent dnd for multiple objects. +- UI: Selection sync. +- UI: New pop-up file browser. +- UI: Industry compatible key map. +- Blenlib: New library override [task](https://developer.blender.org/T53500). +- Animation: Copy as new driver. + +# Version 2.80 +[release notes](https://wiki.blender.org/wiki/Reference/Release_Notes/2.80) +- UI: New collection system in place of layers. +- UI: New outliner. +- UI: New view layers in palace of render layers. +- UI: Blender default key map. +- UI: Left click select new default. +- UI: Re-theme. +- UI: <q> - context quick favorite. +- UI: New file UI templates. +- UI: New workspaces. +- UI: New object gizmos. +- UI: New tools with gizmos. +- UI: New context status bar. +- UI: Single column layout. +- UI: New pop overs. +- UI: New pie menus. +- Eevee: Principled BSDF. +- Eevee: Env lightning with HDRI. +- Eevee: Screen-space reflection and refraction. +- Eevee: Indirect lighting with light probes. +- Eevee: Soft and contact shadows. +- Eevee: SSS and volume rendering. +- Eevee: Dof, bloom, motion blur for camera. +- Eevee: Shader to RGB node. +- Eevee: Light probes. +- Eevee: Light cache. +- Eevee: Ground truth ambient occlusion. +- Viewport: Workbench engine. +- Viewport: Overlays. +- Viewport: Look dev - material preview. +- Viewport: Volume preview. +- Grease Pencil: New 2d Animation. +- Cycles: Principled hair BSDF [doc](https://docs.blender.org/manual/en/2.80/render/shader_nodes/shader/hair_principled.html). +- Cycles: Principled volume [doc](https://docs.blender.org/manual/en/2.80/render/shader_nodes/shader/volume_principled.html). +- Cycles: Cryptomate. +- Cycles: Random walk SSS. +- Cycles: Vector Displacement. +- Cycles: New adaptive subdivision dicing scheme. +- Cycles: Bevel shader. +- Cycles: AO shader. +- Cycles: IES light node. +- Cycles: New baking anti aliasing. +- Cycles: New area light shapes. +- Cycles: Transparent film rendering for glass. +- Cycles: Motion blur arbitrary sample count. +- Cycles: Combined CPU and GPU rendering. +- Cycles: CUDA small tiles optimization. +- Cycles: CUDA object streaming for out of gRAM rendering. +- Cycles: CUDA minimum version bump to 3.x +- Mesh: New multi object editing. +- Mesh: Custom normal maps. +- Animation: Pop over driver editor. +- Blenlib: New dependency graph for parallelization. +- Blenlib: New unit system. +- Physics: New cloth bending springs. +- Physics: New cloth collisions. + diff --git a/embree.patch b/embree.patch new file mode 100644 index 000000000000..bed0b39e744c --- /dev/null +++ b/embree.patch @@ -0,0 +1,43 @@ +diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt +index d9a2ebf8571..f3b7d156024 100644 +--- a/intern/cycles/blender/CMakeLists.txt ++++ b/intern/cycles/blender/CMakeLists.txt +@@ -66,6 +66,12 @@ if(WITH_CYCLES_LOGGING) + ) + endif() + ++if(WITH_CYCLES_EMBREE) ++ list(APPEND LIB ++ ${EMBREE_LIBRARIES} ++ ) ++endif() ++ + set(ADDON_FILES + addon/__init__.py + addon/engine.py +diff --git a/build_files/cmake/Modules/FindEmbree.cmake b/build_files/cmake/Modules/FindEmbree.cmake +index d9d525d4586..03b509a28f3 100644 +--- a/build_files/cmake/Modules/FindEmbree.cmake ++++ b/build_files/cmake/Modules/FindEmbree.cmake +@@ -72,7 +72,7 @@ ENDFOREACH() + + FIND_LIBRARY(EMBREE_LIBRARY + NAMES +- libembree3 ++ embree3 + HINTS + ${_embree_SEARCH_DIRS} + PATH_SUFFIXES +@@ -83,10 +83,10 @@ FIND_LIBRARY(EMBREE_LIBRARY + # all listed variables are TRUE + INCLUDE(FindPackageHandleStandardArgs) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(EMBREE DEFAULT_MSG +- _embree_LIBRARIES EMBREE_INCLUDE_DIR) ++ EMBREE_LIBRARY EMBREE_INCLUDE_DIR) + + IF(EMBREE_FOUND) +- SET(EMBREE_LIBRARIES ${_embree_LIBRARIES}) ++ SET(EMBREE_LIBRARIES ${EMBREE_LIBRARY}) + SET(EMBREE_INCLUDE_DIRS ${EMBREE_INCLUDE_DIR}) + ENDIF(EMBREE_FOUND) + diff --git a/usd_python.patch b/usd_python.patch new file mode 100644 index 000000000000..a72d75cd6f0e --- /dev/null +++ b/usd_python.patch @@ -0,0 +1,26 @@ +diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake +index ac570f17e47..505aa97934c 100644 +--- a/build_files/cmake/platform/platform_unix.cmake ++++ b/build_files/cmake/platform/platform_unix.cmake +@@ -320,6 +320,9 @@ if(WITH_BOOST) + if(WITH_OPENVDB) + list(APPEND __boost_packages iostreams) + endif() ++ if(WITH_USD) ++ list(APPEND __boost_packages python27) ++ endif() + list(APPEND __boost_packages system) + find_package(Boost 1.48 COMPONENTS ${__boost_packages}) + if(NOT Boost_FOUND) +diff --git a/source/blender/usd/CMakeLists.txt b/source/blender/usd/CMakeLists.txt +index 6ea02f44d76..0ec18e17689 100644 +--- a/source/blender/io/usd/CMakeLists.txt ++++ b/source/blender/io/usd/CMakeLists.txt +@@ -48,6 +48,7 @@ set(INC + set(INC_SYS + ${USD_INCLUDE_DIRS} + ${BOOST_INCLUDE_DIR} ++ ${PYTHON_INCLUDE_DIRS} + ${TBB_INCLUDE_DIR} + ) + |