2008-04-16 22:40:48 +00:00
|
|
|
# ***** BEGIN GPL LICENSE BLOCK *****
|
2006-11-17 02:27:12 +00:00
|
|
|
#
|
|
|
|
|
# This program is free software; you can redistribute it and/or
|
|
|
|
|
# modify it under the terms of the GNU General Public License
|
|
|
|
|
# as published by the Free Software Foundation; either version 2
|
2008-04-16 22:40:48 +00:00
|
|
|
# of the License, or (at your option) any later version.
|
2006-11-17 02:27:12 +00:00
|
|
|
#
|
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
|
#
|
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
|
# along with this program; if not, write to the Free Software Foundation,
|
2010-02-12 13:34:04 +00:00
|
|
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
2006-11-17 02:27:12 +00:00
|
|
|
#
|
|
|
|
|
# The Original Code is Copyright (C) 2006, Blender Foundation
|
|
|
|
|
# All rights reserved.
|
2008-04-16 22:40:48 +00:00
|
|
|
# ***** END GPL LICENSE BLOCK *****
|
2006-11-17 02:27:12 +00:00
|
|
|
|
2011-02-22 06:23:07 +00:00
|
|
|
set(SRC_DNA_INC
|
2019-04-17 06:17:24 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_ID.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_action_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_anim_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_armature_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_boid_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_brush_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_cachefile_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_camera_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_cloth_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_collection_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_color_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_constraint_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_curve_types.h
|
2019-12-17 10:07:44 +11:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_curveprofile_types.h
|
2019-04-17 06:17:24 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_customdata_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_defs.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_documentation.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_dynamicpaint_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_effect_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_fileglobal_types.h
|
2019-12-17 10:07:44 +11:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_fluid_types.h
|
2019-04-17 06:17:24 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_freestyle_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_genfile.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_gpencil_modifier_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_gpencil_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_gpu_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_image_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_ipo_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_key_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_lattice_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_layer_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_light_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_lightprobe_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_linestyle_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_listBase.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_mask_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_material_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_mesh_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_meshdata_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_meta_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_modifier_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_movieclip_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_nla_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_node_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_object_enums.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_object_fluidsim_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_object_force_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_object_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_outliner_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_packedFile_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_particle_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_rigidbody_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_scene_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_screen_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_sdna_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_sequence_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_shader_fx_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_sound_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_space_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_speaker_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_text_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_texture_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_tracking_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_userdef_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_vec_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_vfont_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_view2d_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_view3d_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_windowmanager_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_workspace_types.h
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_world_types.h
|
VR: Initial Virtual Reality support - Milestone 1, Scene Inspection
NOTE: While most of the milestone 1 goals are there, a few smaller features and
improvements are still to be done.
Big picture of this milestone: Initial, OpenXR-based virtual reality support
for users and foundation for advanced use cases.
Maniphest Task: https://developer.blender.org/T71347
The tasks contains more information about this milestone.
To be clear: This is not a feature rich VR implementation, it's focused on the
initial scene inspection use case. We intentionally focused on that, further
features like controller support are part of the next milestone.
- How to use?
Instructions on how to use this are here:
https://wiki.blender.org/wiki/User:Severin/GSoC-2019/How_to_Test
These will be updated and moved to a more official place (likely the manual) soon.
Currently Windows Mixed Reality and Oculus devices are usable. Valve/HTC
headsets don't support the OpenXR standard yet and hence, do not work with this
implementation.
---------------
This is the C-side implementation of the features added for initial VR
support as per milestone 1. A "VR Scene Inspection" Add-on will be
committed separately, to expose the VR functionality in the UI. It also
adds some further features for milestone 1, namely a landmarking system
(stored view locations in the VR space)
Main additions/features:
* Support for rendering viewports to an HMD, with good performance.
* Option to sync the VR view perspective with a fully interactive,
regular 3D View (VR-Mirror).
* Option to disable positional tracking. Keeps the current position (calculated
based on the VR eye center pose) when enabled while a VR session is running.
* Some regular viewport settings for the VR view
* RNA/Python-API to query and set VR session state information.
* WM-XR: Layer tying Ghost-XR to the Blender specific APIs/data
* wmSurface API: drawable, non-window container (manages Ghost-OpenGL and GPU
context)
* DNA/RNA for management of VR session settings
* `--debug-xr` and `--debug-xr-time` commandline options
* Utility batch & config file for using the Oculus runtime on Windows.
* Most VR data is runtime only. The exception is user settings which are saved
to files (`XrSessionSettings`).
* VR support can be disabled through the `WITH_XR_OPENXR` compiler flag.
For architecture and code documentation, see
https://wiki.blender.org/wiki/Source/Interface/XR.
---------------
A few thank you's:
* A huge shoutout to Ray Molenkamp for his help during the project - it would
have not been that successful without him!
* Sebastian Koenig and Simeon Conzendorf for testing and feedback!
* The reviewers, especially Brecht Van Lommel!
* Dalai Felinto for pushing and managing me to get this done ;)
* The OpenXR working group for providing an open standard. I think we're the
first bigger application to adopt OpenXR. Congratulations to them and
ourselves :)
This project started as a Google Summer of Code 2019 project - "Core Support of
Virtual Reality Headsets through OpenXR" (see
https://wiki.blender.org/wiki/User:Severin/GSoC-2019/).
Some further information, including ideas for further improvements can be found
in the final GSoC report:
https://wiki.blender.org/wiki/User:Severin/GSoC-2019/Final_Report
Differential Revisions: D6193, D7098
Reviewed by: Brecht Van Lommel, Jeroen Bakker
2020-03-17 20:20:55 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_xr_types.h
|
2011-02-22 06:23:07 +00:00
|
|
|
)
|
|
|
|
|
|
2012-08-11 16:25:31 +00:00
|
|
|
add_subdirectory(datatoc)
|
2010-12-08 08:43:06 +00:00
|
|
|
add_subdirectory(editors)
|
|
|
|
|
add_subdirectory(windowmanager)
|
|
|
|
|
add_subdirectory(blenkernel)
|
|
|
|
|
add_subdirectory(blenlib)
|
2011-02-27 06:19:40 +00:00
|
|
|
add_subdirectory(bmesh)
|
2017-02-07 11:20:15 +01:00
|
|
|
add_subdirectory(draw)
|
2010-12-08 08:43:06 +00:00
|
|
|
add_subdirectory(render)
|
|
|
|
|
add_subdirectory(blenfont)
|
2015-08-16 17:32:01 +10:00
|
|
|
add_subdirectory(blentranslation)
|
2010-12-08 08:43:06 +00:00
|
|
|
add_subdirectory(blenloader)
|
Depsgraph: New dependency graph integration commit
This commit integrates the work done so far on the new dependency graph system,
where goal was to replace legacy depsgraph with the new one, supporting loads of
neat features like:
- More granular dependency relation nature, which solves issues with fake cycles
in the dependencies.
- Move towards all-animatable, by better integration of drivers into the system.
- Lay down some basis for upcoming copy-on-write, overrides and so on.
The new system is living side-by-side with the previous one and disabled by
default, so nothing will become suddenly broken. The way to enable new depsgraph
is to pass `--new-depsgraph` command line argument.
It's a bit early to consider the system production-ready, there are some TODOs
and issues were discovered during the merge period, they'll be addressed ASAP.
But it's important to merge, because it's the only way to attract artists to
really start testing this system.
There are number of assorted documents related on the design of the new system:
* http://wiki.blender.org/index.php/User:Aligorith/GSoC2013_Depsgraph#Design_Documents
* http://wiki.blender.org/index.php/User:Nazg-gul/DependencyGraph
There are also some user-related information online:
* http://code.blender.org/2015/02/blender-dependency-graph-branch-for-users/
* http://code.blender.org/2015/03/more-dependency-graph-tricks/
Kudos to everyone who was involved into the project:
- Joshua "Aligorith" Leung -- design specification, initial code
- Lukas "lukas_t" Toenne -- integrating code into blender, with further fixes
- Sergey "Sergey" "Sharybin" -- some mocking around, trying to wrap up the
project and so
- Bassam "slikdigit" Kurdali -- stressing the new system, reporting all the
issues and recording/writing documentation.
- Everyone else who i forgot to mention here :)
2015-05-12 15:05:57 +05:00
|
|
|
add_subdirectory(depsgraph)
|
2010-12-08 08:43:06 +00:00
|
|
|
add_subdirectory(ikplugin)
|
2014-09-13 14:36:46 +02:00
|
|
|
add_subdirectory(physics)
|
2010-12-08 08:43:06 +00:00
|
|
|
add_subdirectory(gpu)
|
|
|
|
|
add_subdirectory(imbuf)
|
|
|
|
|
add_subdirectory(nodes)
|
|
|
|
|
add_subdirectory(modifiers)
|
2018-07-31 10:22:19 +02:00
|
|
|
add_subdirectory(gpencil_modifiers)
|
|
|
|
|
add_subdirectory(shader_fx)
|
2020-03-06 16:19:35 +01:00
|
|
|
add_subdirectory(io)
|
2010-12-08 08:43:06 +00:00
|
|
|
add_subdirectory(makesdna)
|
|
|
|
|
add_subdirectory(makesrna)
|
2006-11-17 02:27:12 +00:00
|
|
|
|
2012-06-30 14:14:22 +00:00
|
|
|
if(WITH_COMPOSITOR)
|
2019-04-17 06:17:24 +02:00
|
|
|
add_subdirectory(compositor)
|
2012-06-30 14:14:22 +00:00
|
|
|
endif()
|
|
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_IMAGE_OPENEXR)
|
2019-04-17 06:17:24 +02:00
|
|
|
add_subdirectory(imbuf/intern/openexr)
|
2010-12-08 08:43:06 +00:00
|
|
|
endif()
|
2006-11-17 02:27:12 +00:00
|
|
|
|
2013-10-12 23:56:21 +00:00
|
|
|
if(WITH_OPENIMAGEIO)
|
2019-04-17 06:17:24 +02:00
|
|
|
add_subdirectory(imbuf/intern/oiio)
|
2013-10-08 21:17:24 +00:00
|
|
|
endif()
|
|
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_IMAGE_DDS)
|
2019-04-17 06:17:24 +02:00
|
|
|
add_subdirectory(imbuf/intern/dds)
|
2010-12-08 08:43:06 +00:00
|
|
|
endif()
|
2010-08-03 11:25:34 +00:00
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_IMAGE_CINEON)
|
2019-04-17 06:17:24 +02:00
|
|
|
add_subdirectory(imbuf/intern/cineon)
|
2010-12-08 08:43:06 +00:00
|
|
|
endif()
|
2008-10-28 18:33:34 +00:00
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_PYTHON)
|
2019-04-17 06:17:24 +02:00
|
|
|
add_subdirectory(python)
|
2010-12-08 08:43:06 +00:00
|
|
|
endif()
|
2009-09-18 22:25:49 +00:00
|
|
|
|
2012-12-20 07:57:26 +00:00
|
|
|
if(WITH_FREESTYLE)
|
2019-04-17 06:17:24 +02:00
|
|
|
add_subdirectory(freestyle)
|
2012-12-20 07:57:26 +00:00
|
|
|
endif()
|
|
|
|
|
|
2019-08-30 08:40:08 -06:00
|
|
|
if(WIN32)
|
|
|
|
|
add_subdirectory(blendthumb)
|
|
|
|
|
endif()
|