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
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-08-19Merge remained parts of r57520: use use_render argument rather than ↵Sergey Sharybin
G.is_rendering
2013-06-28view-selected didnt work for metaballs in object mode (radius from previous ↵Campbell Barton
commit was 2x too large too).
2013-03-09use 'bool' for BLI_/BKE_ functions.Campbell Barton
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!
2012-10-06toggle cut through in the knife tool now refreshes (before you had to wave ↵Campbell Barton
the mouse about to see the result). also remove print from last commit.
2012-10-06add mball_foreachScreenElem() and use for lasso & circle selection, also ↵Campbell Barton
utility metaball functions to (de)select all.
2012-08-18code cleanup: use BLI math funcs for metaballs, also remove MB_POINT struct ↵Campbell Barton
and just use float[3] instead.
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-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-02-28code cleanup: use float vector size in function definitions, and const's ↵Campbell Barton
where the values are unchanged.
2012-02-26Fix #30337: missed Set Origin for MetaballSergey Sharybin
Implemented Set Origin operator for Meta Balls.
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-02-18doxygen: blenkernel under core as module.Nathan Letwory
2010-12-04Maintenance, Campbell Barton
- remove some redundant declarations - changed VertexTangent and Path structs to avoid compiler alignment padding.
2010-11-17use 'const char *' by default with RNA functions except when the value is ↵Campbell Barton
flagged as PROP_THICK_WRAP. Also use const char in many other parts of blenders code. Currently this gives warnings for setting operator id, label and description since these are an exception and allocated beforehand.
2010-08-23rna: move metaball.active_element to metaball.elements.activeCampbell Barton
added rna funcs... elem = metaball.elements.new() metaball.elements.remove(elem)
2010-07-06Revert revision 29735:Brecht Van Lommel
Fix #22051: crash when scaling parent metaball. Keep the constant resolution for any motherball's scale. This avoids running out of memory when scaling the metaball down, but there's a reason it depends on this scaling, for example for instancing it's more useful to have this. It also doesn't really solve the problem but only moves it, it's still possible to run out of memory with different setups/scales.
2010-06-28Fix #20965: metaballs partticles and volume material crash renderingSergey Sharybin
Fix #21187: 2.5svn26947 - particles + meta sphere = crash in rendering Use separated displists for mballs in view3d and render stuff. Do not recalculate displist for view3d while rendering - mball.c uses several global variables which shouldn't be accepted from parallel threads.
2010-06-27Recalculate motherball when metaball is deletingSergey Sharybin
2010-06-27Fix #22051: crash when scaling parent metaballSergey Sharybin
Keep the constant resolution for any motherball's scale
2010-02-12correct fsf addressCampbell Barton
2009-08-032.5 MetaBalls and UIJiri Hnidek
* Added callback function for some metaball properties: When some properties (wiresize, threshold, update flags) of metaball are changed, then these properties are copied to all metaballs in the group (all metaballs with same base name). This is important to "share" some properties between metaballs, because polygonisation of metaball is influenced only by properties of base metaball and base metaball can be changed. * Improved drawing of selected Metaball objects
2009-01-042.5Ton Roosendaal
Think global, act local! The old favorite G.scene gone! Man... that took almost 2 days. Also removed G.curscreen and G.edbo. Not everything could get solved; here's some notes. - modifiers now store current scene in ModifierData. This is not meant for permanent, but it can probably stick there until we cleaned the anim system and depsgraph to cope better with timing issues. - Game engine G.scene should become an argument for staring it. Didn't solve this yet. - Texture nodes should get scene cfra, but the current implementation is too tightly wrapped to do it easily.
2008-05-15Last bug fix of #10999. This should finaly work (tested by jesterking).Jiri Hnidek
2008-05-12Bug fix of #10999. mbproc->start was useless.Jiri Hnidek
2008-04-17Patch from GSR that a) fixes a whole bunch of GPL/BL licenseChris Want
blocks that were previously missed; and b) greatly increase my ohloh stats!
2008-02-26Fix for bug #6854: meta object crash with preview render. Meta objectsBrecht Van Lommel
were using an ugly trick to store render orco's, but there's really no reason for it, now it works like other primitives.
2007-03-11made all data adding functions accept a name such as add_mesh or add_curve, ↵Campbell Barton
previously only some datatypes adding functions accepted a name. also updated the Bpy.py epydocs
2004-06-29- added octal tree node optimalization of MetaBall polygonisationJiri Hnidek
polygonization of 512 MetaBalls: - version 2.33a: 76 s - current cvs version 8 s - button "Never" is added in button window: Metaballs are polygonized only during render time (it is useful for particle animation) http://e-learning.vslib.cz/hnidek/misc/bowl_metaballs.blend
2003-11-21- fixed another oldie... displaylists for MBall was generated FAR too often.Ton Roosendaal
even for each redraw! Now its all smooth & fast again. introduced new kernel API call: int is_basis_mball(ob), this provides a quick check of the object is the actual basis for the displaylist and polygonization.
2002-12-27Removed the config.h thing from the .h's in the source dir.Kent Mein
So we should be all set now :) Kent -- mein@cs.umn.edu
2002-11-25Did all of the .h's in sourceKent Mein
(adding) #ifdef HAVE_CONFIG_H #include <config.h> #endif also the Makefile.in's were from previous patch adding the system depend stuff to configure.ac Kent -- mein@cs.umn.edu
2002-10-30fixed spacing in the headers to get rid of some warnings and some otherKent Mein
little minor spacing issues.
2002-10-12Initial revisionv2.25Hans Lambermont