MZEQZDA4T5TSHLRMYJ65F2E7EVL5C4C7TKK5O4SGSPHQAW23HHBAC
--- USD-22.11/pxr/imaging/hgiInterop/CMakeLists.txt
+++ USD-22.11/pxr/imaging/hgiInterop/CMakeLists.txt
@@ -20,6 +20,10 @@ if (PXR_ENABLE_METAL_SUPPORT)
list(APPEND optionalLibraries ${COREVIDEO_LIBRARY} hgiMetal)
list(APPEND optionalCppFiles metal.mm)
list(APPEND optionalPrivateHeaders metal.h)
+elseif(PXR_ENABLE_VULKAN_SUPPORT)
+ list(APPEND optionalLibraries hgiVulkan)
+ list(APPEND optionalCppFiles vulkan.cpp)
+ list(APPEND optionalPrivateHeaders vulkan.h)
else()
# No OpenGL-to-OpenGL interop when using Metal.
list(APPEND optionalCppFiles opengl.cpp)
--- tinygltf-2.8.2/CMakeLists.txt.org 2023-01-16 14:37:51.135587444 +0100
+++ tinygltf-2.8.2/CMakeLists.txt 2023-01-16 14:46:27.883721729 +0100
@@ -58,9 +58,9 @@
if (TINYGLTF_INSTALL)
install(TARGETS tinygltf EXPORT tinygltfTargets)
- install(EXPORT tinygltfTargets NAMESPACE tinygltf:: FILE TinyGLTFTargets.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
- configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/TinyGLTFConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/TinyGLTFConfig.cmake INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/TinyGLTFConfig.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
+ install(EXPORT tinygltfTargets NAMESPACE tinygltf:: FILE TinyGLTFTargets.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/TinyGLTF)
+ configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/TinyGLTFConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/TinyGLTFConfig.cmake INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/TinyGLTF)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/TinyGLTFConfig.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/TinyGLTF)
# Do not install .lib even if !TINYGLTF_HEADER_ONLY
INSTALL ( FILES
--- opensubdiv-3.5.0-checkout/opensubdiv/osd/hlslPatchCommon.hlsl.org 2023-01-13 10:02:01.555369539 +0100
+++ opensubdiv-3.5.0-checkout/opensubdiv/osd/hlslPatchCommon.hlsl 2023-01-13 10:02:13.371253791 +0100
@@ -62,7 +62,6 @@
float4x4 OsdModelViewProjectionMatrix();
float OsdTessLevel();
int OsdGregoryQuadOffsetBase();
-int OsdPrimitiveIdBase();
int OsdBaseVertex();
#ifndef OSD_DISPLACEMENT_CALLBACK
@@ -94,7 +93,7 @@
int OsdGetPatchIndex(int primitiveId)
{
- return (primitiveId + OsdPrimitiveIdBase());
+ return primitiveId;
}
int3 OsdGetPatchParam(int patchIndex)
--- opensubdiv-3.5.0-checkout/opensubdiv/osd/glslPatchCommon.glsl.org 2023-01-13 10:05:04.973569914 +0100
+++ opensubdiv-3.5.0-checkout/opensubdiv/osd/glslPatchCommon.glsl 2023-01-13 10:05:59.513033628 +0100
@@ -111,7 +111,6 @@
mat4 OsdModelViewProjectionMatrix();
float OsdTessLevel();
int OsdGregoryQuadOffsetBase();
-int OsdPrimitiveIdBase();
int OsdBaseVertex();
#ifndef OSD_DISPLACEMENT_CALLBACK
@@ -139,7 +138,7 @@
int OsdGetPatchIndex(int primitiveId)
{
- return (primitiveId + OsdPrimitiveIdBase());
+ return primitiveId;
}
ivec3 OsdGetPatchParam(int patchIndex)
--- Aurora-22.12/CMakeLists.txt.org 2023-01-16 10:27:09.275249271 +0100
+++ Aurora-22.12/CMakeLists.txt 2023-01-16 10:25:59.527882462 +0100
@@ -63,7 +63,6 @@
if (EXTERNALS_CONFIG)
message(STATUS "Load externals config file: ${EXTERNALS_CONFIG}")
else()
- message(FATAL_ERROR "Failed to load externals config file. If you have run `installExternals.py` from an early release, please re-run the script to generate the externals and the config file. Run `python Scripts/installExternals.py -h` to learn more options.")
endif()
#Setup the backend flags used by Aurora libray and tests.
--- Aurora-22.12/CMakeLists.txt.org 2023-01-16 15:16:49.550520017 +0100
+++ Aurora-22.12/CMakeLists.txt 2023-01-16 15:16:52.830497835 +0100
@@ -53,7 +53,7 @@
add_compile_options(/MP)
else()
# Enables strict standard conformance and warning as errors
- add_compile_options(-Wall -Wextra -Wpedantic -Werror -Wno-unknown-pragmas -Wno-gnu-zero-variadic-macro-arguments)
+ add_compile_options(-Wall -Wextra -Wpedantic -Wno-unknown-pragmas -Wno-gnu-zero-variadic-macro-arguments)
endif()
include(externalsConfig OPTIONAL RESULT_VARIABLE EXTERNALS_CONFIG)
(define-module (vfx packages usd)
#:use-module (gnu packages)
#:use-module (gnu packages commencement)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages boost)
#:use-module (gnu packages tbb)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages xorg)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages qt)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages compression)
#:use-module (gnu packages graphics)
#:use-module (gnu packages documentation)
#:use-module (guix)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module ((guix licenses) #:prefix licenses:))
(define-public python-pyside-6-tools
(package
(name "python-pyside-6-tools")
(version (package-version python-shiboken-6))
(source (package-source python-shiboken-6))
(build-system cmake-build-system)
(native-inputs
(list python-wrapper qtbase qtdeclarative qttools))
(inputs
(list python-pyside-6 python-shiboken-6))
(arguments
(list
#:tests? #f
#:configure-flags
#~(list "-DBUILD_TESTS=off"
(string-append "-DPYTHON_EXECUTABLE="
(search-input-file %build-inputs
"/bin/python")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'go-to-source-dir
(lambda _ (chdir "sources/pyside-tools")))
(add-after 'go-to-source-dir 'set-paths-for-guix
(lambda _
(substitute* "CMakeLists.txt"
(("\\$\\{LIBEXEC_PATH\\}/qmltyperegistrar")
(string-append
(assoc-ref %build-inputs "qtdeclarative")
"/lib/qt6/libexec/qmltyperegistrar"))
(("\\$\\{TOOLS_PATH\\}/lrelease")
(string-append
(assoc-ref %build-inputs "qttools")
"/bin/lrelease"))
(("\\$\\{TOOLS_PATH\\}/lupdate")
(string-append
(assoc-ref %build-inputs "qttools")
"/bin/lupdate"))
(("\\$\\{TOOLS_PATH\\}/qmllint")
(string-append
(assoc-ref %build-inputs "qtdeclarative")
"/bin/qmllint"))
(("\\$\\{TOOLS_PATH\\}/assistant")
(string-append
(assoc-ref %build-inputs "qttools")
"/bin/assistant"))
(("\\$\\{TOOLS_PATH\\}/designer")
(string-append
(assoc-ref %build-inputs "qttools")
"/bin/designer"))
(("\\$\\{TOOLS_PATH\\}/linguist")
(string-append
(assoc-ref %build-inputs "qttools")
"/bin/linguist"))))))))
(home-page "https://wiki.qt.io/Qt_for_Python")
(synopsis
"Command line tools for PySide6")
(description
"Python-pyside-6-tools contains lupdate, rcc and uic tools for PySide6")
(license licenses:gpl2)))
(define-public opensubdiv-3.5.0
(package
(name "opensubdiv")
(version "3.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/PixarAnimationStudios/OpenSubdiv")
(file-name (git-file-name name version))
(sha256
(base32
(build-system cmake-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-before 'configure 'set-glew-location
(lambda* (#:key inputs #:allow-other-keys)
(setenv "GLEW_LOCATION" (assoc-ref inputs "glew"))
#t))
(add-before 'check 'start-xorg-server
(lambda* (#:key inputs #:allow-other-keys)
;; The test suite requires a running X server.
(system "Xvfb :1 &")
(setenv "DISPLAY" ":1")
#t)))))
(native-inputs
(list xorg-server-for-tests))
(inputs
libxrandr
libxcursor
libxinerama
libxi
zlib
glfw))
(home-page "https://graphics.pixar.com/opensubdiv/")
(synopsis "High performance subdivision surface evaluation")
(description "OpenSubdiv is a set of libraries that implement high
performance subdivision surface (subdiv) evaluation on massively parallel CPU
and GPU architectures.")
(license licenses:asl2.0)))
(define-public materialx
(package
(name "materialx")
(version "1.38.6")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/AcademySoftwareFoundation/MaterialX/releases/"
"download/v" version "/MaterialX-" version ".tar.gz"))
(sha256
;;(base32 "1rrbcmlg40lb19zlfggr46yi2zv13gbx69pj60rcs9qnd76f26ma")))) ;; 1.38.4
(base32 "10y19ia12bcz43ccji8n8xflnd4jmkwfrwd15x9080499mwfhass")))) ;; 1.38.6
(build-system cmake-build-system)
(arguments
'(#:tests? #f))
(inputs
(list libx11 libxt mesa glu))
(home-page "https://materialx.org/")
(synopsis "MaterialX rich computer graphic materials open standard")
(description "MaterialX is an open standard for representing rich material
and look-development content in computer graphics, enabling its
platform independent description
and exchange across applications and renderers.")
(license licenses:asl2.0)))
(define-public usd
(package
(name "usd")
(version "22.11")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/PixarAnimationStudios/USD/"
"archive/refs/tags/v" version ".tar.gz"))
(sha256 (base32 "1bma37dj2sxwdgp1bsnbhywigx8kqwn2gzp2jjg5lf5rbd3jcj7k"))
(build-system cmake-build-system)
(arguments
`(#:tests? #f
#:validate-runpath? #f
#:configure-flags
(list "-DBUILD_SHARED_LIBS=ON"
"-DTBB_USE_DEBUG_BUILD=OFF"
"-DPXR_PREFER_SAFETY_OVER_SPEED=OFF"
"-DPXR_ENABLE_VULKAN_SUPPORT=OFF"
;; so far causing segmentation fault when importing pxr.Usdviewq in python
;;(string-append "-DPXR_MALLOC_LIBRARY="
;; (search-input-file %build-inputs "lib/libjemalloc.so"))
"-DPXR_BUILD_DOCUMENTATION=OFF"
"-DPXR_BUILD_TESTS=OFF"
"-DPXR_BUILD_EXAMPLES=OFF"
"-DPXR_BUILD_TUTORIALS=OFF"
"-DPXR_BUILD_USD_IMAGING=ON"
"-DPXR_BUILD_USDVIEW=ON"
"-DPXR_ENABLE_PYTHON_SUPPORT=ON"
"-DPXR_USE_PYTHON_3=ON"
"-DPXR_USE_DEBUG_PYTHON=OFF"
"-DPXR_ENABLE_OPENVDB_SUPPORT=OFF"
"-DPXR_ENABLE_MATERIALX_SUPPORT=OFF"
"-DPXR_ENABLE_PTEX_SUPPORT=OFF"
"-DPXR_BUILD_OPENIMAGEIO_PLUGIN=OFF"
"-DPXR_BUILD_OPENCOLORIO_PLUGIN=OFF"
"-DPXR_BUILD_PRMAN_PLUGIN=OFF"
"-DPXR_BUILD_ALEMBIC_PLUGIN=OFF"
"-DPXR_BUILD_DRACO_PLUGIN=OFF"
"-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON")
#:phases
(modify-phases %standard-phases
;; USD build system needs those environment variables
(add-before 'configure 'set-env-vars
(lambda _
;;(setenv "MaterialX_DIR" (assoc-ref %build-inputs "materialx"))
#t)))))
(inputs (list
;;jemalloc
tbb-2020
boost
mesa
glu
freeglut
libx11
libxi
libxrender
glib
imath
ilmbase
openexr
;;opencolorio
;;openimageio
;;openvdb
;;materialx
;;ptex
openjpeg
libjpeg-turbo
libpng
libtiff
zlib))
(home-page "https://graphics.pixar.com/usd/")
(synopsis "Pixar's Universal Scene Description libraries and tools")
(description
"USD is a high-performance extensible software platform
for collaboratively constructing animated 3D scenes,
designed to meet the needs of large-scale film and visual effects production.")
(license licenses:asl2.0)))
(propagated-inputs (list
python
python-pyside-6
python-pyside-6-tools
python-pyopengl
qtwayland))
embree
opensubdiv-3.5.0
;;vulkan-headers
;;vulkan-loader
;;spirv-headers
;;spirv-cross
;;shaderc
(native-inputs
(list python-jinja2))
;;(setenv "VULKAN_SDK" (assoc-ref %build-inputs "vulkan-headers"))
"-DPXR_BUILD_EMBREE_PLUGIN=ON"
;;(patches (search-patches "vfx/patches/usd-fix-hgiinterop-vulkan.patch"))
))
(list tbb-2020
;;ptex
glew
"05zmhm7izywkvpld1ridqx9pf7frxjg4hv2wqxa4zk1c20gzd055"))
(patches (search-patches "vfx/patches/opensubdiv-glsl-no-osdprimitiveidbase.patch"
"vfx/patches/opensubdiv-hlsl-no-osdprimitiveidbase.patch"))))
(commit (string-append "v"
(string-join (string-split version #\.)
"_")))))
(define-public ptex
(package
(name "ptex")
(version "2.4.2")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/wdas/ptex/archive/refs/tags/"
"v" version ".tar.gz"))
(sha256
(base32 "1qcyjzrqcl3w2gajmqy5hrla8av6bd6s0klghh8gn74j1jrmy8y8"))))
(build-system cmake-build-system)
(native-inputs
(list pkg-config doxygen))
(inputs
(list zlib))
(home-page "https://ptex.us/")
(synopsis "Ptex texture mapping system")
(description "Ptex is a texture mapping system developed by Walt
Disney Animation Studios for production-quality rendering.
No UV assignment is required! Ptex applies a separate texture to each
face of a subdivision or polygon mesh.
The Ptex file format can efficiently store hundreds of thousands of
texture images in a single file.
The Ptex API provides cached file I/O and high-quality filtering -
everything that is needed to easily add Ptex support to a
production-quality renderer or texture authoring application.")
(license licenses:bsd-3)))
(define-module (vfx packages rendering)
#:use-module (gnu packages)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages gl)
#:use-module (vfx packages pixar)
#:use-module (vfx packages nvidia)
#:use-module (guix)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module ((guix licenses) #:prefix licenses:))
(define-public gatling
(package
(name "gatling")
(version "0.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pablode/gatling")
(commit "d62d022124a46fc2e55ae65a1425102485af1b4f")))
(file-name (git-file-name name version))
(sha256
(base32
"1d0vqdl887ywm9hk75w0h3wfvir2qbk8pfdm8wcb61ka2iz0pf70"))))
(build-system cmake-build-system)
(inputs (list
vulkan-headers
vulkan-loader
shaderc
glslang
mesa
usd
nvidia-mdl))
(home-page "https://github.com/pablode/gatling")
(synopsis "USD compatible GPU path tracer")
(description "USD Hydra render delegate and standalone renderer that
accepts Universal Scene Description (USD) files. It is cross-platform,
GPU-accelerated, and supports MaterialX, MDL and UsdPreviewSurface materials.")
(license licenses:gpl3)))
(define-module (vfx packages qt)
#:use-module (gnu packages)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (guix)
#:use-module (guix build-system cmake)
#:use-module ((guix licenses) #:prefix licenses:))
(define-public python-pyside-6-tools
(package
(name "python-pyside-6-tools")
(version (package-version python-shiboken-6))
(source (package-source python-shiboken-6))
(build-system cmake-build-system)
(native-inputs
(list python-wrapper qtbase qtdeclarative qttools))
(inputs
(list python-pyside-6 python-shiboken-6))
(arguments
(list
#:tests? #f
#:configure-flags
#~(list "-DBUILD_TESTS=off"
(string-append "-DPYTHON_EXECUTABLE="
(search-input-file %build-inputs
"/bin/python")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'go-to-source-dir
(lambda _ (chdir "sources/pyside-tools")))
(add-after 'go-to-source-dir 'set-paths-for-guix
(lambda _
(substitute* "CMakeLists.txt"
(("\\$\\{LIBEXEC_PATH\\}/qmltyperegistrar")
(string-append
(assoc-ref %build-inputs "qtdeclarative")
"/lib/qt6/libexec/qmltyperegistrar"))
(("\\$\\{TOOLS_PATH\\}/lrelease")
(string-append
(assoc-ref %build-inputs "qttools")
"/bin/lrelease"))
(("\\$\\{TOOLS_PATH\\}/lupdate")
(string-append
(assoc-ref %build-inputs "qttools")
"/bin/lupdate"))
(("\\$\\{TOOLS_PATH\\}/qmllint")
(string-append
(assoc-ref %build-inputs "qtdeclarative")
"/bin/qmllint"))
(("\\$\\{TOOLS_PATH\\}/assistant")
(string-append
(assoc-ref %build-inputs "qttools")
"/bin/assistant"))
(("\\$\\{TOOLS_PATH\\}/designer")
(string-append
(assoc-ref %build-inputs "qttools")
"/bin/designer"))
(("\\$\\{TOOLS_PATH\\}/linguist")
(string-append
(assoc-ref %build-inputs "qttools")
"/bin/linguist"))))))))
(home-page "https://wiki.qt.io/Qt_for_Python")
(synopsis
"Command line tools for PySide6")
(description
"Python-pyside-6-tools contains lupdate, rcc and uic tools for PySide6")
(license licenses:gpl2)))
(define-module (vfx packages pixar)
#:use-module (gnu packages)
#:use-module (gnu packages cmake)
#:use-module (gnu packages commencement)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages boost)
#:use-module (gnu packages tbb)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages xorg)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages qt)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages compression)
#:use-module (gnu packages graphics)
#:use-module (gnu packages documentation)
#:use-module (vfx packages qt)
#:use-module (vfx packages lucasfilm)
#:use-module (vfx packages disney)
#:use-module (guix)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module ((guix licenses) #:prefix licenses:))
;;(define-public clew
;; (package
;; (name "clew")
;; (version "0.10.0")
;; (source (origin
;; (method git-fetch)
;; (uri (git-reference
;; (url "https://github.com/martijnberger/clew")
;; (commit "50751dd62c05a03b2b9c001b9eb6e29e392ee9db")))
;; (file-name (git-file-name name version))
;; (sha256
;; (base32
;; "09aimljgkw5cyxbqq9ybbkybgn957hiic5xw1db7b8znib5pbwi2"))))
;; (build-system cmake-build-system)
;; (arguments
;; `(#:tests? #f))
;; (home-page "https://github.com/martijnberger/clew")
;; (synopsis "The OpenCL Extension Wrangler Library")
;; (description "This basically works like glew, but for OpenCL.")
;; (license licenses:boost1.0)))
(define-public opensubdiv-3.5
(package
(name "opensubdiv")
(version "3.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/PixarAnimationStudios/OpenSubdiv")
(commit (string-append "v"
(string-join (string-split version #\.)
"_")))))
(file-name (git-file-name name version))
(sha256
(base32
"05zmhm7izywkvpld1ridqx9pf7frxjg4hv2wqxa4zk1c20gzd055"))
(patches (search-patches "vfx/patches/opensubdiv-glsl-no-osdprimitiveidbase.patch"
"vfx/patches/opensubdiv-hlsl-no-osdprimitiveidbase.patch"))))
(build-system cmake-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-before 'configure 'set-glew-location
(lambda* (#:key inputs #:allow-other-keys)
(setenv "GLEW_LOCATION" (assoc-ref inputs "glew"))
#t))
(add-before 'check 'start-xorg-server
(lambda* (#:key inputs #:allow-other-keys)
;; The test suite requires a running X server.
(system "Xvfb :1 &")
(setenv "DISPLAY" ":1")
#t)))))
(native-inputs
(list xorg-server-for-tests))
(inputs
(list tbb-2020
glew
;;mesa-opencl
;;clew
ptex
libxrandr
libxcursor
libxinerama
libxi
zlib
glfw))
(home-page "https://graphics.pixar.com/opensubdiv/")
(synopsis "High performance subdivision surface evaluation")
(description "OpenSubdiv is a set of libraries that implement high
performance subdivision surface (subdiv) evaluation on massively parallel CPU
and GPU architectures.")
(license licenses:asl2.0)))
(define-public usd
(package
(name "usd")
(version "22.11")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/PixarAnimationStudios/USD/"
"archive/refs/tags/v" version ".tar.gz"))
(sha256 (base32 "1bma37dj2sxwdgp1bsnbhywigx8kqwn2gzp2jjg5lf5rbd3jcj7k"))
;;(patches (search-patches "vfx/patches/usd-fix-hgiinterop-vulkan.patch"))
))
(build-system cmake-build-system)
(arguments
`(#:tests? #f
#:validate-runpath? #f
#:configure-flags
(list "-DBUILD_SHARED_LIBS=ON"
"-DTBB_USE_DEBUG_BUILD=OFF"
"-DPXR_PREFER_SAFETY_OVER_SPEED=OFF"
"-DPXR_ENABLE_VULKAN_SUPPORT=OFF"
;; so far causing segmentation fault when importing pxr.Usdviewq in python
;;(string-append "-DPXR_MALLOC_LIBRARY="
;; (search-input-file %build-inputs "lib/libjemalloc.so"))
"-DPXR_BUILD_DOCUMENTATION=OFF"
"-DPXR_BUILD_TESTS=OFF"
"-DPXR_BUILD_EXAMPLES=OFF"
"-DPXR_BUILD_TUTORIALS=OFF"
"-DPXR_BUILD_USD_IMAGING=ON"
"-DPXR_BUILD_USDVIEW=ON"
"-DPXR_ENABLE_PYTHON_SUPPORT=ON"
"-DPXR_USE_PYTHON_3=ON"
"-DPXR_USE_DEBUG_PYTHON=OFF"
"-DPXR_ENABLE_OPENVDB_SUPPORT=ON"
"-DPXR_ENABLE_MATERIALX_SUPPORT=ON"
"-DPXR_ENABLE_PTEX_SUPPORT=ON"
"-DPXR_BUILD_OPENIMAGEIO_PLUGIN=ON"
"-DPXR_BUILD_OPENCOLORIO_PLUGIN=ON"
"-DPXR_BUILD_EMBREE_PLUGIN=ON"
"-DPXR_BUILD_PRMAN_PLUGIN=OFF"
"-DPXR_BUILD_ALEMBIC_PLUGIN=OFF"
"-DPXR_BUILD_DRACO_PLUGIN=OFF"
"-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON")
#:phases
(modify-phases %standard-phases
;; USD build system needs those environment variables
(add-before 'configure 'set-env-vars
(lambda _
;;(setenv "MaterialX_DIR" (assoc-ref %build-inputs "materialx"))
;;(setenv "VULKAN_SDK" (assoc-ref %build-inputs "vulkan-headers"))
#t)))))
(native-inputs (list
;;python-2.7
python-jinja2))
(inputs (list
;;jemalloc
tbb-2020
boost
mesa
;;vulkan-headers
;;vulkan-loader
;;spirv-headers
;;spirv-cross
;;shaderc
glu
freeglut
libx11
libxi
libxrender
glib
imath
ilmbase
openexr
opencolorio
openimageio
opensubdiv-3.5
openvdb
materialx
ptex
embree
openjpeg
libjpeg-turbo
libpng
libtiff
zlib))
(propagated-inputs (list
python
python-pyside-6
python-pyside-6-tools
python-pyopengl))
(home-page "https://graphics.pixar.com/usd/")
(synopsis "Pixar's Universal Scene Description libraries and tools")
(description
"USD is a high-performance extensible software platform
for collaboratively constructing animated 3D scenes,
designed to meet the needs of large-scale film and visual effects production.")
(license licenses:asl2.0)))
(define-module (vfx packages nvidia)
#:use-module (gnu packages)
;;#:use-module (gnu packages cmake)
;;#:use-module (gnu packages commencement)
;;#:use-module (gnu packages pkg-config)
;;#:use-module (gnu packages boost)
;;#:use-module (gnu packages tbb)
;;#:use-module (gnu packages python)
;;#:use-module (gnu packages python-xyz)
;;#:use-module (gnu packages xorg)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages gl)
;;#:use-module (gnu packages glib)
;;#:use-module (gnu packages qt)
;;#:use-module (gnu packages image)
;;#:use-module (gnu packages image-processing)
;;#:use-module (gnu packages compression)
;;#:use-module (gnu packages graphics)
#:use-module (guix)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module ((guix licenses) #:prefix licenses:))
(define-public nvidia-mdl
(package
(name "nvidia-mdl")
(version "2022.1.1")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/NVIDIA/MDL-SDK/"
"archive/refs/tags/" version ".tar.gz"))
(sha256
(base32 "0jv7jia7gsx4cnm6g2wvvs3p20ysqsw97558dhr2i0n689rjdra6"))))
(build-system cmake-build-system)
;; !!!! CUDA MISSING !!!!
;; (inputs (list
;; nvidia-cuda))
(home-page "https://developer.nvidia.com/rendering-technologies/mdl-sdk")
(synopsis "NVIDIA Material Definition Language (MDL) SDK")
(description "The MDL SDK is a set of tools to enable quick integration
of physically-based materials into rendering applications. It contains
comprehensive C++ and Python APIs that allow applications to load MDL modules,
analyze and understand the structure of a material so it can build a UI for
material editing and render the results.")
(license licenses:gpl3)))
(define-module (vfx packages lucasfilm)
#:use-module (gnu packages)
#:use-module (gnu packages gl)
#:use-module (gnu packages xorg)
#:use-module (guix)
#:use-module (guix build-system cmake)
#:use-module ((guix licenses) #:prefix licenses:))
(define-public materialx
(package
(name "materialx")
(version "1.38.6")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/AcademySoftwareFoundation/MaterialX/releases/"
"download/v" version "/MaterialX-" version ".tar.gz"))
(sha256
(base32 "10y19ia12bcz43ccji8n8xflnd4jmkwfrwd15x9080499mwfhass"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f))
(inputs
(list libx11 libxt mesa glu))
(home-page "https://materialx.org/")
(synopsis "MaterialX rich computer graphic materials open standard")
(description "MaterialX is an open standard for representing rich material
and look-development content in computer graphics, enabling its
platform independent description
and exchange across applications and renderers.")
(license licenses:asl2.0)))
(define-module (vfx packages disney)
#:use-module (gnu packages)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages documentation)
#:use-module (gnu packages compression)
#:use-module (vfx packages qt)
#:use-module (vfx packages lucasfilm)
#:use-module (guix)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module ((guix licenses) #:prefix licenses:))
(define-public ptex
(package
(name "ptex")
(version "2.4.2")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/wdas/ptex/archive/refs/tags/"
"v" version ".tar.gz"))
(sha256
(base32 "1qcyjzrqcl3w2gajmqy5hrla8av6bd6s0klghh8gn74j1jrmy8y8"))))
(build-system cmake-build-system)
(native-inputs
(list pkg-config doxygen))
(inputs
(list zlib))
(home-page "https://ptex.us/")
(synopsis "Ptex texture mapping system")
(description "Ptex is a texture mapping system developed by Walt
Disney Animation Studios for production-quality rendering.
No UV assignment is required! Ptex applies a separate texture to each
face of a subdivision or polygon mesh.
The Ptex file format can efficiently store hundreds of thousands of
texture images in a single file.
The Ptex API provides cached file I/O and high-quality filtering -
everything that is needed to easily add Ptex support to a
production-quality renderer or texture authoring application.")
(license licenses:bsd-3)))
(define-module (vfx packages autodesk)
#:use-module (gnu packages)
#:use-module (gnu packages cmake)
#:use-module (gnu packages boost)
#:use-module (gnu packages tbb)
#:use-module (gnu packages slang)
#:use-module (gnu packages maths)
#:use-module (gnu packages stb)
#:use-module (gnu packages check)
#:use-module (gnu packages cpp)
#:use-module (gnu packages python)
#:use-module (vfx packages lucasfilm)
#:use-module (vfx packages pixar)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages gl)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages compression)
#:use-module (gnu packages graphics)
#:use-module (guix)
#:use-module (guix build-system cmake)
#:use-module ((guix licenses) #:prefix licenses:))
(define-public tinygltf
(package
(name "tinygltf")
(version "2.8.2")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/syoyo/tinygltf"
"/archive/refs/tags/v" version ".tar.gz"))
(sha256
(base32 "08wshy2xnyfla3gpprqd753sc8d9n5dz0i8mk6w818y588jkckhm"))
(patches (search-patches "vfx/patches/tinygltf-fix-install.patch"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f))
(home-page "https://github.com/syoyo/tinygltf")
(synopsis "Header only C++ tiny glTF library")
(description "TinyGLTF is a header only C++11 glTF 2.0
https://github.com/KhronosGroup/glTF library.")
(license licenses:expat)))
(define-public tinyobjloader
(package
(name "tinyobjloader")
(version "1.0.6")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/tinyobjloader/tinyobjloader"
"/archive/refs/tags/v" version ".tar.gz"))
(sha256
(base32 "0hf3siyayps5j46pw0nn42rk63jpvcg5bpikv16raq8p436q5vhr"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f))
(home-page "https://github.com/tinyobjloader/tinyobjloader")
(synopsis "Tiny but powerful wavefront obj loader")
(description "Tiny but powerful single file wavefront obj loader written
in C++03. No dependency except for C++ STL. It can parse over 10M polygons
with moderate memory and time.")
(license licenses:expat)))
(define-public aurora
(package
(name "aurora")
(version "22.12")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/Autodesk/Aurora/archive/refs/tags/"
"v" version ".tar.gz"))
(sha256
(base32 "018hcjr4agmsdmhmrnf2lzhrg3gfzqra080agxk7b63aqsqwlpf6"))
(patches (search-patches "vfx/patches/aurora-skip-py-install.patch"
"vfx/patches/aurora-compiler-low-check.patch"))))
(build-system cmake-build-system)
;; use latest CMake (3.24 or higher needed)
(arguments `(#:cmake ,cmake))
(inputs (list
python
boost
tbb-2020
opensubdiv-3.5
vulkan-headers
vulkan-loader
shaderc
glslang
mesa
slang
glm
stb-image
materialx
glew
zlib
libpng
openexr-2
opencolorio
openimageio
googletest
cxxopts
tinygltf
tinyobjloader
usd))
(home-page "https://github.com/Autodesk/Aurora")
(synopsis "Autodesk's real-time GPU path tracing renderer")
(description "Aurora is a real-time path tracing renderer that leverages GPU
hardware ray tracing. As a real-time renderer, it is intended to support rapid
design iteration in a real-time viewport, which differs from a \"final frame\"
production renderer like Autodesk Arnold.")
(license licenses:asl2.0)))