Hydra is a rendering architecture part of USD, designed to abstract the host application from the renderer. A renderer implementing a Hydra render delegate can run in any host application supporting Hydra, which now includes Blender. For external renderers this means less code to be written, and improved performance due to a using a C++ API instead of a Python API. Add-ons need to subclass bpy.types.HydraRenderEngine. See the example in the Python API docs for details. An add-on for Hydra Storm will be included as well. This is USD's rasterizing renderer, used in other applications like usdview. For users it can provide a preview of USD file export, and for developers it serves a reference. There are still limitations and missing features, especially around materials. The remaining to do items are tracked in #110765. This feature was contributed by AMD. Ref #110765 Co-authored-by: Georgiy Markelov <georgiy.m.markelov@gmail.com> Co-authored-by: Vasyl-Pidhirskyi <vpidhirskyi@gmail.com> Co-authored-by: Brian Savery <brian.savery@gmail.com> Co-authored-by: Brecht Van Lommel <brecht@blender.org> Pull Request: https://projects.blender.org/blender/blender/pulls/104712
100 lines
1.6 KiB
CMake
100 lines
1.6 KiB
CMake
# SPDX-FileCopyrightText: 2006 Blender Foundation
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
|
set(INC
|
|
.
|
|
intern
|
|
../blenkernel
|
|
../blentranslation
|
|
../compositor/realtime_compositor
|
|
../compositor/realtime_compositor/cached_resources
|
|
../depsgraph
|
|
../draw
|
|
../gpu
|
|
../gpu/intern
|
|
../imbuf
|
|
../makesrna
|
|
../nodes
|
|
../sequencer
|
|
../simulation
|
|
../windowmanager
|
|
../../../intern/mikktspace
|
|
../../../intern/mantaflow/extern
|
|
)
|
|
|
|
set(INC_SYS
|
|
)
|
|
|
|
set(SRC
|
|
intern/bake.cc
|
|
intern/compositor.cc
|
|
intern/engine.cc
|
|
intern/initrender.cc
|
|
intern/multires_bake.cc
|
|
intern/pipeline.cc
|
|
intern/render_result.cc
|
|
intern/render_types.cc
|
|
intern/texture_image.cc
|
|
intern/texture_margin.cc
|
|
intern/texture_pointdensity.cc
|
|
intern/texture_procedural.cc
|
|
intern/tile_highlight.cc
|
|
intern/zbuf.cc
|
|
|
|
RE_bake.h
|
|
RE_compositor.hh
|
|
RE_engine.h
|
|
RE_multires_bake.h
|
|
RE_pipeline.h
|
|
RE_texture.h
|
|
RE_texture_margin.h
|
|
|
|
intern/pipeline.hh
|
|
intern/render_result.h
|
|
intern/render_types.h
|
|
intern/texture_common.h
|
|
intern/tile_highlight.h
|
|
intern/zbuf.h
|
|
)
|
|
|
|
set(LIB
|
|
PRIVATE bf::blenlib
|
|
PRIVATE bf::dna
|
|
PRIVATE bf::intern::guardedalloc
|
|
bf_realtime_compositor
|
|
PRIVATE bf::intern::atomic
|
|
)
|
|
|
|
if(WITH_PYTHON)
|
|
add_definitions(-DWITH_PYTHON)
|
|
list(APPEND INC
|
|
../python
|
|
)
|
|
endif()
|
|
|
|
if(WITH_IMAGE_OPENEXR)
|
|
list(APPEND LIB
|
|
bf_imbuf_openexr
|
|
)
|
|
add_definitions(-DWITH_OPENEXR)
|
|
endif()
|
|
|
|
if(WITH_FREESTYLE)
|
|
list(APPEND INC
|
|
../freestyle
|
|
)
|
|
list(APPEND LIB
|
|
bf_freestyle
|
|
)
|
|
add_definitions(-DWITH_FREESTYLE)
|
|
endif()
|
|
|
|
|
|
blender_add_lib_nolist(bf_render "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
|
|
|
|
if(WITH_HYDRA)
|
|
add_subdirectory(hydra)
|
|
endif()
|