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-12-19Fix T59237: Instancing on a path doesn't do anythingSergey Sharybin
This commit makes it so curve path parent solving accepts an explicit arguments for both time and curve speed flag, making it so we don't have to mock around with scene's frame. One unfortunate issue still is that if the instancing object is used for something else, we might be running into a threading conflict. Possible solution would be to create a temp copy of an object, but then it will be an issue of preventing drivers from modifying other datablocks. At least the original issue is fixed now, and things behave same as in older Blender version. Additionally, the global variable which was defining curve speed flag behavior is gone now!
2018-11-14Merge branch 'master' into blender2.8Campbell Barton
2018-11-14Cleanup: comment block tabsCampbell Barton
2018-10-09Edit Mesh: replace DerivedMesh w/ MeshCampbell Barton
DerivedMesh is now removed from edit-mesh modifier evaluation.
2018-09-24Merge branch 'master' into blender2.8Brecht Van Lommel
2018-09-24Spelling fixes in comments and descriptions, patch by luzpaz.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D3719
2018-09-19BLI_utildefines: rename pointer conversion macrosCampbell Barton
Terms get/set don't make much sense when casting values. Name macros so the conversion is obvious, use common prefix for easier completion. - GET_INT_FROM_POINTER -> POINTER_AS_INT - SET_INT_IN_POINTER -> POINTER_FROM_INT - GET_UINT_FROM_POINTER -> POINTER_AS_UINT - SET_UINT_IN_POINTER -> POINTER_FROM_UINT
2018-09-19Merge branch 'master' into blender2.8Campbell Barton
2018-09-13Fix a crash with duplivert, and move to evaluated mesh in object_dupli.cBastien Montagne
There are still lots of issues/TODOs here though, like missing 'cage' for editmesh, etc.
2018-09-04Cleanup: remove legacy layer and dupli code.Brecht Van Lommel
2018-08-29Cleanup: rename files from group to collection to match contents.Brecht Van Lommel
2018-06-29Fix T55645: broken particle Use Count option for instancing objects.Brecht Van Lommel
There is now a manual refresh button on the panel to update the list of objects in case it changes, and it also gets refreshed when changing the collection or toggling the use count option. This is a bit more manual but the previous code of refreshing the list while evaluating the depsgraph was unreliable. This also fixes it to take properly take into account visibility, and to work with linked collections for which index writing was missing.
2018-06-26Fix memory leak when duplicating particlesSergey Sharybin
2018-06-17Merge branch 'master' into blender2.8Campbell Barton
2018-06-17Cleanup: trailing space for blenkernelCampbell Barton
2018-06-12Fix T55376: instanced collection render visibility ignored.Brecht Van Lommel
For physics simulation it's still fuzzy though, but this needs bigger design for how it works with view layers and visibility.
2018-06-12Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenkernel/BKE_group.h source/blender/blenkernel/BKE_object.h source/blender/blenkernel/intern/group.c source/blender/blenkernel/intern/library_remap.c source/blender/blenkernel/intern/object.c source/blender/blenloader/intern/readfile.c source/blender/editors/object/object_group.c source/blender/editors/object/object_relations.c source/blender/editors/physics/rigidbody_constraint.c source/blender/editors/physics/rigidbody_object.c source/blender/makesrna/intern/rna_group.c
2018-06-12Cleanup: moar removal of G.main in BKE area...Bastien Montagne
2018-06-12Cleanup/simplify G.main usages.Bastien Montagne
Using G.main only to get main bled filepath, or built-in fonts, is OK. So now using the 'valid' G_MAIN macro here instead.
2018-06-12Duplication: Use local RNGSergey Sharybin
Makes generation safe for threading.
2018-06-11Cleanup: remove unused DAG_EVAL_PREVIEW mode.Brecht Van Lommel
2018-06-11Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: intern/cycles/blender/blender_object.cpp source/blender/alembic/intern/abc_exporter.cc source/blender/alembic/intern/abc_mball.cc source/blender/alembic/intern/abc_mball.h source/blender/blenkernel/BKE_anim.h source/blender/blenkernel/BKE_displist.h source/blender/blenkernel/BKE_dynamicpaint.h source/blender/blenkernel/BKE_group.h source/blender/blenkernel/BKE_mball.h source/blender/blenkernel/BKE_mball_tessellate.h source/blender/blenkernel/BKE_object.h source/blender/blenkernel/BKE_scene.h source/blender/blenkernel/intern/anim.c source/blender/blenkernel/intern/depsgraph.c source/blender/blenkernel/intern/displist.c source/blender/blenkernel/intern/dynamicpaint.c source/blender/blenkernel/intern/group.c source/blender/blenkernel/intern/mball.c source/blender/blenkernel/intern/mball_tessellate.c source/blender/blenkernel/intern/mesh_convert.c source/blender/blenkernel/intern/object.c source/blender/blenkernel/intern/object_dupli.c source/blender/blenkernel/intern/object_update.c source/blender/blenkernel/intern/pointcache.c source/blender/blenkernel/intern/scene.c source/blender/blenkernel/intern/smoke.c source/blender/depsgraph/intern/builder/deg_builder_nodes.cc source/blender/depsgraph/intern/builder/deg_builder_relations.cc source/blender/editors/include/ED_object.h source/blender/editors/object/object_add.c source/blender/editors/object/object_edit.c source/blender/editors/object/object_modifier.c source/blender/editors/physics/dynamicpaint_ops.c source/blender/editors/sculpt_paint/paint_vertex.c source/blender/editors/sculpt_paint/sculpt_uv.c source/blender/editors/space_view3d/drawobject.c source/blender/editors/space_view3d/view3d_draw.c source/blender/editors/transform/transform_conversions.c source/blender/editors/transform/transform_snap_object.c source/blender/editors/util/ed_util.c source/blender/gpu/intern/gpu_material.c source/blender/makesrna/intern/rna_meta.c source/blender/makesrna/intern/rna_object_api.c source/blender/modifiers/intern/MOD_dynamicpaint.c source/blenderplayer/bad_level_call_stubs/stubs.c
2018-06-11Cleanup: Moar G.main removal of Hell.Bastien Montagne
This commit actually adds some G.main... but at much, much higher level than the ones it removes, so should still be better ;)
2018-06-06Depsgraph: remove legacy code for dupli group updates.Brecht Van Lommel
This caused crashes in some cases, and should be fully handled by the depsgraph now.
2018-06-05Moved function declarations from BKE_DerivedMesh.h to BKE_mesh_runtime.hSybren A. Stüvel
The function definitions still reside in DerivedMesh.c. Once we're done porting all the DerivedMesh use to Mesh, we'll move the still-relevant functions to mesh_runtime.c. This move is now cumbersome due to shared statically-declared utility functions in DerivedMesh.c
2018-05-31Animation: Pass dependency graph to animation systemSergey Sharybin
This way we allow animation system to make decisions based on which context dependency graph is coming from, and whether it belongs to an active edit window or not.
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-17Particle System: fixed dupliobject drawing by getting time from depsgraphSybren A. Stüvel
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-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-16Depsgraph: remove EvaluationContext, pass Depsgraph instead.Brecht Van Lommel
The depsgraph was always created within a fixed evaluation context. Passing both risks the depsgraph and evaluation context not matching, and it complicates the Python API where we'd have to expose both which is not so easy to understand. This also removes the global evaluation context in main, which assumed there to be a single active scene and view layer. Differential Revision: https://developer.blender.org/D3152
2018-04-13Python API: remove preview/render resolution settings from API functions.Brecht Van Lommel
For correct results these must have been set already when the depsgraph was created and evaluated, so all dependencies have appropriate resolutions too. For particle we no longer backup and restore the viewport particles to avoid overwriting them during render, as copy-on-write solves this for us. Even without COW particles seem to work ok. This also removes the particle simplification options based on camera. This was never used much and only available in Blender Internal. Differential Revision: https://developer.blender.org/D3148
2018-04-05Remove workspace object mode, reverts changes w/ 2.8Campbell Barton
This caused too many problems syncing object modes with multiple objects/windows/workspaces, see: D3130 for details.
2018-03-09Cleanup: iterator macrosCampbell Barton
- put render iterator in own scope (would shadow it's own variable if used multiple times). - enforce semicolon at end of iterator macros. - no need to typedef one-off macro structs.
2018-03-07Cleanup: use _BEGIN suffix for group iteratorsCampbell Barton
2018-02-13Object Mode: remove Scene.obeditCampbell Barton
Add ED_screen_window_find, BKE_workspace_edit_object
2018-02-06Fix duplicator visibility logicDalai Felinto
Cycles old behaviour is to hide the duplicator on rendering at all times. We have since a few months an option in 2.8 to control the duplicator visibility on its own. However when the duplicator is also duplicated, things were not working properly. What we do now is, in addition to the duplicator visibility control, is to not have the source collection of the duplicator object to ever influence its visibility when the object is been duplicated. So if the user wants to reproduce Cycles old behaviour all that is required is to have different collections, one for the original to-be duplicated objects that you hide in for the view layer used in the final render. And another collection with only the first duplicator (which in turn duplicates other duplicators). I know this all may sound confusing, so please just give it a try, it's simpler than it sounds.
2017-12-20Merge branch 'master' into blender2.8Campbell Barton
2017-12-19Font objects: Support proper auto-spaceSergey Sharybin
Annoyingly, need to convert vfont to nurbs, do minmax and toss nurbs away. This is likely to be fine, since this function is not intended to be used a lot, and this is the only way to get more meaningful result. However, it's not very clear what to do with font on curve. This fixes rendering of font object with auto texture space in Cycles introduced in c34f3c7. It is probably possible to introduce new mode to vfont_to_curve which will do boundbox without extra allocations, but that's more like an optimization. Reviewers: campbellbarton, mano-wii Reviewed By: campbellbarton Subscribers: zeauro Differential Revision: https://developer.blender.org/D2971
2017-12-15Move ID recalc flags into dedicated field in IDSergey Sharybin
Currently this is a no-visible-changes change, but the idea is to use this dedicated flag to tell which exact components of ID changed, make it more granular than just OBJECT and OBJECT_DATA. Allow setting this field based on what components new dependency graph flushed on evaluation.
2017-12-13Depsgraph / Du[plication: Remove workaround flag from IDSergey Sharybin
Animation does no longer tag IDs as updated, so flag is not needed anymore.
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-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-08Partial Fix T53269: Dupli-verts/dupli-faces not workingDalai Felinto
This fixes the issue for the Draw Manager, but for Cycles this is still not working. The iterator bpy.context.depsgraph.duplis seems to be correct though.
2017-08-16Pass EvaluationContext instead of bContextCampbell Barton
2.8x branch added bContext arg in many places, pass eval-context instead since its not simple to reason about what what nested functions do when they can access and change almost anything. Also use const to prevent unexpected modifications. This fixes crash loading files with shadows, since off-screen buffers use a NULL context for rendering.
2017-08-01Merge branch 'master' into blender2.8Campbell Barton
2017-08-01Cleanup: use static vars where appropriateCampbell Barton
2017-07-21Pass EvaluationContext argument everywhereLuca Rood
Note that some little parts of code have been dissabled because eval_ctx was not available there. This should be resolved once DerivedMesh is replaced.
2017-06-30Merge branch 'master' into blender2.8Campbell Barton
2017-06-29Fix T51890: Turning off viewport display for array modifier is blocking ↵Bastien Montagne
dupliface in final render DupliVert/Face were not using render DM at render time.