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.
|
|
|
|
|
#
|
|
|
|
|
# The Original Code is: all of this file.
|
|
|
|
|
#
|
|
|
|
|
# Contributor(s): Jacques Beaurain.
|
|
|
|
|
#
|
2008-04-16 22:40:48 +00:00
|
|
|
# ***** END GPL LICENSE BLOCK *****
|
2006-11-17 02:27:12 +00:00
|
|
|
|
2012-03-27 00:17:57 +00:00
|
|
|
set(INC
|
2010-09-06 10:15:41 +00:00
|
|
|
.
|
2011-07-16 23:01:14 +00:00
|
|
|
../blenfont
|
2010-09-06 10:15:41 +00:00
|
|
|
../blenlib
|
|
|
|
|
../blenloader
|
2015-08-16 17:32:01 +10:00
|
|
|
../blentranslation
|
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
|
|
|
../depsgraph
|
2017-02-17 17:53:51 +01:00
|
|
|
../draw
|
2010-09-06 10:15:41 +00:00
|
|
|
../gpu
|
|
|
|
|
../ikplugin
|
|
|
|
|
../imbuf
|
|
|
|
|
../makesdna
|
|
|
|
|
../makesrna
|
2011-02-27 06:19:40 +00:00
|
|
|
../bmesh
|
2010-09-06 10:15:41 +00:00
|
|
|
../modifiers
|
|
|
|
|
../nodes
|
2014-09-13 14:36:46 +02:00
|
|
|
../physics
|
2010-09-06 10:15:41 +00:00
|
|
|
../render/extern/include
|
2014-11-23 14:37:13 +01:00
|
|
|
../../../intern/ghost
|
2010-09-06 10:15:41 +00:00
|
|
|
../../../intern/guardedalloc
|
2014-10-07 15:46:19 -05:00
|
|
|
../../../intern/glew-mx
|
2010-09-06 10:15:41 +00:00
|
|
|
../../../intern/iksolver/extern
|
|
|
|
|
../../../intern/memutil
|
2011-07-16 23:01:14 +00:00
|
|
|
../../../intern/mikktspace
|
2012-09-15 01:52:28 +00:00
|
|
|
../../../intern/smoke/extern
|
2013-08-19 10:44:18 +00:00
|
|
|
../../../intern/atomic
|
2018-03-29 20:38:32 +02:00
|
|
|
../../../intern/clog
|
2016-01-04 18:22:27 +05:00
|
|
|
../../../intern/libmv
|
2017-10-30 22:36:51 +11:00
|
|
|
../../../extern/curve_fit_nd
|
2011-05-31 01:15:44 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
set(INC_SYS
|
2011-04-05 23:31:01 +00:00
|
|
|
${GLEW_INCLUDE_PATH}
|
2011-01-25 14:43:13 +00:00
|
|
|
${ZLIB_INCLUDE_DIRS}
|
2006-11-17 02:27:12 +00:00
|
|
|
)
|
|
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
set(SRC
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/CCGSubSurf.c
|
2015-07-20 15:05:16 +02:00
|
|
|
intern/CCGSubSurf_legacy.c
|
2015-07-20 16:08:06 +02:00
|
|
|
intern/CCGSubSurf_opensubdiv.c
|
|
|
|
|
intern/CCGSubSurf_opensubdiv_converter.c
|
2015-07-20 15:05:16 +02:00
|
|
|
intern/CCGSubSurf_util.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/DerivedMesh.c
|
|
|
|
|
intern/action.c
|
2012-12-29 10:24:42 +00:00
|
|
|
intern/addon.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/anim.c
|
|
|
|
|
intern/anim_sys.c
|
2014-11-23 14:37:13 +01:00
|
|
|
intern/appdir.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/armature.c
|
2015-05-12 12:50:24 +05:00
|
|
|
intern/armature_update.c
|
2013-06-18 18:11:52 +00:00
|
|
|
intern/autoexec.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/blender.c
|
2016-04-24 22:42:41 +10:00
|
|
|
intern/blender_copybuffer.c
|
|
|
|
|
intern/blender_undo.c
|
2018-06-24 16:07:34 +02:00
|
|
|
intern/blender_user_menu.c
|
2016-04-24 22:42:41 +10:00
|
|
|
intern/blendfile.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/bmfont.c
|
2016-12-28 17:30:58 +01:00
|
|
|
intern/boids.c
|
2012-12-15 15:31:50 +00:00
|
|
|
intern/bpath.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/brush.c
|
|
|
|
|
intern/bvhutils.c
|
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
|
|
|
intern/cachefile.c
|
2011-11-05 13:00:39 +00:00
|
|
|
intern/camera.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/cdderivedmesh.c
|
|
|
|
|
intern/cloth.c
|
Render Layers and Collections (merge from render-layers)
Design Documents
----------------
* https://wiki.blender.org/index.php/Dev:2.8/Source/Layers
* https://wiki.blender.org/index.php/Dev:2.8/Source/DataDesignRevised
User Commit Log
---------------
* New Layer and Collection system to replace render layers and viewport layers.
* A layer is a set of collections of objects (and their drawing options) required for specific tasks.
* A collection is a set of objects, equivalent of the old layers in Blender. A collection can be shared across multiple layers.
* All Scenes have a master collection that all other collections are children of.
* New collection "context" tab (in Properties Editor)
* New temporary viewport "collections" panel to control per-collection
visibility
Missing User Features
---------------------
* Collection "Filter"
Option to add objects based on their names
* Collection Manager operators
The existing buttons are placeholders
* Collection Manager drawing
The editor main region is empty
* Collection Override
* Per-Collection engine settings
This will come as a separate commit, as part of the clay-engine branch
Dev Commit Log
--------------
* New DNA file (DNA_layer_types.h) with the new structs
We are replacing Base by a new extended Base while keeping it backward
compatible with some legacy settings (i.e., lay, flag_legacy).
Renamed all Base to BaseLegacy to make it clear the areas of code that
still need to be converted
Note: manual changes were required on - deg_builder_nodes.h, rna_object.c, KX_Light.cpp
* Unittesting for main syncronization requirements
- read, write, add/copy/remove objects, copy scene, collection
link/unlinking, context)
* New Editor: Collection Manager
Based on patch by Julian Eisel
This is extracted from the layer-manager branch. With the following changes:
- Renamed references of layer manager to collections manager
- I doesn't include the editors/space_collections/ draw and util files
- The drawing code itself will be implemented separately by Julian
* Base / Object:
A little note about them. Original Blender code would try to keep them
in sync through the code, juggling flags back and forth. This will now
be handled by Depsgraph, keeping Object and Bases more separated
throughout the non-rendering code.
Scene.base is being cleared in doversion, and the old viewport drawing
code was poorly converted to use the new bases while the new viewport
code doesn't get merged and replace the old one.
Python API Changes
------------------
```
- scene.layers
+ # no longer exists
- scene.objects
+ scene.scene_layers.active.objects
- scene.objects.active
+ scene.render_layers.active.objects.active
- bpy.context.scene.objects.link()
+ bpy.context.scene_collection.objects.link()
- bpy_extras.object_utils.object_data_add(context, obdata, operator=None, use_active_layer=True, name=None)
+ bpy_extras.object_utils.object_data_add(context, obdata, operator=None, name=None)
- bpy.context.object.select
+ bpy.context.object.select = True
+ bpy.context.object.select = False
+ bpy.context.object.select_get()
+ bpy.context.object.select_set(action='SELECT')
+ bpy.context.object.select_set(action='DESELECT')
-AddObjectHelper.layers
+ # no longer exists
```
2017-02-07 10:18:38 +01:00
|
|
|
intern/collection.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/collision.c
|
2017-12-07 15:36:26 +11:00
|
|
|
intern/colorband.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/colortools.c
|
|
|
|
|
intern/constraint.c
|
|
|
|
|
intern/context.c
|
2014-09-09 01:43:25 +10:00
|
|
|
intern/crazyspace.c
|
|
|
|
|
intern/curve.c
|
2017-10-30 22:36:51 +11:00
|
|
|
intern/curve_decimate.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/customdata.c
|
|
|
|
|
intern/customdata_file.c
|
2015-01-12 12:03:28 +01:00
|
|
|
intern/data_transfer.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/deform.c
|
|
|
|
|
intern/displist.c
|
2011-05-24 07:08:58 +00:00
|
|
|
intern/dynamicpaint.c
|
2011-12-02 03:16:06 +00:00
|
|
|
intern/editderivedmesh.c
|
2018-03-19 14:49:59 +01:00
|
|
|
intern/editlattice.c
|
2013-04-16 05:46:17 +00:00
|
|
|
intern/editmesh.c
|
2013-04-16 05:23:34 +00:00
|
|
|
intern/editmesh_bvh.c
|
2017-05-09 08:50:45 +10:00
|
|
|
intern/editmesh_tangent.c
|
2012-03-08 03:25:53 +00:00
|
|
|
intern/effect.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/fcurve.c
|
|
|
|
|
intern/fluidsim.c
|
|
|
|
|
intern/fmodifier.c
|
|
|
|
|
intern/font.c
|
2013-03-23 03:00:37 +00:00
|
|
|
intern/freestyle.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/gpencil.c
|
|
|
|
|
intern/icons.c
|
2018-04-21 21:10:09 +02:00
|
|
|
intern/icons_rasterize.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/idcode.c
|
|
|
|
|
intern/idprop.c
|
2018-05-05 14:27:54 +02:00
|
|
|
intern/idprop_utils.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/image.c
|
|
|
|
|
intern/image_gen.c
|
|
|
|
|
intern/ipo.c
|
|
|
|
|
intern/key.c
|
2011-11-05 13:11:49 +00:00
|
|
|
intern/lamp.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/lattice.c
|
|
|
|
|
intern/library.c
|
2016-06-07 16:07:13 +10:00
|
|
|
intern/library_idmap.c
|
2017-11-29 15:05:03 +01:00
|
|
|
intern/library_override.c
|
2014-03-26 16:55:20 +06:00
|
|
|
intern/library_query.c
|
ID-Remap - Step one: core work (cleanup and rework of generic ID datablock handling).
This commit changes a lot of how IDs are handled internally, especially the unlinking/freeing
processes. So far, this was very fuzy, to summarize cleanly deleting or replacing a datablock
was pretty much impossible, except for a few special cases.
Also, unlinking was handled by each datatype, in a rather messy and prone-to-errors way (quite
a few ID usages were missed or wrongly handled that way).
One of the main goal of id-remap branch was to cleanup this, and fatorize ID links handling
by using library_query utils to allow generic handling of those, which is now the case
(now, generic ID links handling is only "knwon" from readfile.c and library_query.c).
This commit also adds backends to allow live replacement and deletion of datablocks in Blender
(so-called 'remapping' process, where we replace all usages of a given ID pointer by a new one,
or NULL one in case of unlinking).
This will allow nice new features, like ability to easily reload or relocate libraries, real immediate
deletion of datablocks in blender, replacement of one datablock by another, etc.
Some of those are for next commits.
A word of warning: this commit is highly risky, because it affects potentially a lot in Blender core.
Though it was tested rather deeply, being totally impossible to check all possible ID usage cases,
it's likely there are some remaining issues and bugs in new code... Please report them! ;)
Review task: D2027 (https://developer.blender.org/D2027).
Reviewed by campbellbarton, thanks a bunch.
2016-06-22 17:29:38 +02:00
|
|
|
intern/library_remap.c
|
2013-03-23 03:00:37 +00:00
|
|
|
intern/linestyle.c
|
2012-12-15 15:31:50 +00:00
|
|
|
intern/mask.c
|
2012-12-11 22:00:22 +00:00
|
|
|
intern/mask_evaluate.c
|
|
|
|
|
intern/mask_rasterize.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/material.c
|
|
|
|
|
intern/mball.c
|
2015-02-26 14:39:57 +11:00
|
|
|
intern/mball_tessellate.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/mesh.c
|
2018-05-08 17:44:54 +02:00
|
|
|
intern/mesh_convert.c
|
2013-09-09 02:11:44 +00:00
|
|
|
intern/mesh_evaluate.c
|
2018-06-20 10:03:50 +02:00
|
|
|
intern/mesh_iterators.c
|
2014-01-23 22:34:56 +11:00
|
|
|
intern/mesh_mapping.c
|
2018-04-25 12:21:07 +02:00
|
|
|
intern/mesh_merge.c
|
BKE: Add 'mesh remap' code.
This is the (big!) core of mesh transfer data, it defines a set of structures
to represent a mapping of mesh elements (verts, edges, polys of loops) between
two arbitrary meshes, and code to compute such mappings.
No similarity is required between source and destination meshes (though results
when using complete different meshes are rather unlikely to be useful!).
This code is not bound to data transfer, it is defined to be as generic as possible,
and easy to reuse or extend as needs arise.
Several methods of mapping generation are defined for each element type,
we probably will have to adjust that in future (remove useless ones, add
new ones...).
For loops, you can also define islands (for UVs e.g.) so that loops of a same
destination polygon do not 'spread' across several source islands.
Heavily reviewed and enhanced by Campbell, thanks a lot!
2015-01-09 18:23:17 +01:00
|
|
|
intern/mesh_remap.c
|
2018-05-08 10:07:21 +02:00
|
|
|
intern/mesh_runtime.c
|
2017-05-24 22:33:21 +10:00
|
|
|
intern/mesh_tangent.c
|
2011-02-09 02:28:11 +00:00
|
|
|
intern/mesh_validate.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/modifier.c
|
2011-11-07 12:55:18 +00:00
|
|
|
intern/movieclip.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/multires.c
|
|
|
|
|
intern/nla.c
|
|
|
|
|
intern/node.c
|
|
|
|
|
intern/object.c
|
2017-05-30 17:58:24 +10:00
|
|
|
intern/object_facemap.c
|
2012-09-05 02:51:55 +00:00
|
|
|
intern/object_deform.c
|
2014-01-21 12:11:34 +01:00
|
|
|
intern/object_dupli.c
|
2015-05-12 12:50:24 +05:00
|
|
|
intern/object_update.c
|
2012-03-08 03:25:53 +00:00
|
|
|
intern/ocean.c
|
2015-04-07 11:01:47 +10:00
|
|
|
intern/outliner_treehash.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/packedFile.c
|
|
|
|
|
intern/paint.c
|
2016-12-28 17:30:58 +01:00
|
|
|
intern/particle.c
|
|
|
|
|
intern/particle_child.c
|
|
|
|
|
intern/particle_distribute.c
|
|
|
|
|
intern/particle_system.c
|
2012-12-15 15:59:25 +00:00
|
|
|
intern/pbvh.c
|
2012-12-30 18:28:36 +00:00
|
|
|
intern/pbvh_bmesh.c
|
2016-12-28 17:30:58 +01:00
|
|
|
intern/pointcache.c
|
Render Layers and Collections (merge from render-layers)
Design Documents
----------------
* https://wiki.blender.org/index.php/Dev:2.8/Source/Layers
* https://wiki.blender.org/index.php/Dev:2.8/Source/DataDesignRevised
User Commit Log
---------------
* New Layer and Collection system to replace render layers and viewport layers.
* A layer is a set of collections of objects (and their drawing options) required for specific tasks.
* A collection is a set of objects, equivalent of the old layers in Blender. A collection can be shared across multiple layers.
* All Scenes have a master collection that all other collections are children of.
* New collection "context" tab (in Properties Editor)
* New temporary viewport "collections" panel to control per-collection
visibility
Missing User Features
---------------------
* Collection "Filter"
Option to add objects based on their names
* Collection Manager operators
The existing buttons are placeholders
* Collection Manager drawing
The editor main region is empty
* Collection Override
* Per-Collection engine settings
This will come as a separate commit, as part of the clay-engine branch
Dev Commit Log
--------------
* New DNA file (DNA_layer_types.h) with the new structs
We are replacing Base by a new extended Base while keeping it backward
compatible with some legacy settings (i.e., lay, flag_legacy).
Renamed all Base to BaseLegacy to make it clear the areas of code that
still need to be converted
Note: manual changes were required on - deg_builder_nodes.h, rna_object.c, KX_Light.cpp
* Unittesting for main syncronization requirements
- read, write, add/copy/remove objects, copy scene, collection
link/unlinking, context)
* New Editor: Collection Manager
Based on patch by Julian Eisel
This is extracted from the layer-manager branch. With the following changes:
- Renamed references of layer manager to collections manager
- I doesn't include the editors/space_collections/ draw and util files
- The drawing code itself will be implemented separately by Julian
* Base / Object:
A little note about them. Original Blender code would try to keep them
in sync through the code, juggling flags back and forth. This will now
be handled by Depsgraph, keeping Object and Bases more separated
throughout the non-rendering code.
Scene.base is being cleared in doversion, and the old viewport drawing
code was poorly converted to use the new bases while the new viewport
code doesn't get merged and replace the old one.
Python API Changes
------------------
```
- scene.layers
+ # no longer exists
- scene.objects
+ scene.scene_layers.active.objects
- scene.objects.active
+ scene.render_layers.active.objects.active
- bpy.context.scene.objects.link()
+ bpy.context.scene_collection.objects.link()
- bpy_extras.object_utils.object_data_add(context, obdata, operator=None, use_active_layer=True, name=None)
+ bpy_extras.object_utils.object_data_add(context, obdata, operator=None, name=None)
- bpy.context.object.select
+ bpy.context.object.select = True
+ bpy.context.object.select = False
+ bpy.context.object.select_get()
+ bpy.context.object.select_set(action='SELECT')
+ bpy.context.object.select_set(action='DESELECT')
-AddObjectHelper.layers
+ # no longer exists
```
2017-02-07 10:18:38 +01:00
|
|
|
intern/layer.c
|
2018-04-16 16:27:55 +02:00
|
|
|
intern/layer_utils.c
|
2017-06-12 20:59:54 +10:00
|
|
|
intern/lightprobe.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/report.c
|
2013-01-23 05:56:22 +00:00
|
|
|
intern/rigidbody.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/scene.c
|
|
|
|
|
intern/screen.c
|
|
|
|
|
intern/seqcache.c
|
|
|
|
|
intern/seqeffects.c
|
2012-08-19 15:41:56 +00:00
|
|
|
intern/seqmodifier.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/sequencer.c
|
|
|
|
|
intern/shrinkwrap.c
|
|
|
|
|
intern/smoke.c
|
|
|
|
|
intern/softbody.c
|
|
|
|
|
intern/sound.c
|
2011-08-04 07:12:03 +00:00
|
|
|
intern/speaker.c
|
2018-05-11 16:55:14 +02:00
|
|
|
intern/studiolight.c
|
2018-07-17 18:09:18 +02:00
|
|
|
intern/subdiv.c
|
|
|
|
|
intern/subdiv_converter.c
|
|
|
|
|
intern/subdiv_converter_mesh.c
|
|
|
|
|
intern/subdiv_eval.c
|
|
|
|
|
intern/subdiv_mesh.c
|
2018-07-19 16:27:18 +02:00
|
|
|
intern/subdiv_stats.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/subsurf_ccg.c
|
|
|
|
|
intern/suggestions.c
|
|
|
|
|
intern/text.c
|
|
|
|
|
intern/texture.c
|
2011-11-07 12:55:18 +00:00
|
|
|
intern/tracking.c
|
2014-06-22 20:19:48 +06:00
|
|
|
intern/tracking_auto.c
|
2013-12-30 17:03:59 +06:00
|
|
|
intern/tracking_detect.c
|
|
|
|
|
intern/tracking_plane_tracker.c
|
|
|
|
|
intern/tracking_region_tracker.c
|
|
|
|
|
intern/tracking_solver.c
|
|
|
|
|
intern/tracking_stabilize.c
|
|
|
|
|
intern/tracking_util.c
|
2018-03-19 14:17:59 +01:00
|
|
|
intern/undo_system.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/unit.c
|
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
|
|
|
intern/workspace.c
|
2010-10-23 04:05:55 +00:00
|
|
|
intern/world.c
|
|
|
|
|
intern/writeavi.c
|
2013-04-05 16:53:24 +00:00
|
|
|
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_DerivedMesh.h
|
|
|
|
|
BKE_action.h
|
2012-12-29 10:24:42 +00:00
|
|
|
BKE_addon.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_anim.h
|
|
|
|
|
BKE_animsys.h
|
2014-11-23 14:37:13 +01:00
|
|
|
BKE_appdir.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_armature.h
|
2013-06-18 18:11:52 +00:00
|
|
|
BKE_autoexec.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_blender.h
|
2016-04-24 22:42:41 +10:00
|
|
|
BKE_blender_copybuffer.h
|
|
|
|
|
BKE_blender_undo.h
|
|
|
|
|
BKE_blender_version.h
|
|
|
|
|
BKE_blendfile.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_bmfont.h
|
|
|
|
|
BKE_bmfont_types.h
|
2016-12-28 17:30:58 +01:00
|
|
|
BKE_boids.h
|
2012-12-15 15:59:25 +00:00
|
|
|
BKE_bpath.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_brush.h
|
|
|
|
|
BKE_bvhutils.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
|
|
|
BKE_cachefile.h
|
2011-11-05 13:00:39 +00:00
|
|
|
BKE_camera.h
|
2012-05-17 23:12:15 +00:00
|
|
|
BKE_ccg.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_cdderivedmesh.h
|
|
|
|
|
BKE_cloth.h
|
Render Layers and Collections (merge from render-layers)
Design Documents
----------------
* https://wiki.blender.org/index.php/Dev:2.8/Source/Layers
* https://wiki.blender.org/index.php/Dev:2.8/Source/DataDesignRevised
User Commit Log
---------------
* New Layer and Collection system to replace render layers and viewport layers.
* A layer is a set of collections of objects (and their drawing options) required for specific tasks.
* A collection is a set of objects, equivalent of the old layers in Blender. A collection can be shared across multiple layers.
* All Scenes have a master collection that all other collections are children of.
* New collection "context" tab (in Properties Editor)
* New temporary viewport "collections" panel to control per-collection
visibility
Missing User Features
---------------------
* Collection "Filter"
Option to add objects based on their names
* Collection Manager operators
The existing buttons are placeholders
* Collection Manager drawing
The editor main region is empty
* Collection Override
* Per-Collection engine settings
This will come as a separate commit, as part of the clay-engine branch
Dev Commit Log
--------------
* New DNA file (DNA_layer_types.h) with the new structs
We are replacing Base by a new extended Base while keeping it backward
compatible with some legacy settings (i.e., lay, flag_legacy).
Renamed all Base to BaseLegacy to make it clear the areas of code that
still need to be converted
Note: manual changes were required on - deg_builder_nodes.h, rna_object.c, KX_Light.cpp
* Unittesting for main syncronization requirements
- read, write, add/copy/remove objects, copy scene, collection
link/unlinking, context)
* New Editor: Collection Manager
Based on patch by Julian Eisel
This is extracted from the layer-manager branch. With the following changes:
- Renamed references of layer manager to collections manager
- I doesn't include the editors/space_collections/ draw and util files
- The drawing code itself will be implemented separately by Julian
* Base / Object:
A little note about them. Original Blender code would try to keep them
in sync through the code, juggling flags back and forth. This will now
be handled by Depsgraph, keeping Object and Bases more separated
throughout the non-rendering code.
Scene.base is being cleared in doversion, and the old viewport drawing
code was poorly converted to use the new bases while the new viewport
code doesn't get merged and replace the old one.
Python API Changes
------------------
```
- scene.layers
+ # no longer exists
- scene.objects
+ scene.scene_layers.active.objects
- scene.objects.active
+ scene.render_layers.active.objects.active
- bpy.context.scene.objects.link()
+ bpy.context.scene_collection.objects.link()
- bpy_extras.object_utils.object_data_add(context, obdata, operator=None, use_active_layer=True, name=None)
+ bpy_extras.object_utils.object_data_add(context, obdata, operator=None, name=None)
- bpy.context.object.select
+ bpy.context.object.select = True
+ bpy.context.object.select = False
+ bpy.context.object.select_get()
+ bpy.context.object.select_set(action='SELECT')
+ bpy.context.object.select_set(action='DESELECT')
-AddObjectHelper.layers
+ # no longer exists
```
2017-02-07 10:18:38 +01:00
|
|
|
BKE_collection.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_collision.h
|
2017-12-07 15:36:26 +11:00
|
|
|
BKE_colorband.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_colortools.h
|
|
|
|
|
BKE_constraint.h
|
|
|
|
|
BKE_context.h
|
2014-09-09 01:43:25 +10:00
|
|
|
BKE_crazyspace.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_curve.h
|
|
|
|
|
BKE_customdata.h
|
|
|
|
|
BKE_customdata_file.h
|
2015-01-12 12:03:28 +01:00
|
|
|
BKE_data_transfer.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_deform.h
|
|
|
|
|
BKE_displist.h
|
2011-11-10 13:00:27 +00:00
|
|
|
BKE_dynamicpaint.h
|
2018-03-19 14:49:59 +01:00
|
|
|
BKE_editlattice.h
|
2015-04-07 11:01:47 +10:00
|
|
|
BKE_editmesh.h
|
|
|
|
|
BKE_editmesh_bvh.h
|
2017-05-09 08:50:45 +10:00
|
|
|
BKE_editmesh_tangent.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_effect.h
|
|
|
|
|
BKE_fcurve.h
|
|
|
|
|
BKE_fluidsim.h
|
|
|
|
|
BKE_font.h
|
2013-03-23 03:00:37 +00:00
|
|
|
BKE_freestyle.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_global.h
|
|
|
|
|
BKE_gpencil.h
|
|
|
|
|
BKE_icons.h
|
|
|
|
|
BKE_idcode.h
|
|
|
|
|
BKE_idprop.h
|
|
|
|
|
BKE_image.h
|
|
|
|
|
BKE_ipo.h
|
|
|
|
|
BKE_key.h
|
2011-11-05 13:11:49 +00:00
|
|
|
BKE_lamp.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_lattice.h
|
|
|
|
|
BKE_library.h
|
2016-06-07 16:07:13 +10:00
|
|
|
BKE_library_idmap.h
|
2017-11-29 15:05:03 +01:00
|
|
|
BKE_library_override.h
|
2014-03-26 16:55:20 +06:00
|
|
|
BKE_library_query.h
|
ID-Remap - Step one: core work (cleanup and rework of generic ID datablock handling).
This commit changes a lot of how IDs are handled internally, especially the unlinking/freeing
processes. So far, this was very fuzy, to summarize cleanly deleting or replacing a datablock
was pretty much impossible, except for a few special cases.
Also, unlinking was handled by each datatype, in a rather messy and prone-to-errors way (quite
a few ID usages were missed or wrongly handled that way).
One of the main goal of id-remap branch was to cleanup this, and fatorize ID links handling
by using library_query utils to allow generic handling of those, which is now the case
(now, generic ID links handling is only "knwon" from readfile.c and library_query.c).
This commit also adds backends to allow live replacement and deletion of datablocks in Blender
(so-called 'remapping' process, where we replace all usages of a given ID pointer by a new one,
or NULL one in case of unlinking).
This will allow nice new features, like ability to easily reload or relocate libraries, real immediate
deletion of datablocks in blender, replacement of one datablock by another, etc.
Some of those are for next commits.
A word of warning: this commit is highly risky, because it affects potentially a lot in Blender core.
Though it was tested rather deeply, being totally impossible to check all possible ID usage cases,
it's likely there are some remaining issues and bugs in new code... Please report them! ;)
Review task: D2027 (https://developer.blender.org/D2027).
Reviewed by campbellbarton, thanks a bunch.
2016-06-22 17:29:38 +02:00
|
|
|
BKE_library_remap.h
|
2013-03-23 03:00:37 +00:00
|
|
|
BKE_linestyle.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_main.h
|
2012-10-14 13:08:19 +00:00
|
|
|
BKE_mask.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_material.h
|
|
|
|
|
BKE_mball.h
|
2015-02-26 14:39:57 +11:00
|
|
|
BKE_mball_tessellate.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_mesh.h
|
2018-06-20 10:03:50 +02:00
|
|
|
BKE_mesh_iterators.h
|
2014-01-23 22:34:56 +11:00
|
|
|
BKE_mesh_mapping.h
|
BKE: Add 'mesh remap' code.
This is the (big!) core of mesh transfer data, it defines a set of structures
to represent a mapping of mesh elements (verts, edges, polys of loops) between
two arbitrary meshes, and code to compute such mappings.
No similarity is required between source and destination meshes (though results
when using complete different meshes are rather unlikely to be useful!).
This code is not bound to data transfer, it is defined to be as generic as possible,
and easy to reuse or extend as needs arise.
Several methods of mapping generation are defined for each element type,
we probably will have to adjust that in future (remove useless ones, add
new ones...).
For loops, you can also define islands (for UVs e.g.) so that loops of a same
destination polygon do not 'spread' across several source islands.
Heavily reviewed and enhanced by Campbell, thanks a lot!
2015-01-09 18:23:17 +01:00
|
|
|
BKE_mesh_remap.h
|
2018-07-04 12:09:35 +02:00
|
|
|
BKE_mesh_runtime.h
|
2017-05-24 22:33:21 +10:00
|
|
|
BKE_mesh_tangent.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_modifier.h
|
2011-11-07 12:55:18 +00:00
|
|
|
BKE_movieclip.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_multires.h
|
|
|
|
|
BKE_nla.h
|
|
|
|
|
BKE_node.h
|
|
|
|
|
BKE_object.h
|
2017-05-30 17:58:24 +10:00
|
|
|
BKE_object_facemap.h
|
2012-09-05 02:51:55 +00:00
|
|
|
BKE_object_deform.h
|
2012-03-08 03:25:53 +00:00
|
|
|
BKE_ocean.h
|
2015-04-07 11:01:47 +10:00
|
|
|
BKE_outliner_treehash.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_packedFile.h
|
|
|
|
|
BKE_paint.h
|
2016-12-28 17:30:58 +01:00
|
|
|
BKE_particle.h
|
2012-12-15 15:59:25 +00:00
|
|
|
BKE_pbvh.h
|
2016-12-28 17:30:58 +01:00
|
|
|
BKE_pointcache.h
|
Render Layers and Collections (merge from render-layers)
Design Documents
----------------
* https://wiki.blender.org/index.php/Dev:2.8/Source/Layers
* https://wiki.blender.org/index.php/Dev:2.8/Source/DataDesignRevised
User Commit Log
---------------
* New Layer and Collection system to replace render layers and viewport layers.
* A layer is a set of collections of objects (and their drawing options) required for specific tasks.
* A collection is a set of objects, equivalent of the old layers in Blender. A collection can be shared across multiple layers.
* All Scenes have a master collection that all other collections are children of.
* New collection "context" tab (in Properties Editor)
* New temporary viewport "collections" panel to control per-collection
visibility
Missing User Features
---------------------
* Collection "Filter"
Option to add objects based on their names
* Collection Manager operators
The existing buttons are placeholders
* Collection Manager drawing
The editor main region is empty
* Collection Override
* Per-Collection engine settings
This will come as a separate commit, as part of the clay-engine branch
Dev Commit Log
--------------
* New DNA file (DNA_layer_types.h) with the new structs
We are replacing Base by a new extended Base while keeping it backward
compatible with some legacy settings (i.e., lay, flag_legacy).
Renamed all Base to BaseLegacy to make it clear the areas of code that
still need to be converted
Note: manual changes were required on - deg_builder_nodes.h, rna_object.c, KX_Light.cpp
* Unittesting for main syncronization requirements
- read, write, add/copy/remove objects, copy scene, collection
link/unlinking, context)
* New Editor: Collection Manager
Based on patch by Julian Eisel
This is extracted from the layer-manager branch. With the following changes:
- Renamed references of layer manager to collections manager
- I doesn't include the editors/space_collections/ draw and util files
- The drawing code itself will be implemented separately by Julian
* Base / Object:
A little note about them. Original Blender code would try to keep them
in sync through the code, juggling flags back and forth. This will now
be handled by Depsgraph, keeping Object and Bases more separated
throughout the non-rendering code.
Scene.base is being cleared in doversion, and the old viewport drawing
code was poorly converted to use the new bases while the new viewport
code doesn't get merged and replace the old one.
Python API Changes
------------------
```
- scene.layers
+ # no longer exists
- scene.objects
+ scene.scene_layers.active.objects
- scene.objects.active
+ scene.render_layers.active.objects.active
- bpy.context.scene.objects.link()
+ bpy.context.scene_collection.objects.link()
- bpy_extras.object_utils.object_data_add(context, obdata, operator=None, use_active_layer=True, name=None)
+ bpy_extras.object_utils.object_data_add(context, obdata, operator=None, name=None)
- bpy.context.object.select
+ bpy.context.object.select = True
+ bpy.context.object.select = False
+ bpy.context.object.select_get()
+ bpy.context.object.select_set(action='SELECT')
+ bpy.context.object.select_set(action='DESELECT')
-AddObjectHelper.layers
+ # no longer exists
```
2017-02-07 10:18:38 +01:00
|
|
|
BKE_layer.h
|
2017-06-12 20:59:54 +10:00
|
|
|
BKE_lightprobe.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_report.h
|
2013-01-23 05:56:22 +00:00
|
|
|
BKE_rigidbody.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_scene.h
|
|
|
|
|
BKE_screen.h
|
|
|
|
|
BKE_sequencer.h
|
|
|
|
|
BKE_shrinkwrap.h
|
|
|
|
|
BKE_smoke.h
|
|
|
|
|
BKE_softbody.h
|
|
|
|
|
BKE_sound.h
|
2011-08-04 07:12:03 +00:00
|
|
|
BKE_speaker.h
|
2018-05-11 16:55:14 +02:00
|
|
|
BKE_studiolight.h
|
2018-07-17 18:09:18 +02:00
|
|
|
BKE_subdiv.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_subsurf.h
|
|
|
|
|
BKE_suggestions.h
|
|
|
|
|
BKE_text.h
|
|
|
|
|
BKE_texture.h
|
2011-11-07 12:55:18 +00:00
|
|
|
BKE_tracking.h
|
2018-03-19 14:17:59 +01:00
|
|
|
BKE_undo_system.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_unit.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
|
|
|
BKE_workspace.h
|
2010-11-29 04:35:56 +00:00
|
|
|
BKE_world.h
|
|
|
|
|
BKE_writeavi.h
|
2012-12-15 15:31:50 +00:00
|
|
|
|
2010-11-29 04:35:56 +00:00
|
|
|
nla_private.h
|
2014-01-04 13:13:29 +11:00
|
|
|
tracking_private.h
|
2018-02-14 11:52:58 +01:00
|
|
|
particle_private.h
|
2012-03-08 03:25:53 +00:00
|
|
|
intern/CCGSubSurf.h
|
2015-07-20 15:05:16 +02:00
|
|
|
intern/CCGSubSurf_inline.h
|
|
|
|
|
intern/CCGSubSurf_intern.h
|
Transfer Data: add main core code and operators.
This add code needed to map a CD data layout from source mesh towards destination one,
and code needed to actually transfer data, using BKE's mesh remap generated data.
This allows to transfer most CD layers (vgroups, vcols, uvs...) as well as fake, boolean ones
(like smooth/sharp edges/faces, etc.). Some types are not yet transferable, mainly
shape keys, this is known TODO.
Data transfer can also use some advanced mixing in some cases (mostly, vgroups and vcols).
Notes:
* New transfer operators transfer data from active object towards selected ones.
* Modifier will be committed separately.
* Old weight transfer code (for vgroups) is kept for now, mostly because it is the only
usable one in weightpaint mode (it transfers from selected object to active one,
this is not sensible in Object mode, but needed in WeightPaint one). This will be addressed soon.
Again, heavily reviewed and enhanced by Campbell, thanks!
2015-01-09 19:11:40 +01:00
|
|
|
intern/data_transfer_intern.h
|
2018-07-17 18:09:18 +02:00
|
|
|
intern/pbvh_intern.h
|
|
|
|
|
intern/subdiv_converter.h
|
2010-10-23 04:05:55 +00:00
|
|
|
)
|
2010-04-11 22:12:30 +00:00
|
|
|
|
2014-12-07 13:21:02 +01:00
|
|
|
if(WITH_BINRELOC)
|
|
|
|
|
list(APPEND INC_SYS
|
|
|
|
|
${BINRELOC_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
add_definitions(-DWITH_BINRELOC)
|
|
|
|
|
endif()
|
|
|
|
|
|
2014-10-07 15:46:19 -05:00
|
|
|
add_definitions(${GL_DEFINITIONS})
|
2009-11-21 20:36:03 +00:00
|
|
|
|
2014-11-23 14:37:13 +01:00
|
|
|
if(WIN32)
|
|
|
|
|
list(APPEND INC
|
|
|
|
|
../../../intern/utfconv
|
|
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
|
2011-06-23 09:27:56 +00:00
|
|
|
if(WITH_AUDASPACE)
|
2017-08-18 08:24:12 +02:00
|
|
|
add_definitions(-DWITH_AUDASPACE)
|
2014-03-04 13:44:15 +01:00
|
|
|
|
2015-06-16 10:03:35 +02:00
|
|
|
list(APPEND INC_SYS
|
|
|
|
|
${AUDASPACE_C_INCLUDE_DIRS}
|
|
|
|
|
)
|
2011-06-23 09:27:56 +00:00
|
|
|
endif()
|
|
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_BULLET)
|
2012-10-14 08:49:01 +00:00
|
|
|
list(APPEND INC_SYS
|
2013-01-03 00:23:52 +00:00
|
|
|
${BULLET_INCLUDE_DIRS}
|
2011-07-16 23:01:14 +00:00
|
|
|
)
|
2013-01-23 07:26:39 +00:00
|
|
|
list(APPEND INC
|
2013-02-01 06:24:49 +00:00
|
|
|
../../../intern/rigidbody
|
2013-01-23 07:26:39 +00:00
|
|
|
)
|
|
|
|
|
add_definitions(-DWITH_BULLET)
|
2010-12-08 08:43:06 +00:00
|
|
|
endif()
|
2006-11-17 02:27:12 +00:00
|
|
|
|
2012-12-04 14:43:42 +00:00
|
|
|
#if(WITH_MOD_CLOTH_ELTOPO)
|
|
|
|
|
# list(APPEND INC
|
|
|
|
|
# ../../../extern/eltopo
|
|
|
|
|
# ../../../extern/eltopo/eltopo3d
|
|
|
|
|
# )
|
|
|
|
|
# add_definitions(-DWITH_ELTOPO)
|
|
|
|
|
#endif()
|
2011-05-01 21:39:13 +00:00
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_IMAGE_OPENEXR)
|
|
|
|
|
add_definitions(-DWITH_OPENEXR)
|
|
|
|
|
endif()
|
2006-11-17 02:27:12 +00:00
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_IMAGE_TIFF)
|
|
|
|
|
add_definitions(-DWITH_TIFF)
|
|
|
|
|
endif()
|
2010-05-21 03:25:38 +00:00
|
|
|
|
2014-09-09 01:43:25 +10:00
|
|
|
if(WITH_OPENIMAGEIO)
|
|
|
|
|
add_definitions(-DWITH_OPENIMAGEIO)
|
|
|
|
|
endif()
|
|
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_IMAGE_OPENJPEG)
|
|
|
|
|
add_definitions(-DWITH_OPENJPEG)
|
|
|
|
|
endif()
|
2009-09-18 22:25:49 +00:00
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_IMAGE_DDS)
|
|
|
|
|
add_definitions(-DWITH_DDS)
|
|
|
|
|
endif()
|
2010-08-03 11:25:34 +00:00
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_IMAGE_CINEON)
|
|
|
|
|
add_definitions(-DWITH_CINEON)
|
|
|
|
|
endif()
|
2010-08-03 11:25:34 +00:00
|
|
|
|
2011-07-21 23:06:51 +00:00
|
|
|
if(WITH_IMAGE_FRAMESERVER)
|
|
|
|
|
add_definitions(-DWITH_FRAMESERVER)
|
|
|
|
|
endif()
|
|
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_IMAGE_HDR)
|
|
|
|
|
add_definitions(-DWITH_HDR)
|
|
|
|
|
endif()
|
2008-10-28 18:33:34 +00:00
|
|
|
|
2012-10-08 02:51:42 +00:00
|
|
|
if(WITH_CODEC_AVI)
|
|
|
|
|
list(APPEND INC
|
|
|
|
|
../avi
|
|
|
|
|
)
|
|
|
|
|
add_definitions(-DWITH_AVI)
|
|
|
|
|
endif()
|
|
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_CODEC_FFMPEG)
|
2012-03-20 22:00:21 +00:00
|
|
|
list(APPEND SRC
|
|
|
|
|
intern/writeffmpeg.c
|
|
|
|
|
BKE_writeffmpeg.h
|
|
|
|
|
)
|
2011-07-16 23:01:14 +00:00
|
|
|
list(APPEND INC
|
|
|
|
|
../../../intern/ffmpeg
|
|
|
|
|
)
|
|
|
|
|
list(APPEND INC_SYS
|
|
|
|
|
${FFMPEG_INCLUDE_DIRS}
|
|
|
|
|
)
|
2010-12-08 08:43:06 +00:00
|
|
|
add_definitions(-DWITH_FFMPEG)
|
2011-10-23 17:52:20 +00:00
|
|
|
|
2018-06-22 14:40:00 +02:00
|
|
|
remove_strict_c_flags_file(
|
2011-10-23 17:52:20 +00:00
|
|
|
intern/writeffmpeg.c
|
|
|
|
|
)
|
2010-12-08 08:43:06 +00:00
|
|
|
endif()
|
2006-11-17 02:27:12 +00:00
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_PYTHON)
|
2011-07-16 23:01:14 +00:00
|
|
|
list(APPEND INC
|
|
|
|
|
../python
|
|
|
|
|
)
|
2010-12-08 08:43:06 +00:00
|
|
|
add_definitions(-DWITH_PYTHON)
|
2011-04-28 06:20:47 +00:00
|
|
|
|
2017-07-27 02:12:40 +10:00
|
|
|
if(WITH_PYTHON_SAFETY)
|
|
|
|
|
add_definitions(-DWITH_PYTHON_SAFETY)
|
|
|
|
|
endif()
|
|
|
|
|
|
2011-04-28 06:20:47 +00:00
|
|
|
if(WITH_PYTHON_SECURITY)
|
|
|
|
|
add_definitions(-DWITH_PYTHON_SECURITY)
|
|
|
|
|
endif()
|
2016-02-15 19:01:28 +11:00
|
|
|
|
|
|
|
|
|
2016-04-24 00:16:15 +10:00
|
|
|
if(PYTHON_EXECUTABLE)
|
2016-02-15 19:01:28 +11:00
|
|
|
get_filename_component(_python_exe_name ${PYTHON_EXECUTABLE} NAME)
|
|
|
|
|
add_definitions(-DPYTHON_EXECUTABLE_NAME=${_python_exe_name})
|
|
|
|
|
unset(_python_exe_name)
|
|
|
|
|
endif()
|
2010-12-08 08:43:06 +00:00
|
|
|
endif()
|
2006-11-17 02:27:12 +00:00
|
|
|
|
2011-10-29 23:56:07 +00:00
|
|
|
if(WITH_MOD_FLUID)
|
2012-03-27 00:17:57 +00:00
|
|
|
list(APPEND INC
|
|
|
|
|
../../../intern/elbeem/extern
|
|
|
|
|
)
|
2011-10-29 23:56:07 +00:00
|
|
|
add_definitions(-DWITH_MOD_FLUID)
|
2010-12-08 08:43:06 +00:00
|
|
|
endif()
|
2006-12-06 09:24:13 +00:00
|
|
|
|
2011-07-13 18:40:21 +00:00
|
|
|
if(WITH_MOD_SMOKE)
|
|
|
|
|
add_definitions(-DWITH_SMOKE)
|
|
|
|
|
endif()
|
|
|
|
|
|
2011-11-13 14:16:43 +00:00
|
|
|
if(WITH_MOD_OCEANSIM)
|
2011-11-13 12:17:27 +00:00
|
|
|
add_definitions(-DWITH_OCEANSIM)
|
|
|
|
|
endif()
|
|
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_JACK)
|
|
|
|
|
add_definitions(-DWITH_JACK)
|
|
|
|
|
endif()
|
2010-10-02 15:27:55 +00:00
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_LZO)
|
2015-03-13 22:33:31 +11:00
|
|
|
if(WITH_SYSTEM_LZO)
|
|
|
|
|
list(APPEND INC_SYS
|
|
|
|
|
${LZO_INCLUDE_DIR}
|
|
|
|
|
)
|
|
|
|
|
add_definitions(-DWITH_SYSTEM_LZO)
|
|
|
|
|
else()
|
|
|
|
|
list(APPEND INC_SYS
|
|
|
|
|
../../../extern/lzo/minilzo
|
|
|
|
|
)
|
|
|
|
|
endif()
|
2010-12-08 08:43:06 +00:00
|
|
|
add_definitions(-DWITH_LZO)
|
|
|
|
|
endif()
|
2009-09-25 02:40:10 +00:00
|
|
|
|
2010-12-08 08:43:06 +00:00
|
|
|
if(WITH_LZMA)
|
2011-07-16 23:01:14 +00:00
|
|
|
list(APPEND INC_SYS
|
|
|
|
|
../../../extern/lzma
|
|
|
|
|
)
|
2010-12-08 08:43:06 +00:00
|
|
|
add_definitions(-DWITH_LZMA)
|
|
|
|
|
endif()
|
2009-09-25 02:40:10 +00:00
|
|
|
|
2011-11-07 12:55:18 +00:00
|
|
|
if(WITH_LIBMV)
|
|
|
|
|
add_definitions(-DWITH_LIBMV)
|
|
|
|
|
endif()
|
|
|
|
|
|
2011-11-13 12:17:27 +00:00
|
|
|
if(WITH_FFTW3)
|
2011-11-13 15:17:24 +00:00
|
|
|
list(APPEND INC_SYS
|
|
|
|
|
${FFTW3_INCLUDE_DIRS}
|
|
|
|
|
)
|
2011-11-13 12:17:27 +00:00
|
|
|
add_definitions(-DFFTW3=1)
|
|
|
|
|
endif()
|
|
|
|
|
|
2012-03-17 12:07:58 +00:00
|
|
|
if(WITH_INTERNATIONAL)
|
|
|
|
|
add_definitions(-DWITH_INTERNATIONAL)
|
|
|
|
|
endif()
|
|
|
|
|
|
2012-12-20 07:57:26 +00:00
|
|
|
if(WITH_FREESTYLE)
|
|
|
|
|
add_definitions(-DWITH_FREESTYLE)
|
|
|
|
|
endif()
|
|
|
|
|
|
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
|
|
|
if(WITH_ALEMBIC)
|
|
|
|
|
list(APPEND INC
|
|
|
|
|
../alembic
|
|
|
|
|
)
|
|
|
|
|
add_definitions(-DWITH_ALEMBIC)
|
|
|
|
|
endif()
|
|
|
|
|
|
2015-07-20 16:08:06 +02:00
|
|
|
if(WITH_OPENSUBDIV)
|
|
|
|
|
add_definitions(-DWITH_OPENSUBDIV)
|
|
|
|
|
list(APPEND INC_SYS
|
|
|
|
|
../../../intern/opensubdiv
|
|
|
|
|
${OPENSUBDIV_INCLUDE_DIRS}
|
|
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
|
Implementation of OpenVDB as a possible cache format for smoke
simulations.
This commits implements OpenVDB as an extra cache format in the Point
Cache system for smoke simulations. Compilation with the library is
turned off by default for now, and shall be enabled when the library is
present.
A documentation of its doings is available here: http://
wiki.blender.org/index.php/User:Kevindietrich/OpenVDBSmokeExport.
A guide to compile OpenVDB can be found here (Linux): http://
wiki.blender.org/index.php?title=Dev:Doc/Building_Blender/Linux/
Dependencies_From_Source#OpenVDB
Reviewers: sergey, lukastoenne, brecht, campbellbarton
Reviewed By: brecht, campbellbarton
Subscribers: galenb, Blendify, robocyte, Lapineige, bliblubli,
jtheninja, lukasstockner97, dingto, brecht
Differential Revision: https://developer.blender.org/D1721
2016-01-23 08:39:29 +01:00
|
|
|
if(WITH_OPENVDB)
|
|
|
|
|
add_definitions(-DWITH_OPENVDB)
|
|
|
|
|
list(APPEND INC
|
|
|
|
|
../../../intern/openvdb
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if(WITH_OPENVDB_BLOSC)
|
|
|
|
|
add_definitions(
|
|
|
|
|
-DWITH_OPENVDB_BLOSC
|
|
|
|
|
)
|
|
|
|
|
endif()
|
|
|
|
|
endif()
|
|
|
|
|
|
2011-09-27 12:08:35 +00:00
|
|
|
## Warnings as errors, this is too strict!
|
|
|
|
|
#if(MSVC)
|
|
|
|
|
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX")
|
|
|
|
|
#endif()
|
2009-01-23 20:36:47 +00:00
|
|
|
|
2011-05-31 01:15:44 +00:00
|
|
|
blender_add_lib(bf_blenkernel "${SRC}" "${INC}" "${INC_SYS}")
|