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-12-24BMesh optimize face splitting by taking loops rather then vertsCampbell Barton
- add BM_vert_pair_share_face - add BM_loop_is_adjacent - remove BM_verts_connect
2013-12-22Style Cleanup: remove preprocessor indentation (updated wiki style guide too)Campbell Barton
2013-12-21EditMesh: wireframe tool, add offset and vgroup support (not used yet)Campbell Barton
2013-12-21Support units in modal numinputBastien Montagne
Summary: This completly changes the way modal numinput is handled. Now, edited expression is a string, which then gets unit- and py-evaluated to get a float value. We gain many power and flexibility, but lose a few "shortcuts" like '-' to negate, or '/' to inverse (if they are really needed, we still can add them with modifiers, like e.g. ctrl-/ or so). Features: - units (cm, ", deg, etc.). - basic operations from python/BKE_unit (+, *, **, etc.), and math constants and functions (pi, sin, etc.). - you can navigate in edited value (left/right key, ctrl to move by block) and insert/delete chars, e.g. to fix a typo without having to rewrite everything. - you can go to next/previous value with (ctrl-)TAB key. - As before, hitting backspace after having deleted all leading chars will first reset the edited value to init state, and on second press, the whole "modal numinput" editing will be cancelled, going back to usual transform with mouse. Notes: - Did not touch to how values are shown in header when modal numinput is not enabled (would do that in another commit), so this is still quite inconsistent. - Added back radian support in BKE_unit. - Added arcminute/arcsecond to BKE_unit. (those unit changes affect all angle UI controls, btw, so you can now enter radians or longitude/latitude values when in degrees units). Related to T37600. Reviewers: brecht, campbellbarton, carter2422 Reviewed By: brecht, campbellbarton, carter2422 Thanks everybody! Differential Revision: http://developer.blender.org/D61
2013-12-17'Transform' Python Function for armature, curve and lattice.Campbell Barton
patch by Paolo Acampora with some edits.
2013-12-14Modeling: add optional angle limit for beauty fillCampbell Barton
Makes this tool more useful on an entire mesh by only applying beautify to planar surfaces.
2013-12-12Code Cleanup: move mesh mapping functions into their own file/headerCampbell Barton
2013-12-03Knife Tool: incorrect sized vector args (harmless but misleading)Campbell Barton
2013-11-30BMesh/Mesh: replace scanfill with polyfillCampbell Barton
2013-11-27Fix T37203: New face from an edge failed if only one vert was connected to a ↵Campbell Barton
wire edge
2013-11-27Fix for recent error (editmesh triangulate crashed).Campbell Barton
2013-11-26Fix 37571: Knife Select should be disabled when no faces are selectedCampbell Barton
also check a similar case for bisect
2013-11-26Fix T37617: "Add plane" was adding a 2*2 gridBastien Montagne
Was a regression from rBaa3c06b41ca9, hope this time all things are OK again (note the X/Y subdivision values still are different than before (-1 for same result), but imho they make more sense this way).
2013-11-25Code Cleanup: rename vars for detecting change to be more consistentCampbell Barton
rename change/is_change/is_changed/modified -> changed also use bools over int/short/char and once accidental float.
2013-11-25Fix mesh triangulate not flushing selectionCampbell Barton
2013-11-18BMesh Refactor: BKE_bmbvh_new can now be created without an EditMesh.Walid Shouman
This adds BM_bmesh_calc_tessellation() so we can get triangles from a bmesh without having to have an editmesh available.
2013-11-12Fix [#37380] vertex paint colors don't render.Bastien Montagne
Another Evil Typo (r) one, you could add much more than the 8 allowed VCol layers! Note: added some (warning-only) checks in mesh validate functions, but we still have a big issue with new cdlayer merge function, which could generate more than 8 layers of UVs or VCol... Don't know yet how to handle this situation. :(
2013-11-11Used wrong RNA access routine in bevel amount commit.Howard Trickey
2013-11-10Added options for how bevel amount is measured.Howard Trickey
Now there is an 'Offset Type' dropdown on tool shelf with types: Offset - current method, offset of new edge from old along sliding face Width - width of new bevel face (if segments=1) Depth - amount a chamfering plane moves down from original edge Percent - percent of way sliding edges move along their adjacent edges The different options mainly are useful when beveling more than one edge at once. Leaving as a TODO to put these in the modifier, as doing that has more permanent effects so want to let users shake out problems with this first.
2013-11-08knife tool: Remove unused 'extend' variableSergej Reich
2013-11-08knife tool: Clean up line hits when starting a new cutSergej Reich
Fixes intersection points of the previous cut still being drawn when starting a new cut.
2013-11-06Fix knife bug exposed by valgrind.Howard Trickey
Was reading cage coordinate from those of existing BMVerts even for newly created verts that don't have cage coordinates there.
2013-11-05Rewrote a lot of knife tool. Now allows cut-throughHoward Trickey
to make new vertices in the middle of faces. This also fixes knife bugs: #36678, #35945, #35943, #35387, #35045, #35002.
2013-11-04UI messages fixes...Bastien Montagne
2013-11-01Add 'cut-through' option for Knife Project operator.Howard Trickey
If enabled, it makes knife project act as the cut-through (Shift-K) version of knife. This option will soon be more useful when a better cut-though Knife change is submitted, allowing this to work for cuts within faces in addition to cuts across them.
2013-11-01fix for weight-paint crash picking the weight with the mask modifier (or any ↵Campbell Barton
modifier which removes geometry). was incorrectly mixing indices from the DerivedMesh and the original mesh.
2013-10-31remove return argument from wmOperatorType->cancel, was only ever returning ↵Campbell Barton
OPERATOR_CANCELLED.
2013-10-29Triangulate Modifier: using different ngon and quad methodsDalai Felinto
Quads: Beauty, Fixed, Fixed Alternate, Shortest Diagonal Ngons: Beauty, Scanfill * Shortest Diagonal is the default method in the modifier (popular elsewhere), but beauty is the default in Ctrl+T). * Remove the need for output slot and beauty operator to be called after Clt+T Patch with collaborations and reviewed by Campbell Barton
2013-10-28move bmesh array lookup data and utility functions from editmesh into bmesh,Campbell Barton
since enough bmesh operations can also take advantage of direct index lookups on verts/edges/faces. developers note: - EDBM_index_arrays_init/ensure/free -> BM_mesh_elem_table_ensure/init/free - EDBM_vert/edge/face_at_index -> BM_vert/edge/face_at_index - EDBM_uv_element_map_create/free -> BM_uv_element_map_create/free - ED_uv_element_get -> BM_uv_element_get
2013-10-27rename BM_vert_at_index -> BM_vert_at_index_find (since this searches the ↵Campbell Barton
mempool). needed for other changes - coming.
2013-10-26rename give_cursor to ED_view3d_cursor3d_getCampbell Barton
2013-10-25Updating tooltip for Fill Holes "Sides" option.Jonathan Williamson
This makes the tooltip much more descriptive to tell the user what the setting does. Suggestion by Thomas Beck and bcon13.
2013-10-23refactor transform.c - minor changesCampbell Barton
- use TREDRAW_HARD define - use apply prefix for transform callbacks. - make callbacks static.
2013-10-15add 'Extrude Region, Vertex Normal' to the extrude menu, equivalent of ↵Campbell Barton
'Extrude, Escape, Alt+S'
2013-10-15renaming "Beautify Fill" to "Beautify Faces"Dalai Felinto
changing the ot->name only, not the ot->idname (to avoid breaking scripts) The tool requires the selection to be fill previously, the original name was confusing if we consider we have "Fill" with the "Beauty" option. Discussed with Bastien Montagne and Brecht van Lommel.
2013-10-14note in bisect tooltip that you need to click-drag the plane.Campbell Barton
2013-10-13code cleanup: utility function for getting a bool as a string.Campbell Barton
2013-10-12transform - use 2d float's for the viewport center (allows for vector math ↵Campbell Barton
functions to be used more easily).
2013-10-12code cleanup: use const's for vector args.Campbell Barton
2013-10-11fix for select linked walking over the same faces multiple times. (caused ↵Campbell Barton
gset assertion).
2013-10-11use BLI_bitmap for editmesh selection buffer to save some memory.Campbell Barton
2013-10-11fix [#37030] Loop Cut and Slide doesn't clear header text if you click a ↵Campbell Barton
blank area
2013-10-10add MEM_SIZE_OPTIMAL to avoid memory fragmentation & waste lost to slop-space.Campbell Barton
2013-10-05avoid divide by zero with grid fill (when there is no selection)Campbell Barton
2013-10-04code cleanup: warnings and minor edits.Campbell Barton
2013-10-04fix for lasso failing/glitches on overlapping lines, replace scanfill with ↵Campbell Barton
2d pixel filling for drawing and selection.
2013-10-04fix for lasso selection (in non-zbuf mode) when the line intersected its self.Campbell Barton
isect_point_poly_v2() - add argument to check overlapping areas.
2013-10-03remove assert recently added to EDBM_backbuf_check and explain odd logic.Campbell Barton
2013-10-01fix regression - convex hull tool leaving new faces unselected.Campbell Barton