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
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!
2012-10-05Fix #32734: Object.to_mesh() gave wrong user count for curves/surface/text ↵Brecht Van Lommel
objects.
2012-10-05Cycles: add "From Dupli" option for texture coordinate node. This gets theBrecht Van Lommel
Generated and UV coordinates from the duplicator of instance instead of the object itself. This was used in e.g. Big Buck Bunny for texturing instanced feathers with a UV map on the bird. Many files changed, mainly to do some refactoring to get rid of G.rendering global in duplilist code.
2012-09-27Fix #32667: Curve softbodies doesn't render animation (cycles)Sergey Sharybin
Issue was caused by cycles being duplicated curve objects before converting them to mesh. This duplication will loose pointcache which resulted in object not being properly deformed.
2012-09-22Revert a small part of r50813, so that we can build (actually, link) with ↵Bastien Montagne
Cycles! Note: this is marked as hack/todo in cycles code, so it needs a proper fix, but at least it works, for now... ;)
2012-09-22code cleanup: make many functions staticCampbell Barton
2012-09-08style cleanupCampbell Barton
2012-08-08code cleanup: rename G.afbreek --> is_break, G.rendering --> is_renderingCampbell Barton
2012-07-31resolve glitch in the image space where mask editing and UVs would conflict.Campbell Barton
now UV editing overrides mask.
2012-07-31support for curve orco uv's as UV's in cycles.Campbell Barton
ideally these would be used as generated coordinates, but this is tricly because cycles calculates its own orco's and doesnt know about curve settings.
2012-07-14Fix #31021: Render settings are not taken into account for curvesSergey Sharybin
Refactored code a bit to make naming a bit more clear and added a function to create mesh from given display list rather than from object's displist. Tested using plain curves (which doesn't imply using derived meshes) and curves with constructive modifiers (which are using derived meshed).
2012-05-20code cleanup:Campbell Barton
- style - multi-line ifs move braces onto new lines. - iterators - convert some to macros, other split up and move brace.
2012-05-12style cleanup: mostly whitespace in rnaCampbell Barton
2012-05-07Style cleanup: displist moduleSergey Sharybin
2012-05-07Style cleanup: rename BKE_metaball* to BKE_mball -- mball is more commonly ↵Sergey Sharybin
used term in Blender
2012-05-06code cleanup: naming - BKE_mesh_*Campbell Barton
2012-05-05code cleanup: naming - pose/armature/image Campbell Barton
also use ..._find_name(..., name) rather then ..._find_named(..., name) --- both were used.
2012-05-05code cleanup: function naming, use BKE_*type* prefix.Campbell Barton
2012-04-30Cycles: support for motion vector and UV passes.Brecht Van Lommel
Most of the changes are related to adding support for motion data throughout the code. There's some code for actual camera/object motion blur raytracing but it's unfinished (it badly slows down the raytracing kernel even when the option is turned off), so that code it disabled still. Motion vector export from Blender tries to avoid computing derived meshes when the mesh does not have a deforming modifier, and it also won't store motion vectors for every vertex if only the object or camera is moving.
2012-04-29style cleanup: missed these from previous cleanupCampbell Barton
2012-04-29style cleanup: function calls & whitespace.Campbell Barton
2012-04-28Code and style cleanup in own modules in BKE and also mball moduleSergey Sharybin
- Make sure functions are named in way BKE_<object>_<action> (same way as RNA callbacks) - Make functions which are used by mball.c only static and remove their prototypes from public header file. Further cleanup is coming.
2012-04-23- fix for python freeing its own bmesh clearing the global mirror cache.Campbell Barton
- fix for own mistake (Ctrl+T didnt set beauty peroperty). - remove bad level includes in bmesh.
2012-03-25inset tool now works better when insetting around corners - the 2 faces ↵Campbell Barton
normals are now used to calculate the inset edge vector if the faces are different and not planer.
2012-03-24style cleanup: follow style guide for formatting of if/for/while loops, and ↵Campbell Barton
else if's
2012-03-18Code style edits (mostly spliting long lines, and removing trailing spaces).Bastien Montagne
Note about long lines: I did not touch to two pieces of code (because I don’t see any way to keep a nicely formated, compact code, with shorter lines): * The node types definitions into rna_nodetree_types.h * The vgroup name functions into rna_particle.c
2012-03-11style cleanup, also remove unused externs.Campbell Barton
2012-03-11fix for debug assignment left in from own commit r44778Campbell Barton
also removed private face normal update functions - they were same as public.
2012-03-09style cleanup: comment blocksCampbell Barton
2012-03-06Code cleanup in rna files (huge, higly automated with py script).Bastien Montagne
Addresses: * C++ comments. * Spaces after if/for/while/switch statements. * Spaces around assignment operators.