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-07-02Merge branch 'master' into blender2.8Campbell Barton
2018-07-02Cleanup: use bool for poll functionsCampbell Barton
2018-07-01Merge branch 'master' into blender2.8Campbell Barton
2018-07-01RNA: use bool for boolean RNA typesCampbell Barton
We were using int's for bool arguments in BKE, just to avoid having wrapper functions.
2018-06-29Refactor static override code to pass Main around.Bastien Montagne
Access to main database is actually rarely needed, but some custom 'apply' functions do need it (like Collections' overriding of objects or children collections).
2018-06-28RNA path: add way to get both valid ptr/prop pair, and final item ptr.Bastien Montagne
This will be much useful in some cases, at least in override area it is needed (avoids searching again for the overriden item in a collection).
2018-06-14T55406: Flip MatcapJeroen Bakker
- Icon represent the flipped matcap in the shading menu - Added template_icon to display any icon in scale.
2018-06-05RNA/Override: Move override-related property flags to own variable.Bastien Montagne
We are already running out of available flags in main, generic int, and everytime I work on static override I find new special cases that will need new specific propflag, so...
2018-06-01Cleanup: trailing whitespace (comment blocks)Campbell Barton
Strip unindented comment blocks - mainly headers to avoid conflicts.
2018-05-30Depsgraph API: renaming, more granular update information.Brecht Van Lommel
* depsgraph.ids: all evaluated datablocks in the depsgraph * depsgraph.objects: all evaluated objects in the depsgraph * depsgraph.object_instances: all object instances to display or render * depsgraph.updates: list of updates to datablocks
2018-05-27Merge branch 'master' into blender2.8Campbell Barton
2018-05-27Cycles: Add Support for IES files as textures for light strengthLukas Stockner
This patch adds support for IES files, a file format that is commonly used to store the directional intensity distribution of light sources. The new IES node is supposed to be plugged into the Strength input of the Emission node of the lamp. Since people generating IES files do not really seem to care about the standard, the parser is flexible enough to accept all test files I have tried. Some common weirdnesses are distributing values over multiple lines that should go into one line, using commas instead of spaces as delimiters and adding various useless stuff at the end of the file. The user interface of the node is similar to the script node, the user can either select an internal Text or load a file. Internally, IES files are handled similar to Image textures: They are stored in slots by the LightManager and each unique IES is assigned to one slot. The local coordinate system of the lamp is used, so that the direction of the light can be changed. For UI reasons, it's usually best to add an area light, rotate it and then change its type, since especially the point light does not immediately show its local coordinate system in the viewport. Reviewers: #cycles, dingto, sergey, brecht Reviewed By: #cycles, dingto, brecht Subscribers: OgDEV, crazyrobinhood, secundar, cardboard, pisuke, intrah, swerner, micah_denn, harvester, gottfried, disnel, campbellbarton, duarteframos, Lapineige, brecht, juicyfruit, dingto, marek, rickyblender, bliblubli, lockal, sergey Differential Revision: https://developer.blender.org/D1543
2018-05-18Collections and groups unificationBrecht Van Lommel
OVERVIEW * In 2.7 terminology, all layers and groups are now collection datablocks. * These collections are nestable, linkable, instanceable, overrideable, .. which opens up new ways to set up scenes and link + override data. * Viewport/render visibility and selectability are now a part of the collection and shared across all view layers and linkable. * View layers define which subset of the scene collection hierarchy is excluded for each. For many workflows one view layer can be used, these are more of an advanced feature now. OUTLINER * The outliner now has a "View Layer" display mode instead of "Collections", which can display the collections and/or objects in the view layer. * In this display mode, collections can be excluded with the right click menu. These will then be greyed out and their objects will be excluded. * To view collections not linked to any scene, the "Blender File" display mode can be used, with the new filtering option to just see Colleciton datablocks. * The outliner right click menus for collections and objects were reorganized. * Drag and drop still needs to be improved. Like before, dragging the icon or text gives different results, we'll unify this later. LINKING AND OVERRIDES * Collections can now be linked into the scene without creating an instance, with the link/append operator or from the collections view in the outliner. * Collections can get static overrides with the right click menu in the outliner, but this is rather unreliable and not clearly communicated at the moment. * We still need to improve the make override operator to turn collection instances into collections with overrides directly in the scene. PERFORMANCE * We tried to make performance not worse than before and improve it in some cases. The main thing that's still a bit slower is multiple scenes, we have to change the layer syncing to only updated affected scenes. * Collections keep a list of their parent collections for faster incremental updates in syncing and caching. * View layer bases are now in a object -> base hash to avoid quadratic time lookups internally and in API functions like visible_get(). VERSIONING * Compatibility with 2.7 files should be improved due to the new visibility controls. Of course users may not want to set up their scenes differently now to avoid having separate layers and groups. * Compatibility with 2.8 is mostly there, and was tested on Eevee demo and Hero files. There's a few things which are know to be not quite compatible, like nested layer collections inside groups. * The versioning code for 2.8 files is quite complicated, and isolated behind #ifdef so it can be removed at the end of the release cycle. KNOWN ISSUES * The G-key group operators in the 3D viewport were left mostly as is, they need to be modified still to fit better. * Same for the groups panel in the object properties. This needs to be updated still, or perhaps replaced by something better. * Collections must all have a unique name. Less restrictive namespacing is to be done later, we'll have to see how important this is as all objects within the collections must also have a unique name anyway. * Full scene copy and delete scene are exactly doing the right thing yet. Differential Revision: https://developer.blender.org/D3383 https://code.blender.org/2018/05/collections-and-groups/
2018-05-17Move EEVEE properties into sceneDalai Felinto
We handle doversion for the scene properties, but not for the view layer overrides. Overrides will be implemented in a different way via dynamic overrides. For now this data is completely lost.
2018-05-09Rename: RNA_property_override_status > RNA_property_static_override_statusDalai Felinto
2018-05-09T55014: Optionally: objects not cast shadows in workbenchJeroen Bakker
2018-05-09T55008: Migrating RE-Collection data to Scene dataJeroen Bakker
in Scene DNA is available in scene.display New DNA Struct DisplayData Added RNA (scene.display). We already have scene.display_settings which contains non viewpoert specific color management settings. I did not merge those two. Patch should be in line with the ideas that @brecht wrote in T55008. As I am not in detail aware of the decisions that have been made for the override feature I want a short review if it is in line with the plans. Reviewers: brecht, dfelinto Reviewed By: brecht Subscribers: brecht Tags: #code_quest, #bf_blender_2.8 Differential Revision: https://developer.blender.org/D3290
2018-05-08Collections: remove per collection and view layer engine overrides.Brecht Van Lommel
This will be handled by the new view layer override system which will store data elsewhere, removing the code already for easier refactoring.
2018-05-01Static override: rename highly confusing var name in apply code.Bastien Montagne
We use 'reference' to designate the linked ID which is being overridden by the local one, so using 'reference' to designate the stored local ID in apply RNA code was... not a good idea. ;)
2018-04-303D View: refresh on Overlay & Shading changesCampbell Barton
2018-04-22UI: Initial popover support for panelsCampbell Barton
- UILayout.popover(.. panel_type ..) A single panel - UILayout.popover_group(.. panel categories ..) Expands all panels matching args. Currently used in the topbar for redo and paint options.
2018-04-20Dopesheet-Timeline: Removal of Timeline Editor!Joshua Leung
This commit removes all references to the old timeline editor. Unfortuantely, the removal of the Timeline spacetype defining functions has ended up breaking the version patching code I'd been working on earlier (as now, the editor gets marked as "unknown/info" before we get a chance to patch it!)
2018-04-19Remove Blender Internal and legacy viewport from Blender 2.8.Ton Roosendaal
Brecht authored this commit, but he gave me the honours to actually do it. Here it goes; Blender Internal. Bye bye, you did great! * Point density, voxel data, ocean, environment map textures were removed, as these only worked within BI rendering. Note that the ocean modifier and the Cycles point density shader node continue to work. * Dynamic paint using material shading was removed, as this only worked with BI. If we ever wanted to support this again probably it should go through the baking API. * GPU shader export through the Python API was removed. This only worked for the old BI GLSL shaders, which no longer exists. Doing something similar for Eevee would be significantly more complicated because it uses a lot of multiplass rendering and logic outside the shader, it's probably impractical. * Collada material import / export code is mostly gone, as it only worked for BI materials. We need to add Cycles / Eevee material support at some point. * The mesh noise operator was removed since it only worked with BI material texture slots. A displacement modifier can be used instead. * The delete texture paint slot operator was removed since it only worked for BI material texture slots. Could be added back with node support. * Not all legacy viewport features are supported in the new viewport, but their code was removed. If we need to bring anything back we can look at older git revisions. * There is some legacy viewport code that I could not remove yet, and some that I probably missed. * Shader node execution code was left mostly intact, even though it is not used anywhere now. We may eventually use this to replace the texture nodes with Cycles / Eevee shader nodes. * The Cycles Bake panel now includes settings for baking multires normal and displacement maps. The underlying code needs to be merged properly, and we plan to add back support for multires AO baking and add support to Cycles baking for features like vertex color, displacement, and other missing baking features. * This commit removes DNA and the Python API for BI material, lamp, world and scene settings. This breaks a lot of addons. * There is more DNA that can be removed or renamed, where Cycles or Eevee are reusing some old BI properties but the names are not really correct anymore. * Texture slots for materials, lamps and world were removed. They remain for brushes, particles and freestyle linestyles. * 'BLENDER_RENDER' remains in the COMPAT_ENGINES of UI panels. Cycles and other renderers use this to find all panels to show, minus a few panels that they have their own replacement for.
2018-04-18Workspaces: remove workspace engine, use 3D viewport draw mode instead.Brecht Van Lommel
ViewRender was removed, which means we can't get the render engine for files saved in 2.8. We assume that any files saved in 2.8 were intended to use Eevee and set the engine to that. A fix included with this is that .blend thumbails now draw with Clay mode, and never Eevee or Cycles. These were drawn with solid mode in 2.7, and should be very fast and not e.g. load heavy image textures. Differential Revision: https://developer.blender.org/D3156
2018-04-17Update/improve handling of 'overridable' status of properties.Bastien Montagne
Main new thing in this commit is ability for real IDProps (aka custom properties) to be set as overridable or not, they are not by default.
2018-04-17Removing Blender Game Engine from Blender 2.8Dalai Felinto
Folders removed entirely: * //extern/recastnavigation * //intern/decklink * //intern/moto * //source/blender/editors/space_logic * //source/blenderplayer * //source/gameengine This includes DNA data and any reference to the BGE code in Blender itself. We are bumping the subversion. Pending tasks: * Tile/clamp code in image editor draw code. * Viewport drawing code (so much of this will go away because of BI removal that we can wait until then to remove this.
2018-03-23RNA comparison/override: better control over property processing.Bastien Montagne
This commit essentially introduces a new RNA property flag, which when set prevents affected property from being processed at all in comparison code (also used to automatically generate static override rules). The idea is to use it on very low-level data in RNA, like e.g. mesh's geometry or psys' particles collections. For now only applied to psys' particle collections, on the main mesh of Agent327 pigeon, it goes from 100ms to 0.5ms on a full auto-override-generating comparison... Also added some new RNA property helper funcs to check on comparable and overridable status.
2018-03-20Add basic read-only RNA access to static override data.Bastien Montagne
Will make investigating issues much, much easier!
2018-03-16Some more minor cleanups.Bastien Montagne
2018-03-14Cleanup: use flags instead of collection of bools to get RNA override status.Bastien Montagne
2018-02-28WorkSpace: UI filtering for add-onsCampbell Barton
Allows for each workspace to have it's own add-ons on display. Filtering for: Panels, Menus, Keymaps & Manipulators. Automatically applies to add-ons at the moment. Access from workspace, toggled off by default once enabled, add-ons can be white-listed. See D3076
2018-01-15Merge branch 'master' into blender2.8Campbell Barton
2018-01-15RNA: Add RNA_property_string_set_bytesCampbell Barton
This is needed to set values that contain zero bytes (where the length isn't fixed).
2017-12-18Serious cleanup/refactor/fixing of new RNA comparison code.Bastien Montagne
Code also handling auto-generation of static overrides. Aside from some naming consistency cleanup, this commit: * Is the first step addressing the 'operator' issue with static overrides, by implementing a first version of the 'restore from reference' behavior. * Fixes several issues that were discovered on the way in enhanced RNA comparision code, like the 'zero-length dynamic array' case, or some infinite looping caused by some non-ID pointers (that for some mysterious reasons did not show up previously...). * Factorizes a bit said RNA comparison code (auto-static override generation and comparison/check were essentially doing the same thing).
2017-12-13RNA override: Cleanup & small refactor.Bastien Montagne
Remove unused func from public API. Make parameters & variables naming more consistent accross the code. Move RNAproperty validation/'conversion' (for IDProps case) to upper level in code, this will avoid some useless re-processing.
2017-12-06Merge branch 'master' into blender2.8Sergey Sharybin
2017-12-06Add utility function to compare PointerRNA with NULLSergey Sharybin
Thanks Campbell for review!
2017-12-05Merge branch 'master' into blender2.8Bastien Montagne
2017-12-04RNA: Use const qualifier for an utility functionSergey Sharybin
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, part II: RNA changes.Bastien Montagne
This is essentially a huge refactor/extension of our existing RNA compare & copy code, since static override needs more advanced handling here. Note that not all new features are implemented yet, advanced things like collections insertion/deletion are still TODO (medium priority). This completes the ground work for overrides, remaining commits will be about UI and some basic/testing activation of overrides for a limited set of data-blocks & properties. For details see https://developer.blender.org/D2417
2017-11-29Merge branch 'master' into blender2.8Campbell Barton
2017-11-29RNA: sync API changes from 2.8Campbell Barton
2017-11-29RNA: Allow structs to define tags for their propertiesJulian Eisel
Adds support for defining a number of tags as part of the rna-struct definition, which its properties can set similar to property-flags. BPY supports setting these tags when defining custom properties too. * To define tags for a struct (which its properties can use then), define the tags in an `EnumPropertyItem` array, and assign them to the struct using `RNA_def_struct_property_tags(...)`. * To set tags for an RNA-property in C, use the new `RNA_def_property_tags(...)`. * To set tags for an RNA-property in Python, use the newly added tags parameter. E.g. `bpy.props.FloatProperty(name="Some Float", tags={'SOME_TAG', 'ANOTHER_TAG'})`.
2017-11-23Support tagging operator properties as 'advanced'Julian Eisel
This will later be used to show advanced operator properties separate from basic (as in non-advanced) ones in the UI. Tagging a single operator property in C should be done via `WM_operatortype_prop_tag()`. It does additional checks for type safety that `RNA_def_property_tags()` doesn't do. To avoid having to tag each advanced property individually, multiple ones can be tagged by wrapping them into `WM_operatortype_props_advanced_bein()` and `WM_operatortype_props_advanced_end()` calls. It's also possible to only call `_begin()`, all properties added after this will get tagged then. In most cases this last approach should be sufficient. Example of Python usage: `my_float = bpy.props.FloatProperty(name="Some Float", tags={'ADVANCED'})`
2017-11-23RNA: Allow structs to define tags for their propertiesJulian Eisel
Adds support for defining a number of tags as part of the rna-struct definition, which its properties can set similar to property-flags. BPY supports setting these tags when defining custom properties too. * To define tags for a struct (which its properties can use then), define the tags in an `EnumPropertyItem` array, and assign them to the struct using `RNA_def_struct_property_tags(...)`. * To set tags for an RNA-property in C, use the new `RNA_def_property_tags(...)`. * To set tags for an RNA-property in Python, use the newly added tags parameter. E.g. `bpy.props.FloatProperty(name="Some Float", tags={'SOME_TAG', 'ANOTHER_TAG'})`. Actual usage of this will be added in a follow-up commit.
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-10-18Merge branch 'master' into blender2.8Campbell Barton
2017-10-18Cleanup: Use const for RNA EnumPropertyItem argsCampbell Barton
Practically all access to enum data is read-only.