Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-12-01Groups and collection: initial integrationDalai Felinto
Since we are ditching layers from Blender (2.8) we need a replacement to control groups visibility. This commit introduces collections as the building blocks for groups, allowing users to control visibility as well as overrides for groups. Features ======== * Groups now have collections This way you can change the visibility of a collection inside a group, and add overrides which are part of the group and are prioritized over other overrides. * Outliner Groups can inspect their collections, change visibility, and add/remove members. To change an override of a group collection, you need to select an instance of the group, and then you can choose "group" in the collection properties editor to edit this group active collection instead of the view layer one. * Dupli groups overrides We can now have multiple instances of the same group with an original "override" and different overrides depending on the collection the instanced object is part of. Technical ========= * Layers We use the same api for groups and scene as much as possible. Reviewers: sergey (depsgraph), mont29 (read/write and user count) Differential Revision: https://developer.blender.org/D2892
2017-12-01Workspaces: Store an active view-layer per sceneJulian Eisel
Instead of storing a single active view-layer in the workspace, one is stored for each scene the workspace showed before. With this, some things become possible: * Multiple windows in the same workspace but showing different scenes. * Toggling back and forth scene keeps same active view-layer for each scene. * Activating workspace which didn't show current scene before, the current view-layer is kept. A necessary evil for this is that accessing view-layer and object mode from .py can't be done via workspace directly anymore. It has to be done through the window, so RNA can use the correct scene. So instead of `workspace.view_layer`, it's `window.view_layer` now (same with mode) even though it's still workspace data. Fixes T53432.
2017-12-01Depsgraph: Remove legacy recalc flag from DNASergey Sharybin
2017-11-30Merge branch 'master' into blender2.8Sergey Sharybin
2017-11-30Transform: Use single flag with more meaningful name to prevent snapping to ↵Sergey Sharybin
a dependent object The idea of this flag was to prevent snapping onto an object which depends on currently modifying ones. Using single flag makes more sense here, and also makes it possible to replace some ob->recalc based magic with depsgraph query to set those flags.
2017-11-29Merge branch 'master' into blender2.8Brecht Van Lommel
2017-11-29Sequencer: add many more color blend modes, and a new color mix strip.Maikon Araujo
Differential Revision: https://developer.blender.org/D2872
2017-11-29ID Static Override: add basic UI feedback.Bastien Montagne
For now, using a new color for overridden properties (similar to animated/driven status), UI team will need to work on a better solution maybe...
2017-11-29Merge ID static override, part I: core changes in DNA, BKE and .blend ↵Bastien Montagne
read/write. See https://developer.blender.org/D2417 for details. Note that since static overrides rely heavily on RNA, this commit is essentially invisible from user PoV, more in next commits.
2017-11-29Depsgraph: Remove object-specific flag which was storing update tagSergey Sharybin
There were following issues: - This was used in a similar way of DEG's ID update callback. No reason to have yet-another-way of informing editors/engines about changes. Better to keep regular update mechanism usable and fast for those needs. - It wasn't granular at all, and granularity in flags is something what we need to support anyway, even for existing ID update. - There is no reason to have it per-object. Depsgraph operates on IDs. - It wasn't clear when and who clears the flag, and was possible to run into conflicts.
2017-11-28Merge branch 'master' into blender2.8Campbell Barton
2017-11-28makesdna/makesrna: silence output by defaultCampbell Barton
No need to print status for basic & reliable operations, build systems can output operations they run if needed, or debug output changed in the source if developers are debugging. Nice for ninja, so any printed text hints at a problem to fix.
2017-11-27Merge branch 'master' into blender2.8Sergey Sharybin
2017-11-27Cleanup: indentationSergey Sharybin
2017-11-27Merge branch 'master' into blender2.8Sergey Sharybin
2017-11-27Sequencer: Add option to render OpenGL preview with DoFSergey Sharybin
The title says it all actually, controlled with DoF check box next to textured solid check box. Thanks Campbell for review!
2017-11-25Get workspace mode from the workspace view-layerJulian Eisel
While this probably isn't the final solution we'll go with, it's nicer as current one, which was basically broken. So consider this as temporary solution. It also allows testing how changing workspace changes mode & active object, but only by having the workspaces use different view-layers. Decided to remove WorkSpace.mode for now. If we need to bring it back, we'll have to version patch it anyway.
2017-11-23Cleanup: Rename ViewLayer *sl > ViewLayer *view_layerDalai Felinto
2017-11-23Fix specific 2.8 broken filesDalai Felinto
Short of checking for types (SceneLayer) this is the only reliable way of getting all 2.80 files to date.
2017-11-23Rename any instance of scene layer or render layer in code with view layerDalai Felinto
The RenderResult struct still has a listbase of RenderLayer, but that's ok since this is strictly for rendering. * Subversion bump (to 2.80.2) * DNA low level doversion (renames) - only for .blend created since 2.80 started Note: We can't use DNA_struct_elem_find or get file version in init_structDNA, so we are manually iterating over the array of the SDNA elements instead. Note 2: This doversion change with renames can be reverted in a few months. But so far it's required for 2.8 files created between October 2016 and now. Reviewers: campbellbarton, sergey Differential Revision: https://developer.blender.org/D2927
2017-11-22SceneRenderLayer Removal/RefactorDalai Felinto
This patch moves all the functionality previously in SceneRenderLayer to SceneLayer. If we want to rename some of these structs now would be a good time to do it, before they are in SceneLayer. Everything should be working, though I will test things further tomorrow. Once this is committed depsgraph can get rid of the workaround added in rna_Main_meshes_new_from_object and finish whatever this patch was preventing from being finished. This patch also adds a few placeholders for the overrides (samples, ...). These are obviously not working, so some unittests that rely on 'lay', and 'zmask' will fail. This patch does not addressed the change of moving samples to ViewRender (I have this as a separate patch and needs some separate discussion). Following next is the individual note of the individual parts that were committed. Note 1: It is up to Cycles to still get rid of exclude_layer internally. Note 2: Cycles still need to handle its own doversion for the use_layer_samples cases and (1) Remove the override as it is (2) Add a new override (scene.cycles.samples) if scene.cycles.use_layer_samples != IGNORE Respecting the expected behaviour when scene.cycles.use_layer_samples == BOUNDED. Note 3: Cycles still need to implement the per-object holdout (similar to how we do shadow catcher). Note 4: There are parts of the old (Blender Internal) rendering pipeline that is still using lay, e.g., in shi->lay. Honestly it will be easier to purge the entire Blender Internal code away instead of taking things from it bit by bit. Reviewers: sergey, campbellbarton, brecht Differential Revision: https://developer.blender.org/D2919
2017-11-22SceneRenderLayer > SceneLayer: Convert LayDalai Felinto
There are parts of the old (Blender Internal) rendering pipeline that is still using lay, e.g., in shi->lay. Honestly it will be easier to purge the entire Blender Internal code away instead of taking things from it bit by bit.
2017-11-22SceneRenderLayer > SceneLayer: Convert Z-MaskDalai Felinto
Note: Cycles still need to implement the per-object holdout (similar to how we do shadow catcher).
2017-11-22SceneRenderLayer > SceneLayer: Convert samples_overrideDalai Felinto
Note: Cycles still need to handle its own doversion for theses cases and (1) Remove the override as it is (2) Add a new override (scene.cycles.samples) if scene.cycles.use_layer_samples != IGNORE Respecting the expected behaviour when scene.cycles.use_layer_samples == BOUNDED.
2017-11-22SceneRenderLayer > SceneLayer: Convert material_overrideDalai Felinto
2017-11-22SceneRenderLayer > SceneLayer: Remove light_overrideDalai Felinto
2017-11-22SceneRenderLayer > SceneLayer: Remove exclude_layerDalai Felinto
Note: It is up to Cycles to still get rid of exclude_layer internally: RenderLayerInfo.exclude_layer
2017-11-22Eevee : SSS : Add Translucency support.Clément Foucault
This adds the possibility to simulate things like red ears with strong backlight or material with high scattering distances. To enable it you need to turn on the "Subsurface Translucency" option in the "Options" tab of the Material Panel (and of course to have "regular" SSS enabled in both render settings and material options). Since the effect is adding another overhead I prefer to make it optional. But this is open to discussion. Be aware that the effect only works for direct lights (so no indirect/world lighting) that have shadowmaps, and is affected by the "softness" of the shadowmap and resolution. Technical notes: This is inspired by http://www.iryoku.com/translucency/ but goes a bit beyond that. We do not use a sum of gaussian to apply in regards to the object thickness but we precompute a 1D kernel texture. This texture stores the light transmited to a point at the back of an infinite slab of material of variying thickness. We make the assumption that the slab is perpendicular to the light so that no fresnel or diffusion term is taken into account. The light is considered constant. If the setup is similar to the one assume during the profile baking, the realtime render matches cycles reference. Due to these assumptions the computed transmitted light is in most cases too bright for curvy objects. Finally we jitter the shadow map sample per pixel so we can simulate dispersion inside the medium. Radius of the dispersion is in world space and derived by from the "soft" shadowmap parameter. Idea for this come from this presentation http://www.iryoku.com/stare-into-the-future (slide 164).
2017-11-21Depsgraph: Tag evaluated mesh as suchSergey Sharybin
Helps troubleshooting.
2017-11-16Fix T51210: Draw Manager: Support for Metaball DrawingGermano
Differential Revision: D2914
2017-11-14Eevee: Initial Separable Subsurface Scattering implementation.Clément Foucault
How to use: - Enable subsurface scattering in the render options. - Add Subsurface BSDF to your shader. - Check "Screen Space Subsurface Scattering" in the material panel options. This initial implementation has a few limitations: - only supports gaussian SSS. - Does not support principled shader. - The radius parameters is baked down to a number of samples and then put into an UBO. This means the radius input socket cannot be used. You need to tweak the default vector directly. - The "texture blur" is considered as always set to 1
2017-11-14GPUMaterial : Add sss_data to Closure struct.Clément Foucault
2017-11-09Farewell BaseLegacyDalai Felinto
Finally, bases are all using the latest, newest SceneLayer bases.
2017-11-09Rename Scene macros back to their original _NEW less namesDalai Felinto
2017-11-09Farewell Scene->basactDalai Felinto
2017-11-09Remove unused screen-name storage in windowJulian Eisel
Checked in really old revisions, seems like this was never used. So doesn't matter for compatibility either (tested opening files saved with this in 2.49).
2017-11-09Cleanup: Refactor window matching after file read for readabilityJulian Eisel
Code should hopefully be much clearer now. Also removing code that's been commented out for a while, and was never executed in master.
2017-11-08Farewell Scene->baseDalai Felinto
While getting rid of Scene->base we got the following fixes: * Fix "Convert To" operator * Fix "NLA allowing to selected objects that are not selectable * Fix scene.objects (readonly, no option to link/unlink) Note: Collada needs to use the context SceneLayer for adding objects however I added a placeholder, so Collada maintainers can fix this properly.
2017-11-08Depsgraph: Remove traces of old single-per-scene dependency graphSergey Sharybin
2017-11-06Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: intern/cycles/device/device.cpp source/blender/blenkernel/intern/library.c source/blender/blenkernel/intern/material.c source/blender/editors/object/object_add.c source/blender/editors/object/object_relations.c source/blender/editors/space_outliner/outliner_draw.c source/blender/editors/space_outliner/outliner_edit.c source/blender/editors/space_view3d/drawobject.c source/blender/editors/util/ed_util.c source/blender/windowmanager/intern/wm_files_link.c
2017-11-06Rename ID_IS_LINKED_DATABLOCK to ID_IS_LINKED.Bastien Montagne
This makes code closer to id_override/assent-engine ones, which introduce a new type of linked data, and hence reserve ID_IS_LINKED_DATABLOCK to real linked datablocks.
2017-11-02UI: support nested tools in toolbarCampbell Barton
2017-11-02Merge branch 'master' into blender2.8Campbell Barton
2017-11-01Implement a new automatic handle algorithm to produce smooth F-Curves.Alexander Gavrilov
The legacy algorithm only considers two adjacent points when computing the bezier handles, which cannot produce satisfactory results. Animators are often forced to manually adjust all curves. The new approach instead solves a system of equations to trace a cubic spline with continuous second derivative through the whole segment of auto points, delimited at ends by keyframes with handles set by other requirements. This algorithm also adjusts Vector handles that face ordinary bezier keyframes to achieve zero acceleration at the Vector keyframe, instead of simply pointing it at the adjacent point. Original idea and implementation by Benoit Bolsee <benoit.bolsee@online.be>; code mostly rewritten to improve code clarity and extensibility. Reviewers: aligorith Differential Revision: https://developer.blender.org/D2884
2017-11-01Fix for T48988 - Enabling bbone easing for posemodeJoshua Leung
This fix enables the usage of bbones easing parameters for edit and pose mode seperately. This allows animators to take advantage of the functionality and may eliminate confusion as the parameters now behave similar to other bbone parameters. Note that splitting the parameters between the modes effectively creates a new parameter set. Blend files of previous versions do not contain this information and will have the values set to 0 on load. As it broke backwards compatibility for pose mode values anyway, I also took the liberty to rename the easing parameters in some places for consistency (which breaks edit mode values). Reviewers: aligorith Subscribers: aligorith Tags: #animation Differential Revision: https://developer.blender.org/D2796
2017-10-31Merge branch 'master' into blender2.8Campbell Barton
2017-10-31Workspace cleanup: engine_id is in ViewRenderDalai Felinto
2017-10-30Curve Decimate: new tool to simplify bezier curvesCampbell Barton
Access from the curve clean-up menu
2017-10-29Merge branch 'master' into blender2.8Sybren A. Stüvel
2017-10-29Alembic: added frame offset propertySybren A. Stüvel
The offset is subtracted, so that it's intuitive (dragging slider pushes the animation further that way on the timeline).