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-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.
2017-06-08Remove unused lay value from Dupli object evaluation contextDalai Felinto
2017-04-24Merge branch 'master' into blender2.8Campbell Barton
2017-04-24Cleanup: styleCampbell Barton
2017-04-18Merge remote-tracking branch 'origin/master' into blender2.8Dalai Felinto
2017-04-18Revert "Object Info node support for GLSL mode and the internal render"Dalai Felinto
This reverts commit 76425feed8644a8fe1c0e52ef3f77b95012ba44e. ** Note ** This was supposed to be a merge, but it was rebased.
2017-04-18Object Info node support for GLSL mode and the internal renderAlexander Romanov
Object Info node can be useful to give some variation to a single material assigned to multiple instances. This patch adds support for Viewport and BI. {F499530} Example: {F499528} Reviewers: merwin, brecht, dfelinto Reviewed By: brecht Subscribers: duarteframos, fclem, homyachetser, Evgeny_Rodygin, AlexKowel, yurikovelenov Differential Revision: https://developer.blender.org/D2425
2017-04-14Object Info node support for GLSL mode and the internal renderAlexander Romanov
Object Info node can be useful to give some variation to a single material assigned to multiple instances. This patch adds support for Viewport and BI. {F499530} Example: {F499528} Reviewers: merwin, brecht, dfelinto Reviewed By: brecht Subscribers: duarteframos, fclem, homyachetser, Evgeny_Rodygin, AlexKowel, yurikovelenov Differential Revision: https://developer.blender.org/D2425
2017-04-06Depsgraph: Remove old header from blenkernelSergey Sharybin
2017-04-06Depsgraph: More type definitions to new depsgraph headerSergey Sharybin
2017-02-07Render Layers and Collections (merge from render-layers)Dalai Felinto
Design Documents ---------------- * https://wiki.blender.org/index.php/Dev:2.8/Source/Layers * https://wiki.blender.org/index.php/Dev:2.8/Source/DataDesignRevised User Commit Log --------------- * New Layer and Collection system to replace render layers and viewport layers. * A layer is a set of collections of objects (and their drawing options) required for specific tasks. * A collection is a set of objects, equivalent of the old layers in Blender. A collection can be shared across multiple layers. * All Scenes have a master collection that all other collections are children of. * New collection "context" tab (in Properties Editor) * New temporary viewport "collections" panel to control per-collection visibility Missing User Features --------------------- * Collection "Filter" Option to add objects based on their names * Collection Manager operators The existing buttons are placeholders * Collection Manager drawing The editor main region is empty * Collection Override * Per-Collection engine settings This will come as a separate commit, as part of the clay-engine branch Dev Commit Log -------------- * New DNA file (DNA_layer_types.h) with the new structs We are replacing Base by a new extended Base while keeping it backward compatible with some legacy settings (i.e., lay, flag_legacy). Renamed all Base to BaseLegacy to make it clear the areas of code that still need to be converted Note: manual changes were required on - deg_builder_nodes.h, rna_object.c, KX_Light.cpp * Unittesting for main syncronization requirements - read, write, add/copy/remove objects, copy scene, collection link/unlinking, context) * New Editor: Collection Manager Based on patch by Julian Eisel This is extracted from the layer-manager branch. With the following changes: - Renamed references of layer manager to collections manager - I doesn't include the editors/space_collections/ draw and util files - The drawing code itself will be implemented separately by Julian * Base / Object: A little note about them. Original Blender code would try to keep them in sync through the code, juggling flags back and forth. This will now be handled by Depsgraph, keeping Object and Bases more separated throughout the non-rendering code. Scene.base is being cleared in doversion, and the old viewport drawing code was poorly converted to use the new bases while the new viewport code doesn't get merged and replace the old one. Python API Changes ------------------ ``` - scene.layers + # no longer exists - scene.objects + scene.scene_layers.active.objects - scene.objects.active + scene.render_layers.active.objects.active - bpy.context.scene.objects.link() + bpy.context.scene_collection.objects.link() - bpy_extras.object_utils.object_data_add(context, obdata, operator=None, use_active_layer=True, name=None) + bpy_extras.object_utils.object_data_add(context, obdata, operator=None, name=None) - bpy.context.object.select + bpy.context.object.select = True + bpy.context.object.select = False + bpy.context.object.select_get() + bpy.context.object.select_set(action='SELECT') + bpy.context.object.select_set(action='DESELECT') -AddObjectHelper.layers + # no longer exists ```
2016-12-28Revert particle system and point cache removal in blender2.8 branch.Lukas Tönne
This reverts commit 5aa19be91263a249ffae75573e3b32f24269d890 and b4a721af694817fa921b119df83d33ede7d7fed0. Due to postponement of particle system rewrite it was decided to put particle code back into the 2.8 branch for the time being.
2016-12-01Merge branch 'master' into blender2.8Lukas Tönne
2016-11-25Math Lib: rotate matrix cleanupCampbell Barton
- Remove 'rotate_m2', unlike 'rotate_m4' it created a new matrix duplicating 'angle_to_mat2' - now used instead. (better avoid matching functions having different behavior). - Add 'axis_angle_to_mat4_single', convenience wrapper for 'axis_angle_to_mat3_single'. - Replace 'unit_m4(), rotate_m4()' with a single call to 'axis_angle_to_mat4_single'.
2016-08-21Merge branch 'master' into blender2.8Bastien Montagne
In addition to pack of conflicts listed below, also had to comment out particle part of new Alembic code... :/ Conflicts: intern/ghost/intern/GHOST_WindowWin32.cpp source/blender/blenkernel/BKE_effect.h source/blender/blenkernel/BKE_pointcache.h source/blender/blenkernel/intern/cloth.c source/blender/blenkernel/intern/depsgraph.c source/blender/blenkernel/intern/dynamicpaint.c source/blender/blenkernel/intern/effect.c source/blender/blenkernel/intern/particle_system.c source/blender/blenkernel/intern/pointcache.c source/blender/blenkernel/intern/rigidbody.c source/blender/blenkernel/intern/smoke.c source/blender/blenkernel/intern/softbody.c source/blender/depsgraph/intern/builder/deg_builder_relations.cc source/blender/gpu/intern/gpu_debug.c source/blender/makesdna/DNA_object_types.h source/blender/makesrna/intern/rna_particle.c
2016-08-18Fix compiler warning after fix for T48913.Brecht Van Lommel
2016-08-18Fix T48913: cycles viewport render stuck in loop due to non-unique dupli ID.Brecht Van Lommel
2016-08-06Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: release/scripts/startup/bl_ui/properties_particle.py release/scripts/startup/bl_ui/properties_physics_cloth.py release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py release/scripts/startup/bl_ui/properties_physics_softbody.py source/blender/blenkernel/BKE_library.h source/blender/blenkernel/BKE_particle.h source/blender/blenkernel/intern/cloth.c source/blender/blenkernel/intern/library.c source/blender/blenkernel/intern/library_query.c source/blender/blenkernel/intern/particle_system.c source/blender/blenkernel/intern/scene.c source/blender/blenkernel/intern/softbody.c source/blender/blenloader/intern/readfile.c source/blender/blenloader/intern/versioning_270.c source/blender/editors/space_file/filesel.c source/blender/editors/space_outliner/outliner_intern.h source/blender/makesdna/DNA_ID.h source/blender/makesdna/DNA_object_force.h source/blender/makesdna/DNA_particle_types.h source/blender/makesrna/intern/rna_particle.c source/blender/makesrna/intern/rna_sculpt_paint.c source/blender/makesrna/intern/rna_smoke.c source/blender/makesrna/intern/rna_space.c
2016-07-28DupliObject: Remove unused and confusing index argument from the contextSergey Sharybin
2016-06-23Fix T48658: Cycles render & render preview corrupts particlesCampbell Barton
Replaces `G.is_rendering` with `use_render_params` argument. This is needed for Cycles, which attempts to restore render-preview settings from particles, after it gets its own particle data, but fails to restore because `G.is_rendering` was being checked in psys_cache_paths (and other places).
2016-04-15Merge branch 'master' into temp_remove_particlesLukas Tönne
2016-04-13Removed blenkernel particle code.Lukas Tönne
2016-04-12Fix T47754: Meshes glitch on cycling Viewport Shading mode with Linked GroupsSergey Sharybin
This is a regression since 4310128 which is cased by really bad logic: there might be dependencies between dupli-objects, which means _if_ we really want to ensure derived mesh on dupli creation we have to do it before any matrix is overwritten. I'm not sure if such derived mesh trick is really the only way to go without major refactor, but seems simple fix for now will do it.
2016-01-09Fix T47060: Uv form dupli not working with Cycles when the hair/particles ↵Bastien Montagne
mesh has more than one uv sets. In fact, it was not working with BI either - 'UV from dupli' would always take active UVLayer, not render_active one. Fixed now for both Cycles and BI, and for both particles and 'simple' dupli_face.
2015-12-27Split id->flag in two, persistent flags and runtime tags.Bastien Montagne
This is purely internal sanitizing/cleanup, no change in behavior is expected at all. This change was also needed because we were getting short on ID flags, and future enhancement of 'user_one' ID behavior requires two new ones. id->flag remains for persistent data (fakeuser only, so far!), this also allows us 100% backward & forward compatibility. New id->tag is used for most flags. Though written in .blend files, its content is cleared at read time. Note that .blend file version was bumped, so that we can clear runtimeflags from old .blends, important in case we add new persistent flags in future. Also, behavior of tags (either status ones, or whether they need to be cleared before/after use) has been added as comments to their declaration. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D1683
2015-04-02Fix T44183 particles in linked group offset from objectAntony Riakiotakis
A nice bug combining all the broken features of blender: Particles, duplis and multiple scene dependencies. Fortunately this was solvable: Basically, we need to make sure derivedmesh for dupli instance is generated before obmat is overriden. This also makes sense, since no instance has "true" obmat apart from original. Lazy initialization of derivedmesh just does not work here (or it -does- work but first use should be before instance drawing). Fingers crossed nothing else breaks after this...
2015-01-26Fix T43409: Particle instancing on hair sometimes doesn't have a pathLukas Tönne
cache available.
2015-01-20Another crappy approach to spirals on hairs, crazy expensive though.Lukas Tönne
Conflicts: source/blender/blenkernel/intern/particle.c
2014-11-16Cleanup: use BLI_listbase_*** prefix for count,sort,sort_rCampbell Barton
2014-07-24Fix T41160: Rendering duplifaces crashed blender (cycles)Sergey Sharybin
2014-07-09Fix T40164: Linking a Group of linked Groups don't take Dupli VisibilityLukas Tönne
correctly. Problem was that object layers are defined by duplis as the top-level duplicator layers. This happens //during// the duplilist construction, which breaks group layer checks for subsequent instances and hides them. Now the duplilist generators leave Object DNA untouched, the modification of layers for drawing, rendering, etc. happens afterward in the duplilist_apply/restore functions, as a kind of second pass.
2014-07-07Fix T40712: Duplicators don't generate orco and UV coordinates in Cycles ↵Lukas Tönne
viewport preview. Fix T39286: Display percentage ignored in Cycles viewport. The threaded depsgraph update changes included a cleanup of the global is_rendering flag, which was replaced by a general EvalContext being passed to dupli functions. Problem is that the global flag was true for viewport duplis before (ugly hack), which was used as a check for generating dupli orco/UV from mesh data layers. The new flag is stricter and only true for actual renders, which disables these attributes and breaks the Cycles Texture Coordinates and UVMap nodes. The solution is to extend the simple for_render boolean to an enum: * VIEWPORT: OpenGL viewport drawing (dupli tex coords omitted) * PREVIEW: Viewport preview render (simplified modifiers) * RENDER: Full render with all details and attributes There are still some areas that need to be examined, in particular modifiers seem to totally ignore the EvaluationContext! Instead they generally execute without render params from the depsgraph (BKE_object_handle_update_ex) and are built with render settings explicitly. Differential Revision: https://developer.blender.org/D613