2023-05-31 16:19:06 +02:00
|
|
|
# SPDX-FileCopyrightText: 2006 Blender Foundation
|
|
|
|
#
|
2022-02-10 23:07:11 +01:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
2006-11-17 03:27:12 +01:00
|
|
|
|
2011-02-22 07:23:07 +01:00
|
|
|
set(SRC_DNA_INC
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_ID.h
|
2021-02-08 23:42:58 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_ID_enums.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${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
|
2020-12-11 18:15:25 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_asset_types.h
|
2016-12-28 17:30:58 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_boid_types.h
|
2020-12-11 11:48:58 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_brush_enums.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_brush_types.h
|
Basic Alembic support
All in all, this patch adds an Alembic importer, an Alembic exporter,
and a new CacheFile data block which, for now, wraps around an Alembic
archive. This data block is made available through a new modifier ("Mesh
Sequence Cache") as well as a new constraint ("Transform Cache") to
somewhat properly support respectively geometric and transformation data
streaming from alembic caches.
A more in-depth documentation is to be found on the wiki, as well as a
guide to compile alembic: https://wiki.blender.org/index.php/
User:Kevindietrich/AlembicBasicIo.
Many thanks to everyone involved in this little project, and huge shout
out to "cgstrive" for the thorough testings with Maya, 3ds Max, Houdini
and Realflow as well as @fjuhec, @jensverwiebe and @jasperge for the
custom builds and compile fixes.
Reviewers: sergey, campbellbarton, mont29
Reviewed By: sergey, campbellbarton, mont29
Differential Revision: https://developer.blender.org/D2060
2016-08-06 06:20:37 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_cachefile_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_camera_types.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_cloth_types.h
|
2018-08-29 15:32:50 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_collection_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${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 00:07:44 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_curveprofile_types.h
|
2022-03-25 02:04:14 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_curves_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_customdata_types.h
|
2011-12-04 07:05:48 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_defs.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_documentation.h
|
2011-06-16 20:25:41 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_dynamicpaint_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_effect_types.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_fileglobal_types.h
|
2019-12-17 00:07:44 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_fluid_types.h
|
2013-03-23 04:00:37 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_freestyle_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_genfile.h
|
2023-03-13 10:42:51 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_gpencil_legacy_types.h
|
2023-04-13 05:14:11 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_gpencil_modifier_types.h
|
2015-02-12 18:54:41 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_gpu_types.h
|
2023-05-30 11:14:16 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_grease_pencil_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${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
|
2017-03-14 08:47:26 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_layer_types.h
|
2019-02-27 02:34:56 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_light_types.h
|
2017-06-12 12:59:54 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_lightprobe_types.h
|
2021-03-16 19:35:53 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_lineart_types.h
|
2013-03-23 04:00:37 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_linestyle_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_listBase.h
|
2018-08-29 15:32:50 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_mask_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_material_types.h
|
2018-08-29 15:32:50 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_mesh_types.h
|
2019-01-24 22:30:33 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_meshdata_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_meta_types.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_modifier_types.h
|
2018-08-29 15:32:50 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_movieclip_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_nla_types.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_node_types.h
|
2018-08-29 15:32:50 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_object_enums.h
|
2018-02-07 01:14:08 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_object_fluidsim_types.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_object_force_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${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
|
2016-12-28 17:30:58 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_particle_types.h
|
2020-06-09 17:01:44 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_pointcache_types.h
|
2020-07-16 05:17:31 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_pointcloud_types.h
|
2013-01-23 06:56:22 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_rigidbody_types.h
|
2023-05-08 23:48:38 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_scene_enums.h
|
2023-05-17 05:07:43 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_scene_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${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
|
2020-09-07 15:10:17 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_session_uuid_types.h
|
2018-08-29 15:32:50 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_shader_fx_types.h
|
2020-07-16 05:17:31 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_simulation_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_sound_types.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_space_types.h
|
2011-08-01 13:44:20 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_speaker_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_text_types.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_texture_types.h
|
2018-08-29 15:32:50 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_tracking_types.h
|
2022-02-15 12:32:15 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_userdef_enums.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_userdef_types.h
|
2021-09-17 11:53:00 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_uuid_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${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
|
2020-07-16 05:17:31 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_view3d_enums.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_view3d_types.h
|
Geometry Nodes: viewport preview
This adds support for showing geometry passed to the Viewer in the 3d
viewport (instead of just in the spreadsheet). The "viewer geometry"
bypasses the group output. So it is not necessary to change the final
output of the node group to be able to see the intermediate geometry.
**Activation and deactivation of a viewer node**
* A viewer node is activated by clicking on it.
* Ctrl+shift+click on any node/socket connects it to the viewer and
makes it active.
* Ctrl+shift+click in empty space deactivates the active viewer.
* When the active viewer is not visible anymore (e.g. another object
is selected, or the current node group is exit), it is deactivated.
* Clicking on the icon in the header of the Viewer node toggles whether
its active or not.
**Pinning**
* The spreadsheet still allows pinning the active viewer as before.
When pinned, the spreadsheet still references the viewer node even
when it becomes inactive.
* The viewport does not support pinning at the moment. It always shows
the active viewer.
**Attribute**
* When a field is linked to the second input of the viewer node it is
displayed as an overlay in the viewport.
* When possible the correct domain for the attribute is determined
automatically. This does not work in all cases. It falls back to the
face corner domain on meshes and the point domain on curves. When
necessary, the domain can be picked manually.
* The spreadsheet now only shows the "Viewer" column for the domain
that is selected in the Viewer node.
* Instance attributes are visualized as a constant color per instance.
**Viewport Options**
* The attribute overlay opacity can be controlled with the "Viewer Node"
setting in the overlays popover.
* A viewport can be configured not to show intermediate viewer-geometry
by disabling the "Viewer Node" option in the "View" menu.
**Implementation Details**
* The "spreadsheet context path" was generalized to a "viewer path" that
is used in more places now.
* The viewer node itself determines the attribute domain, evaluates the
field and stores the result in a `.viewer` attribute.
* A new "viewer attribute' overlay displays the data from the `.viewer`
attribute.
* The ground truth for the active viewer node is stored in the workspace
now. Node editors, spreadsheets and viewports retrieve the active
viewer from there unless they are pinned.
* The depsgraph object iterator has a new "viewer path" setting. When set,
the viewed geometry of the corresponding object is part of the iterator
instead of the final evaluated geometry.
* To support the instance attribute overlay `DupliObject` was extended
to contain the information necessary for drawing the overlay.
* The ctrl+shift+click operator has been refactored so that it can make
existing links to viewers active again.
* The auto-domain-detection in the Viewer node works by checking the
"preferred domain" for every field input. If there is not exactly one
preferred domain, the fallback is used.
Known limitations:
* Loose edges of meshes don't have the attribute overlay. This could be
added separately if necessary.
* Some attributes are hard to visualize as a color directly. For example,
the values might have to be normalized or some should be drawn as arrays.
For now, we encourage users to build node groups that generate appropriate
viewer-geometry. We might include some of that functionality in future versions.
Support for displaying attribute values as text in the viewport is planned as well.
* There seems to be an issue with the attribute overlay for pointclouds on
nvidia gpus, to be investigated.
Differential Revision: https://developer.blender.org/D15954
2022-09-28 17:54:59 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_viewer_path_types.h
|
2020-07-16 05:17:31 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_volume_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_windowmanager_types.h
|
Main Workspace Integration
This commit does the main integration of workspaces, which is a design we agreed on during the 2.8 UI workshop (see https://wiki.blender.org/index.php/Dev:2.8/UI/Workshop_Writeup)
Workspaces should generally be stable, I'm not aware of any remaining bugs (or I've forgotten them :) ). If you find any, let me know!
(Exception: mode switching button might get out of sync with actual mode in some cases, would consider that a limitation/ToDo. Needs to be resolved at some point.)
== Main Changes/Features
* Introduces the new Workspaces as data-blocks.
* Allow storing a number of custom workspaces as part of the user configuration. Needs further work to allow adding and deleting individual workspaces.
* Bundle a default workspace configuration with Blender (current screen-layouts converted to workspaces).
* Pressing button to add a workspace spawns a menu to select between "Duplicate Current" and the workspaces from the user configuration. If no workspaces are stored in the user configuration, the default workspaces are listed instead.
* Store screen-layouts (`bScreen`) per workspace.
* Store an active screen-layout per workspace. Changing the workspace will enable this layout.
* Store active mode in workspace. Changing the workspace will also enter the mode of the new workspace. (Note that we still store the active mode in the object, moving this completely to workspaces is a separate project.)
* Store an active render layer per workspace.
* Moved mode switch from 3D View header to Info Editor header.
* Store active scene in window (not directly workspace related, but overlaps quite a bit).
* Removed 'Use Global Scene' User Preference option.
* Compatibility with old files - a new workspace is created for every screen-layout of old files. Old Blender versions should be able to read files saved with workspace support as well.
* Default .blend only contains one workspace ("General").
* Support appending workspaces.
Opening files without UI and commandline rendering should work fine.
Note that the UI is temporary! We plan to introduce a new global topbar
that contains the workspace options and tabs for switching workspaces.
== Technical Notes
* Workspaces are data-blocks.
* Adding and removing `bScreen`s should be done through `ED_workspace_layout` API now.
* A workspace can be active in multiple windows at the same time.
* The mode menu (which is now in the Info Editor header) doesn't display "Grease Pencil Edit" mode anymore since its availability depends on the active editor. Will be fixed by making Grease Pencil an own object type (as planned).
* The button to change the active workspace object mode may get out of sync with the mode of the active object. Will either be resolved by moving mode out of object data, or we'll disable workspace modes again (there's a `#define USE_WORKSPACE_MODE` for that).
* Screen-layouts (`bScreen`) are IDs and thus stored in a main list-base. Had to add a wrapper `WorkSpaceLayout` so we can store them in a list-base within workspaces, too. On the long run we could completely replace `bScreen` by workspace structs.
* `WorkSpace` types use some special compiler trickery to allow marking structs and struct members as private. BKE_workspace API should be used for accessing those.
* Added scene operators `SCENE_OT_`. Was previously done through screen operators.
== BPY API Changes
* Removed `Screen.scene`, added `Window.scene`
* Removed `UserPreferencesView.use_global_scene`
* Added `Context.workspace`, `Window.workspace` and `BlendData.workspaces`
* Added `bpy.types.WorkSpace` containing `screens`, `object_mode` and `render_layer`
* Added Screen.layout_name for the layout name that'll be displayed in the UI (may differ from internal name)
== What's left?
* There are a few open design questions (T50521). We should find the needed answers and implement them.
* Allow adding and removing individual workspaces from workspace configuration (needs UI design).
* Get the override system ready and support overrides per workspace.
* Support custom UI setups as part of workspaces (hidden panels, hidden buttons, customizable toolbars, etc).
* Allow enabling add-ons per workspace.
* Support custom workspace keymaps.
* Remove special exception for workspaces in linking code (so they're always appended, never linked). Depends on a few things, so best to solve later.
* Get the topbar done.
* Workspaces need a proper icon, current one is just a placeholder :)
Reviewed By: campbellbarton, mont29
Tags: #user_interface, #bf_blender_2.8
Maniphest Tasks: T50521
Differential Revision: https://developer.blender.org/D2451
2017-06-01 19:56:58 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_workspace_types.h
|
2011-02-22 07:23:07 +01:00
|
|
|
${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 07:23:07 +01:00
|
|
|
)
|
|
|
|
|
2022-05-18 23:09:19 +02:00
|
|
|
set(SRC_DNA_DEFAULTS_INC
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_armature_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_asset_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_brush_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_cachefile_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_camera_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_collection_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_curve_defaults.h
|
2022-05-31 10:14:51 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_curves_defaults.h
|
2022-05-18 23:09:19 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_fluid_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_gpencil_modifier_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_image_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_lattice_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_light_defaults.h
|
2022-05-31 10:14:51 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_lightprobe_defaults.h
|
2022-05-18 23:09:19 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_linestyle_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_material_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_mesh_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_meta_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_modifier_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_movieclip_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_object_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_particle_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_pointcloud_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_scene_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_simulation_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_space_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_speaker_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_texture_defaults.h
|
2023-04-25 20:54:58 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_userdef_defaults.h
|
2022-05-18 23:09:19 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_vec_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_view3d_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_volume_defaults.h
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_world_defaults.h
|
|
|
|
)
|
|
|
|
|
2012-08-11 18:25:31 +02:00
|
|
|
add_subdirectory(datatoc)
|
2009-06-08 22:08:19 +02:00
|
|
|
add_subdirectory(editors)
|
2010-10-16 04:40:31 +02:00
|
|
|
add_subdirectory(windowmanager)
|
2022-11-14 12:41:55 +01:00
|
|
|
add_subdirectory(asset_system)
|
2009-06-08 22:08:19 +02:00
|
|
|
add_subdirectory(blenkernel)
|
|
|
|
add_subdirectory(blenlib)
|
2011-02-27 07:19:40 +01:00
|
|
|
add_subdirectory(bmesh)
|
2017-02-07 11:20:15 +01:00
|
|
|
add_subdirectory(draw)
|
2010-10-16 04:40:31 +02:00
|
|
|
add_subdirectory(render)
|
|
|
|
add_subdirectory(blenfont)
|
2015-08-16 09:32:01 +02:00
|
|
|
add_subdirectory(blentranslation)
|
2009-06-08 22:08:19 +02: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 12:05:57 +02:00
|
|
|
add_subdirectory(depsgraph)
|
2010-10-16 04:40:31 +02:00
|
|
|
add_subdirectory(ikplugin)
|
2020-07-16 14:27:47 +02:00
|
|
|
add_subdirectory(simulation)
|
2021-10-14 19:06:48 +02:00
|
|
|
add_subdirectory(geometry)
|
2009-06-08 22:08:19 +02:00
|
|
|
add_subdirectory(gpu)
|
2010-10-16 04:40:31 +02:00
|
|
|
add_subdirectory(imbuf)
|
2023-03-03 21:53:34 +01:00
|
|
|
add_subdirectory(imbuf/intern/oiio)
|
2010-10-16 04:40:31 +02:00
|
|
|
add_subdirectory(nodes)
|
|
|
|
add_subdirectory(modifiers)
|
2023-04-14 13:35:08 +02:00
|
|
|
add_subdirectory(gpencil_modifiers_legacy)
|
2020-10-05 02:58:56 +02:00
|
|
|
add_subdirectory(sequencer)
|
2018-07-31 10:22:19 +02:00
|
|
|
add_subdirectory(shader_fx)
|
2020-03-06 16:19:35 +01:00
|
|
|
add_subdirectory(io)
|
2020-06-08 17:37:43 +02:00
|
|
|
add_subdirectory(functions)
|
2009-06-08 22:08:19 +02:00
|
|
|
add_subdirectory(makesdna)
|
|
|
|
add_subdirectory(makesrna)
|
2022-08-09 15:59:56 +02:00
|
|
|
add_subdirectory(compositor)
|
2021-10-20 03:10:09 +02:00
|
|
|
|
|
|
|
if(WITH_BLENDER_THUMBNAILER)
|
|
|
|
add_subdirectory(blendthumb)
|
|
|
|
endif()
|
2006-11-17 03:27:12 +01:00
|
|
|
|
2012-06-30 16:14:22 +02:00
|
|
|
|
2010-08-03 13:25:34 +02:00
|
|
|
if(WITH_IMAGE_OPENEXR)
|
2009-06-08 22:08:19 +02:00
|
|
|
add_subdirectory(imbuf/intern/openexr)
|
2010-08-03 13:25:34 +02:00
|
|
|
endif()
|
2006-11-17 03:27:12 +01:00
|
|
|
|
2010-08-03 13:25:34 +02:00
|
|
|
if(WITH_IMAGE_CINEON)
|
|
|
|
add_subdirectory(imbuf/intern/cineon)
|
|
|
|
endif()
|
2008-10-28 19:33:34 +01:00
|
|
|
|
2008-12-31 06:20:35 +01:00
|
|
|
if(WITH_PYTHON)
|
2009-06-08 22:08:19 +02:00
|
|
|
add_subdirectory(python)
|
2009-01-17 04:51:13 +01:00
|
|
|
endif()
|
2009-09-19 00:25:49 +02:00
|
|
|
|
2012-12-20 08:57:26 +01:00
|
|
|
if(WITH_FREESTYLE)
|
|
|
|
add_subdirectory(freestyle)
|
|
|
|
endif()
|