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-02-06Base refactor 4/4Dalai Felinto
Rebase ObjectBase > Base
2017-02-06Base refactor 3/4Dalai Felinto
Rename Base > BaseLegacy Note manual changes on: * deg_builder_nodes.h * rna_object.c * KX_Light.cpp Rna is still using Base directly for the ObjectBaseLegacy rna object. Depsgraph change will be removed later.
2017-01-11RNA: object.select_get/set(action={'SELECT', 'DESELECT', 'TOGGLE'})Dalai Felinto
2017-01-11Introduce ObjectBase rna wrapper for bpy.context.active_baseDalai Felinto
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-12Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenkernel/intern/depsgraph.c source/blender/blenloader/intern/versioning_270.c source/blender/depsgraph/intern/builder/deg_builder_relations.cc source/blender/makesrna/intern/rna_main_api.c source/blender/makesrna/intern/rna_particle.c
2016-12-12Refactor RNA property: split flags in property flags, parameter flags, and ↵Bastien Montagne
internal flags. This gives us 9 flags available again for properties (we had none anymore), and also makes things slightly cleaner. To simplify (and make more clear the differences between mere properties and function parameters), also added RNA_def_parameter_flags function (and its clear counterpart), to be used instead of RNA_def_property_flag for function parameters. This patch is also a big cleanup (some RNA function definitions were still using 'prop' PropertyRNA pointer, etc.). And yes, am aware this will be annoying for all branches, but we really need to get new flags available for properties (will need at least one for override, etc.). Reviewers: sergey, Severin Subscribers: dfelinto, brecht Differential Revision: https://developer.blender.org/D2400
2016-06-01Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: intern/cycles/blender/blender_curves.cpp intern/cycles/blender/blender_particles.cpp source/blender/depsgraph/intern/builder/deg_builder_relations.h source/blender/depsgraph/intern/depsgraph_build.cc
2016-05-31Small API typo found while reading the APIDalai Felinto
2016-04-12Removed most particle system code from RNA.Lukas Tönne
2016-01-12Fix T47164: [Scene.raycast] - True result when it should be False.Bastien Montagne
We cannot use FLT_MAX as initi distance for raycast... Renamed TRANSFORM_DIST_MAX_RAY to BVH_RAYCAST_DIST_MAX, moved it into BLI_kdopbvh, and use in RNA raycast callbacks (and all other places using that API).
2016-01-07Cleanup: remove unused scene argCampbell Barton
2016-01-04Fix T47038: Particles in Particle Edit Mode get added in completely wrong ↵Bastien Montagne
location. It also fixes another issue (crash) related to symmetric editing. Quite involved, we (try to!) fix complete broken logic of parts of particle code, which would use poly index as tessface one (or vice-versa). Issue most probably goes back to BMesh integration time... This patch mostly fixes particle editing mode: - Adding/removing particles when using generative modifiers (like subsurf) should now work. - Adding/removing particles with a non-tessellated mesh (i.e. one having ngons) should also mostly work. - X-axis-mirror-editing particles over ngons does not really work, not sure why currently. - All this in both 'modes' (with or without using modifier stack for particles). Tech side: - Store a deformed-only DM in particle modifier data. - Rename existing DM to make it clear it's a final one. - Use deformed-only DM's tessface2poly mapping to 'solve' poly/tessface mismatches. - Make (part of) mirror-editing code able to use a DM instead of raw mesh, so that we can mirror based on final DM when editing particles using modifier stack (mandatory, since there is no way currently to find orig tessface from an final DM tessface index). Note that this patch is not really nice and clean (current particles are beyond hope on this side anyway), it's more like some urgency bandage. Whole crap needs complete rewrite anyway, BMesh's polygons make it really hard to work with current system (and looptri would not help much here). Also, did not test everything possibly affected by those changes, so it needs some users' testing & validation too. Reviewers: psy-fi Subscribers: dfelinto, eyecandy Maniphest Tasks: T47038 Differential Revision: https://developer.blender.org/D1685
2015-12-02PyAPI: Change ray_cast to fix & improve behaviorCampbell Barton
- It wasn't possible to know when Object.ray_cast was successful in the case when it hit a face with no original index. - Take (ray_start, ray_direction) vectors. - Take an optional distance argument. - Scene/Object.ray_cast now use matching arguments & return values. See D1650 (own patch)
2015-10-23Cleanup: rename 'datablocks' -> 'data-blocks'Campbell Barton
Similar to addons -> add-ons, for reading it fits better to hyphenate.
2015-07-27Use loop data instead of face dataCampbell Barton
Replace checks in various places
2015-07-23Use looptri for RNA BVH functionsCampbell Barton
2015-06-30Note that closest_point_on_mesh is in object spaceCampbell Barton
2015-06-08RNA: Object.shape_key_remove methodCampbell Barton
Python had no ability to remove shape keys Original D1169 from @lichtwerk, with edits
2015-05-12Depsgraph: New dependency graph integration commitSergey Sharybin
This commit integrates the work done so far on the new dependency graph system, where goal was to replace legacy depsgraph with the new one, supporting loads of neat features like: - More granular dependency relation nature, which solves issues with fake cycles in the dependencies. - Move towards all-animatable, by better integration of drivers into the system. - Lay down some basis for upcoming copy-on-write, overrides and so on. The new system is living side-by-side with the previous one and disabled by default, so nothing will become suddenly broken. The way to enable new depsgraph is to pass `--new-depsgraph` command line argument. It's a bit early to consider the system production-ready, there are some TODOs and issues were discovered during the merge period, they'll be addressed ASAP. But it's important to merge, because it's the only way to attract artists to really start testing this system. There are number of assorted documents related on the design of the new system: * http://wiki.blender.org/index.php/User:Aligorith/GSoC2013_Depsgraph#Design_Documents * http://wiki.blender.org/index.php/User:Nazg-gul/DependencyGraph There are also some user-related information online: * http://code.blender.org/2015/02/blender-dependency-graph-branch-for-users/ * http://code.blender.org/2015/03/more-dependency-graph-tricks/ Kudos to everyone who was involved into the project: - Joshua "Aligorith" Leung -- design specification, initial code - Lukas "lukas_t" Toenne -- integrating code into blender, with further fixes - Sergey "Sergey" "Sharybin" -- some mocking around, trying to wrap up the project and so - Bassam "slikdigit" Kurdali -- stressing the new system, reporting all the issues and recording/writing documentation. - Everyone else who i forgot to mention here :)
2015-03-21Cleanup: constify view3d/cameraCampbell Barton
2015-03-13Cycles: Free caches used by the synchronized objectsSergey Sharybin
Issue this commit is addressed to is that particle system and particle modifier will contain caches once derived mesh was requested and this cached data will never be freed. This could easily lead to unwanted memory peaks during synchronization stage of rendering. The idea is to have RNA function in object which would free caches which can't be freed otherwise. This function is not intended to deal with derived final since it might be used by other objects (for example by object with boolean modifier). This cache freeing is only happening in the background rendering and locked interface rendering. From quick tests with victor file this change reduces peak memory usage by command line rendering by around 6% (1780MB vs. 1883MB). For rendering from the interface it's about 12% (1763MB vs. 1998MB). Reviewers: campbellbarton, lukastoenne Differential Revision: https://developer.blender.org/D1121
2015-03-11Fix typo in RNA definition of "shape_key_add"Philipp Oeser
Reviewers: sergey Reviewed By: sergey Differential Revision: https://developer.blender.org/D1167
2015-01-11Fix T43204: Shrinkwrap constraint, project mode: Space ignored in bone case.Bastien Montagne
Own fault in rBb154aa8c060a60d to fix T42447... Reverted that commit, and added kind of not-so-nice hack instead. Note root of the issue comes from the special case we are doing here re 'Local' space of parent-less objects. In that case, local space should be the same as world one, but instead we apply the object rotation to it... This is inconsistent with all other cases and could very well lead to other issues as T42447, but afraid fixing that properly would be rather hairy - not to mention it would likely break all existing riggings etc. :( Should be safe for a 2.73a, shall we need it.
2015-01-06Remove slurph shape-key featureCampbell Barton
This is an old option which wasn't working in over a year without complaint.
2015-01-03Refactor 'fit in camera view' code, and expose it to RNA.Bastien Montagne
This changes BKE's fitting code to use `BKE_camera_params_compute_viewplane` instead of `BKE_camera_view_frame`. This allows that code to work with orthographic projection too. Also, two funcs were added to rna's Object, to resp. get the projection matrix of that object (mostly useful for cameras and lamps objects), and return position this object should be to see all (to fit) a given set of points. Reviewers: campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D961
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
2014-05-22Fix T38493: ray_cast causes runtime error with no facesCampbell Barton
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-02-02Code cleanup: suffix vars to make obvious they are squaredCampbell Barton
2014-01-26Fix T38354: Excess memory allocation when projecting onto object with multiresBastien Montagne
Found three cases where created bvhtree was not freed...
2014-01-16Code Cleanup: no need to pass empty strings as default valuesCampbell Barton
2013-12-26Threaded object update and EvaluationContextSergey Sharybin
Summary: Made objects update happening from multiple threads. It is a task-based scheduling system which uses current dependency graph for spawning new tasks. This means threading happens on object level, but the system is flexible enough for higher granularity. Technical details: - Uses task scheduler which was recently committed to trunk (that one which Brecht ported from Cycles). - Added two utility functions to dependency graph: * DAG_threaded_update_begin, which is called to initialize threaded objects update. It will also schedule root DAG node to the queue, hence starting evaluation process. Initialization will calculate how much parents are to be evaluation before current DAG node can be scheduled. This value is used by task threads for faster detecting which nodes might be scheduled. * DAG_threaded_update_handle_node_updated which is called from task thread function when node was fully handled. This function decreases num_pending_parents of node children and schedules children with zero valency. As it might have become clear, task thread receives DAG nodes and decides which callback to call for it. Currently only BKE_object_handle_update is called for object nodes. In the future it'll call node->callback() from Ali's new DAG. - This required adding some workarounds to the render pipeline. Mainly to stop using get_object_dm() from modifiers' apply callback. Such a call was only a workaround for dependency graph glitch when rendering scene with, say, boolean modifiers before displaying this scene. Such change moves workaround from one place to another, so overall hackentropy remains the same. - Added paradigm of EvaluaitonContext. Currently it's more like just a more reliable replacement for G.is_rendering which fails in some circumstances. Future idea of this context is to also store all the local data needed for objects evaluation such as local time, Copy-on-Write data and so. There're two types of EvaluationContext: * Context used for viewport updated and owned by Main. In the future this context might be easily moved to Window or Screen to allo per-window/per-screen local time. * Context used by render engines to evaluate objects for render purposes. Render engine is an owner of this context. This context is passed to all object update routines. Reviewers: brecht, campbellbarton Reviewed By: brecht CC: lukastoenne Differential Revision: https://developer.blender.org/D94
2013-12-26Code Cleanup: remove object arg to CDDM_from_mesh mesh_create_derivedCampbell Barton
2013-10-11code cleanup: reuse rna_matrix_dimsize_NxN defines between RNA functionsCampbell Barton
2013-08-06fix [#36363] ray_cast face index with n_gonsCampbell Barton
2013-05-09Partial revert of own commits r56604 and r56603:Thomas Dinges
* Reverted the changes to code comments, as suggested by Campbell. It makes it more hard to follow. * Only keep changes to actual UI messages.
2013-05-09UI naming consistency:Thomas Dinges
* ShapeKey -> Shape Key. Was called "Shape Key" in most places already. Pointed out by Dalai, thanks!
2013-05-05Fix #35209: cycles generated texture coordinates did not stick to deforming ↵Brecht Van Lommel
meshes.
2013-03-21fix for own recent commit - added function into wrong side of ifdefCampbell Barton
2013-03-21py api: add Object.update_from_editmode(),Campbell Barton
Useful for python exporters to avoid toggling editmode on export, moved into own function ED_object_editmode_load(obedit).
2013-02-10add option not to calculate tessellation faces when converting an object to ↵Campbell Barton
a mesh. (OBJ export no longer needs, so save some CPU cycles and skip tessellation)
2013-02-05Fix #34040: Moving Normal Node with enabled Cycles Material Preview crashesSergey Sharybin
Issue was caused by couple of circumstances: - Normal Map node requires tesselated faces to compute tangent space - All temporary meshes needed for Cycles export were adding to G.main - Undo pushes would temporary set meshes tessfaces to NULL - Moving node will cause undo push and tree re-evaluate fr preview All this leads to threading conflict between preview render and undo system. Solved it in way that all temporary meshes are adding to that exact Main which was passed to Cycles via BlendData. This required couple of mechanic changes like adding extra parameter to *_add() functions and adding some *_ex() functions to make it possible RNA adds objects to Main passed to new() RNA function. This was tricky to pass Main to RNA function and IMO that's not so nice to pass main to function, so ended up with such decision: - Object.to_mesh() will add temp mesh to G.main - Added Main.meshes.new_from_object() which does the same as to_mesh, but adds temporary mesh to specified Main. So now all temporary meshes needed for preview render would be added to preview_main which does not conflict with undo pushes. Viewport render shall not be an issue because object sync happens from main thread in this case. It could be some issues with final render, but that's not so much likely to happen, so shall be fine. Thanks to Brecht for review!
2013-01-10Fix #33752: UV Orco coordinates were wrong for Cycles (and other externalBrecht Van Lommel
render engines). Replaced generating orco_index by filling the UV loop data directly which is easier and all that needed to be done anyway.
2012-12-28Expose BKE_constraint_mat_convertspace() as object's convert_space() func in ↵Bastien Montagne
RNA. Converting between various standard spaces (like local, pose, world, etc.) can become quite hairy (especially with bones), as we already have this code in C, let's help py devs' life. Thanks to Campbell for the review and advices.
2012-11-01style cleanupCampbell Barton
2012-10-23Fix #30801: cycles rendering issue with missing particle instances in a ↵Brecht Van Lommel
dupligroup.
2012-10-22RNA C++ API improvementsSergey Sharybin
Added support of such features, as: - Ability to call RNA functions using C++ classes For example RenderEngine.tag_update - Property setters (for scalars and arrays) Used Qt/jQuery-like getters/setters style, meaning Class.prop() is a getter, Class.prop(value) is a setter. Still to come: Collection functions are not currently registering inside a property Meaning BlendData.meshes wouldn't be a subclass of BlendDataMeshes result you'll need to explicitly create BlendDataMeshes for now instead of doing BlendData.meshes.remove()
2012-10-20More UI messages fixes and tweaks, and BKE_report<->BKE_reportf.Bastien Montagne
2012-10-13More UI messages fixes.Bastien Montagne
Also forgot to translate reports' titles, and change some usages of BKE_reportf to simple BKE_report, when the former is not needed!