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-08-18Eevee: Convert metallic nodes into princinpled nodesDalai Felinto
And wipe metallic out of the map.
2017-08-18Swap Eevee material output with (Cycles) Material OutputDalai Felinto
Since we started supporting the (Cycles) Material Output old files stopped working. There is no reason to keep the original Eevee material otuput anymore. It includes doversion for old files.
2017-08-07Refactor ID copying (and to some extent, ID freeing).Bastien Montagne
This will allow much finer controll over how we copy data-blocks, from full copy in Main database, to "lighter" ones (out of Main, inside an already allocated datablock, etc.). This commit also transfers a llot of what was previously handled by per-ID-type custom code to generic ID handling code in BKE_library. Hopefully will avoid in future inconsistencies and missing bits we had all over the codebase in the past. It also adds missing copying handling for a few types, most notably Scene (which where using a fully customized handling previously). Note that the type of allocation used during copying (regular in Main, allocated but outside of Main, or not allocated by ID handling code at all) is stored in ID's, which allows to handle them correctly when freeing. This needs to be taken care of with caution when doing 'weird' unusual things with ID copying and/or allocation! As a final note, while rather noisy, this commit will hopefully not break too much existing branches, old 'API' has been kept for the main part, as a wrapper around new code. Cleaning it up will happen later. Design task : T51804 Phab Diff: D2714
2017-08-03Merge branch 'master' into blender2.8Campbell Barton
2017-08-012.79 release: update version numbers & readfile versionning code.Bastien Montagne
2017-07-28Merge branch 'master' into blender2.8Campbell Barton
2017-07-28Cleanup: clear deprecated UI flagsCampbell Barton
Also adds cursor-lock flag, to be used in next commit.
2017-07-26PyAPI: Store PyInstances for ID'sCampbell Barton
This means once an ID is created, it will keep using the same PyObject instance. This has some advantages: - Avoids unnecessary re-creation of instances on UI poll / redraw. - Accessing free'd ID's gives an exception instead of crashing. (long standing annoyance!, though this only applies to ID's and not yet other data that uses the ID's - vertices for eg). - Allows using instance comparison (a little faster). Note that the instances won't be kept between undo.
2017-07-19Doversion: Set Clay when opening "Blender Render" engine scenesDalai Felinto
We get already enough reports of people complaining about crashes on edit mode unaware that they are in the non-supported Blender Render engine. Blender Render is going away, no reason to keep it around. Once we have a nice fallback on Eevee and fast file loading we can default to Eevee instead.
2017-07-14Workspace: Fix crash on preview, and sanitize placeholder functionsDalai Felinto
This commit effectively makes workspace switching useless as far as the active scene layer goes. The functions from the scene layer API to get the correct scene layer from "context" were a placeholder to be addressed by the workspace commit. When workspace was merged, however G.main was used as a replacement to pass the correct argument for the functions. As it turned out (surprise!) this leads to crash on render preview. We need to get rid of: * BKE_scene_layer_context_active_ex_PLACEHOLDER * BKE_scene_layer_context_active_PLACEHOLDER And either use SceneLayer explicitly or replace it by: * BKE_scene_layer_from_workspace_get
2017-07-13Depsgraph: Begin work on making depsgraph per-scene-layerSergey Sharybin
This is a first step towards proper depsgraph "ownership", where we would allow scene to be in multiple states dependent on active workspace or scene layer. This commit introduces a basic API to get proper dependency graph for a given scene layer. It also renames scene->depsgraph to depsgraph_legacy, so it's easier to search0-n-replace in the future.
2017-07-05Merge branch 'master' into blender2.8Sybren A. Stüvel
2017-07-05Better fix for sequencer crash when text strip doesn't have effect data.Sybren A. Stüvel
This situation happens when a file with a text effect sequencer strip is loaded in Blender < 2.76 and saved. This destroys the effect data, causing a crash in Blender ≥ 2.76. d2f748a222ad19f prevented the crash when opening such a file, but accessing the strip still caused a crash. This commit fixes that by actually initialising the invalid strip. Of course this still causes data loss, but that already happened by opening & overwriting the file in Blender < 2.76.
2017-07-05Sequencer: Prevent crash when text strip doesn't have effect data.Sybren A. Stüvel
2017-06-29Remove dupli-group support for non-empty objectsCampbell Barton
Behavior for mixing object-data & dupli data was confusing, exporters and render engines often got it wrong.
2017-06-22Indicate to users when manual conversion of Eevee materials is neededDalai Felinto
We now shows a report error when user opens a file that need fixing. It's fine(ish) to not do doversion. It's not fine to not communicate that.
2017-06-20Clean node names and organize menus for eeveeLuca Rood
This makes the node menus aware of the Cycles/Eevee distinction, and only show the relevant nodes for the current engine. Names have also been changed to accomodate for the new output node system.
2017-06-16Fix object selection doversion issue since WorkspaceDalai Felinto
Workspace commit (7f564d74f9edaaa41ce27c6e854869096f70b4da) made selection to not be carried away from 2.7x files into 2.8.
2017-06-15Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/collada/MeshImporter.cpp source/blender/editors/object/object_add.c source/blender/editors/screen/screen_edit.c
2017-06-15Fix potentially dnagerous code in doversionning of brush.Bastien Montagne
Even though in that specific it was probably safe-ish, there is no guarantee at this point Brush we want to remove are not used somewhere, better take the slightly slower, much safer `BKE_libblock_delete()` path here.
2017-06-14Fix possible heap use-after-free in workspace lib-linkingJulian Eisel
Caused by one of the recent commits during workspace review.
2017-06-13Woarkspace: Remove residue of hidden typeSergey Sharybin
There is no reason to be special for workspace and go against other design decision in Blender. If something like this is going to become a common practice in Blender it should be well thought and well tested, including tests of all supported compilers and configurations. This feature was relying on type re-definition, which is not only confusing but also available in C11 only.
2017-06-12Merge branch 'master' into blender2.8Sergey Sharybin
2017-06-12Rename probe to light-probeCampbell Barton
Probe is a real general term, the new name is used often in docs online.
2017-06-12Cleanup: indentation, long linesCampbell Barton
2017-06-09Fix crash when deleting active workspace render-layerJulian Eisel
Also fixes some failing unit-tests for render-layers.
2017-06-09Probe: Add new object datablockClément Foucault
We went for a new datablock because blending probe functionality with empties was going to be messy.
2017-06-03Eevee: Polishing of Exponential Shadow mappingClément Foucault
Added exponent parameter to tweak light bleeding. Added depth bias to the shadow test. Added better blurring using 32 samples.
2017-06-02Fix View3D orientation index initial valueCampbell Barton
Would assert after transform
2017-06-01Move custom transform orientations to workspaceJulian Eisel
This commit moves the list of transform orientations from scenes to workspaces. Main reasons for this are: * Transform orientations are UI data and should not be stored in the scene. * Introducion of workspaces caused some (expected) glitches with transform orientations. Mainly when removing one. * Improves code. More technically speaking, this commit does: * Move list of custom transform orientations from Scene to WorkSpace struct. * Store active transform orientation index separate from View3D.twmode (twmode can only be set to preprocessor defined values now). * Display custom transform orientation name in header when transforming in it (used to show "global" which isn't really correct).
2017-06-01Main Workspace IntegrationJulian Eisel
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-05-30Draw Manager: Add SceneLayerEngineData and use callbacks to clear runtime ↵Clément Foucault
engine data
2017-05-30Layer collection doversion: Remove "converted from 2.7" from the nameDalai Felinto
Followup and partial revert from d78b1147bed6a56dc8fbf6bc46e2e29cb7456c2e
2017-05-30Face Maps: custom-data, UI and RNA APICampbell Barton
Add face maps, needed for face-map widgets, only data structure, widgets will be separate commit. This comes from 'custom-manipulator' branch with only minor changes.
2017-05-30Revert "Revert "Remove MTexPoly layers""Clément Foucault
I reverted this commit by mistake. Sorry :/ This reverts commit 9caf328a7cc55775b740ee4beecf8a77f47d3986.
2017-05-29Revert "Remove MTexPoly layers"Clément Foucault
This reverts commit c6e92b4947945e3c1238d936f7954a5b4688c195.
2017-05-26Rename: FILE_ACTIVELAY > FILE_ACTIVE_COLLECTIONDalai Felinto
2017-05-26Implement support for Append objects in Blender 2.8Dalai Felinto
Note for users ============== The active_layer option used for the filebrowser operators is now called active_collection. If there is no collections in the scenelayer or if this option is not selected we automatically create a new collection for the new objects. This is the same behaviour of trying to add a new object when there is no collection. Note for developers =================== For those cases I moved the object user count handling from readfile to the scene collection system. It's working fine for those, but we still need to re-visit this for Add objects, and Duplicate - In those cases the usercount is 2 when it should be 1. Reviewers: mont29, sergey Differential Revision: https://developer.blender.org/D2686
2017-05-26Fix removing texface layerCampbell Barton
2017-05-26Remove MTexPoly layersCampbell Barton
2017-05-26Merge branch 'master' into blender2.8Campbell Barton
2017-05-25Fix T50112: Sequencer crash w/ missing proxy dataCampbell Barton
2017-05-25TexFace removal part 3Campbell Barton
- MTexPoly structure & layer type. - The 'Mesh.uv_textures' layers. - DerivedMesh TexFace drawing. - Scripts & UI.
2017-05-25Merge branch 'master' into blender2.8Julian Eisel
2017-05-24TexFace removal part 2Campbell Barton
- Derived-mesh drawing. - All non UV members of TexFace structs. MTexPoly is now redundant but keeping with a dummy member, will check on complete removal later.
2017-05-24Proper fix for crash loading old files with compositorSergey Sharybin
Now we keep all links around, even for sockets which were implicitly renamed. And also ensuring new sockets have proper storage.
2017-05-24Remove TexFace, per-face imagesCampbell Barton
TexFace complicates the now more popular shading pipeline by having per-face images, see: T51382 for details. To keep the ability to select a per-material edit-image (used with UV-mapping workflow), the material now stores an image which will be set when changing images in edit-mode. This is used as a bake-target when not using Cycles too.
2017-05-24Revert "Fix crash opening really old files with compositor"Sergey Sharybin
This commit broke compatibility with newer files: due to rename of Speed to Vector the links got lost. This reverts commit 0e46da76b70a42bab2268942cba0e0d3e4ba47e8.
2017-05-22Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenloader/intern/versioning_270.c
2017-05-22Fix T51520: Broken vertex weights after two mesh joining.Bastien Montagne
Root of the issue here was that two stupid modifiers could create named vgroup CD layers (vgroup editing ones... shame on me :") ). Fix that, and added some versionning code to also fix 'corrupted' blend files created by those so far.