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
2018-02-08Fixing builds for 2.8 - outliner typoDalai Felinto
2018-02-08Fix: Data-Blocks view in Outliner no longer displayed property values, ↵Joshua Leung
making it semi-useless Partially revert efe1af3d11a930b539718cc566049f07316427ff The offending commit over-zealously removed the datablocks viewer case as well, when only the condition needed to be modified.
2018-02-06Object Mode: pass eval_ctx in outliner functionsCampbell Barton
2018-01-22T53831: Fixed vertical line alignment & expand Collection and Scene buttons ↵Philippe Schmid
position. This was fixed in master with commit 9d873fc3debe0. However, this fix never made it to 2.8. (The following merge (a96008f3aae2) did not import the fixes.) Note: This fix is ment to fix the alignment problem. I don't know if other parts of the code not merged are interesting or not. But if they are, they should be tackled separately. Reviewers: dfelinto Subscribers: venomgfx, dfelinto, raa, Severin Differential Revision: https://developer.blender.org/D3014
2018-01-19Outliner: Remove User PreferencesDalai Felinto
This was introduced to the outliner when we had no User Preference window back in 2.5x. Right now it makes no sense to keep this around. But how about addon user preferences: * They belong in the user preference window under the addon. How about the user preferences themselves: * You find them in the user preference window. And templates? * Why are they here in the first place? After talking to Pablo Vazquez (who in turn poked Sergey Sharybin) we found it reasonable to get rid of this. If it turns out that we were wrong we revert this. As for leaving this exposed as a debug option (as suggested on IRC) I would say no, please. This end up polluting the code and never cleaned up in the end. (this was specific talking about templates). Technical note: I left the functions in outliner still hanging around. While I used UNUSED_FUNCTION for one of them, for the other one I had to use: `#if 0` because the function was calling itself, which would fail to build if I used UNUSED_FUNCTION.
2018-01-19Outliner Filtering System + CleanupDalai Felinto
User notes: The outliner so far was a great system to handle the object oriented workflow we had in Blender prior to 2.8. However with the introduction of collections the bloated ammount of data we were exposed at a given time was eventually getting on the way of fully utilizing the outliner to manage collections and their objects. We hope that with this filtering system the user can put together the outliner with whichever options he or she seem fit for a given task. Features: * Collection filter: In case users are only focused on objects. * Object filter: Allow users to focus on collections only. * (Object) content filter: Modifiers, mesh, contrainst, materials, ... * (Object) children filter: Hide object children [1]. * Object State (visible, active, selected). * Compact header: hide search options under a search toggle. * Preserve scrolling position before/after filtering [2]. [1] - Note we still need to be able to tell if a children of an object is in a collection, or if the parent object is the only one in the collection. This in fact was one of the first motivations for this patch. But it is to be addressed separately now that we can at least hide children away. [2] - We look at the top-most collection in the outliner, and try to find it again after the filtering and make sure it is in the same position as before. This works nice now. But to work REALLY, REALLY nice we need to also store the previous filter options to be sure the element we try to keep on top was valid for both old and new filters. I would rather do this later though since this smell a lot like feature creeping ;) Remove no longer needed display options: * Current Scene (replaced by View Layer/Collections) * Visible (replaced by filter) * Selected (same) * Active (same) * Same Type (same-ish) How about All Scenes? I have a patch that will come next to replace the current behaviour and focus only on compositing. So basically stop showing the objects and show only view layers, their passes and collections, besides freestyle. Also, while at this I'm also reorganizing the menu to keep View Layer and Collections on top. Developer notes: * Unlike the per-object filtering, for collections we need to filter at tree creation time, to prevent duplication of objects in the outliner. Acknowledgements: Thanks Pablo Vazquez for helping testing, thinking some design questions together and pushing this to its final polished state as you see here. Thanks Sergey Sharybin and Julian Eisel for code review. Julian couldn't do a final review pass after I addressed his concerns. So blame is on me for any issue I may be introducing here. Sergey was the author of the "preserve scrolling position" idea. I'm happy with how it is working, thank you. Reviewers: sergey, Severin, venomgfx Subscribers: lichtwerk, duarteframos Differential Revision: https://developer.blender.org/D2992
2018-01-18Outliner: Use (temporary) icons for collectionsDalai Felinto
We need new icons for collections. Yet we are using them in a few places, so we may as well be consistent and use it everywhere.
2018-01-12Fix T53764: vertical line glitch for collections with objects and collectionsDalai Felinto
The code for vertical line was assuming that we necessarily neeeded vertical lines for all the elements. Which is not true since we are not drawing vertical and horizontal lines for collections. Patch made in contribution with Philippe Schmid (@Quetzal).
2018-01-05Outliner: Fix for restriction columnsDalai Felinto
This is a partial revert of 1f5106de610b115b87. First and firemost, for groups I was checking the wrong flag (soops->flag & SO_GROUPS) instead of (soops->outlinevis == SO_GROUPS). Second, the columns were entirely broken for things like Orphan Data. Third, I tried to have different columns for different `outlinevis`, but we have bones with only visible and select, modifiers with visible and render, render passes with enable and another value ... I would rather stay away from this mess at the moment, and stick to the more obvious bug fix. Finally, there is a bug (not addressed here) where the whole line is selected, regardless of the restriction column area. It should be fixed separately.
2018-01-02Outliner: Master Collection always expandedDalai Felinto
This is part of T53495. This makes sure the master collection is always expanded and you don't even get the expand/collapse icons for it. This is only for the Collecions (currently Master Collection Tree) option, not for active view layer.
2017-12-18Add override icon to such data-blocks in OUtliner.Bastien Montagne
2017-12-15Group collection viewport/render options and remove collection visibilityDalai Felinto
Users can change the group collection visibility in the outliner when looking at groups. Regular collections on the other hand don't have any special visibility control, if you need a collection to be invisible during render, either don't link it into the view layer used for F12, or disable it. This includes: * Updated unittests - update your lib/tests/layers folder. * Subversion bump - branches be aware of that. Note: Although we are using eval_ctx to determine the visibility of a group collection when rendering, the depsgraph is still using the same depsgraph for the viewport and the render engine, so at the moment the render visibility is ignored. Following next is a workaround for this separately to tag the groups before and after rendering to tackle that.
2017-12-13Outliner: Fix selection drawingDalai Felinto
Outliner was using the old selection flag to show selected objects. So if you selected an object in the outliner it would keep "selected" (drawn in yellow) even after you selected another object.
2017-12-04Cleanup: whitespaceCampbell Barton
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-11-23Cleanup: Rename ViewLayer *sl > ViewLayer *view_layerDalai Felinto
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-14Cleanup: remove BLI_blenlib from ghash headerCampbell Barton
This causes source files to depend on ghash header for BLI_string/rect/listbase. Also quiet warnings.
2017-11-09Rename Scene macros back to their original _NEW less namesDalai Felinto
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-09-20Layer collection enable flagDalai Felinto
Right now this is exposed in the outliner, though all this (visible/selectable/enable) should be moved to a new panel soon. This removes objects from the depsgraph when the collection is disabled. It allows you to "hide" lamps but still having them lighting the scene. Same for light probes and other support objects. Pending tasks: * Have depsgraph to include invisible objects in the DEG_OBJECTS_ITER, and then have Eevee and other engines to make a distinction between an invisible and a visible object. (for example, we probably want invisible objects to not show in the viewport, but cast shadows and show up in light probes). * Change how we evaluate collection settings so that an invisible collection can force an object to be invisible. Reviewers: campbellbarton Subscribers: sergey Differential Revision: https://developer.blender.org/D2848
2017-08-28Merge branch 'master' into blender2.8Sergey Sharybin
2017-08-28Make GS macro return proper IDType typeSergey Sharybin
Previously it was returning short, which was really easy to (a) compare against non-ID type value (b) forget to handle some specific value in switch statement. Both issues happened in the nearest past, so it's time to tighten some nuts here. Most of the change related on silencing strict compiler warning now, but there is also one tricky aspect: ID_NLA is not in the IDType enum. So there is still cast to short to handle that switch. If someone has better ideas how to deal with this please go ahead :)
2017-08-15Cleanup/refactor: no new general arg-less macros enforcing var names please!Bastien Montagne
We do have an history of those pieces of evil in our code, would be nice to get fully rid of it, but at the very least let's not add more of them in new code. :)
2017-06-19Gawain API naming refactorCampbell Barton
Use consistent prefix for gawain API names as well as some abbreviations to avoid over-long names, see: D2678
2017-06-08Replace all old DAG calls with direct calls to new DEG and remove ↵Luca Rood
BKE_depsgraph.h This removes BKE_depsgraph.h and depsgraph.c
2017-04-21Tag depsgraph update when hide and hide_select are changedDalai Felinto
We were not updating depsgraph when collection just "became" selectable, but although this doesn't change object selection, it change its selectability.
2017-04-16cleanup use of immUniformColorMike Erwin
- use best function for the job - don't specify alpha if 100% - 'f' for floating point literals
2017-04-10First batch of PRIM_QUAD_XXX replacement by PRIM_TRIANGLES.Bastien Montagne
2017-04-10Make build with GL 3.3 againDalai Felinto
This is a workaround while the PRIM_QUADS_XXX are still in the code
2017-04-07OpenGL: use PRIM instead of GL enum for immBeginMike Erwin
Getting ready for a Gawain API change... Part of T49043
2017-04-07OpenGL: transition away from GL_QUADSMike Erwin
Single quads are drawn as a TRIANGLE_FAN, with 4 verts in the same order. Multiple quads now use PRIM_QUADS_XXX and will need further work. Only 8 places still use this. Part of T49043
2017-04-07OpenGL / Outliner: QUADS are not supported in coreDalai Felinto
2017-04-07OpenGL: refactor UI_draw_roundbox functionsMike Erwin
Each function takes a bool (filled vs outline) and a color. We already had multiple ways of passing color in; these are still here. Special variant for anti-aliasing. - took GLenum out of interface - removed UI_RB_ALPHA flag (only one place really used it) - use exact vertex count - removed redundant state changes (BLEND, LINE_SMOOTH)
2017-04-06Gawain: VertexFormat_add_attrib (function name change)Mike Erwin
See intern/gawain for the API change. Other files are updated to use the new name. Also updated every call site to the recommended style: unsigned int foo = VertexFormat_add_attrib(format, "foo", COMP_ ... )
2017-04-01Blender 2.8: Hook of layer collections evaluation in DEGSergey Sharybin
This moves selectability/visibility flag flush from some hardcoded places in the code to depsgraph. This way it is possible to simply tag depsgraph to update those flags and rest it'll do on its own. Using depsgraph for such flush is an overkill: those flags are fully static and can not be animated, so it doesn't really make sense to hook only those to depsgraph. However, in the future we will have overrides on collections, which ideally would need to be animatable and drivable and easiest way to support this is to do this on depsgraph level, so it ensures proper order of evaluation for animation and drivers. And it seems logical to do both overrides and flags flush from depsgraph from this point of view. This commit also includes the evaluation of IDProperty for collections, which basically are just another form of override. So once we implement the other kind of overrides the flushing and collection evaluation won't change. Patch by Sergey Sharybin and Dalai Felinto
2017-03-25Merge branch 'master' into blender2.8Campbell Barton
2017-03-22fix redundant assignmentMike Erwin
Thanks clang for the warning.
2017-03-17Merge branch 'master' into blender2.8Julian Eisel
Conflicts: source/blender/editors/space_outliner/outliner_draw.c
2017-03-17Various icon adjustmentsraa
2017-03-10Improve outliner drag&drop feedback by using drop poll callbacksJulian Eisel
This way we can ensure the overlay to indicate where the item would be placed if it was dropped now is always at the correct place and doesn't mislead the user.
2017-03-10Draw drag&drop feedback overlays with element indentationJulian Eisel
That way users can see better at which hierarchy level the element will be inserted into.
2017-03-10Support drag & drop of collections across multiple hierarchy levelsJulian Eisel
Two issues are remaining, they'll be fixed separately: * Graphical feedback when dragging within the master collection is wrong * There's some bug where collections swap places instead, Dalai will investigate
2017-03-07OpenGL immediate mode: finish outliner_draw.cLuca Rood
Part of T49043
2017-03-03OpenGL: remove last uses of sdrawline & sdrawboxMike Erwin
Part of T49043
2017-03-02Get UI ready for using drag & drop to nest a collection into another oneJulian Eisel
Nothing happen yet when it's supposed to insert the collection into another one, that part will be handled by @dfelinto. See gif for demo of how it works UI wise: {F500337} Also fixed off-by-one error in utility function.
2017-03-01Outliner: Make sure collection name is unique after renamingJulian Eisel
2017-02-28Highlight active collection in outlinerJulian Eisel