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-01-23Cleanup: int/short to bool in BKE_cdderivedmesh.h functions (and TRUE/FALSE ↵Bastien Montagne
to true/false in code using them).
2014-01-17Code Cleanup: spellingCampbell Barton
2014-01-17BMesh: add bmesh delete functions that dont depend on operator flagsCampbell Barton
2014-01-17Build Modifier - Add "Reversed" OptionJoshua Leung
This commit introduces the ability to make the Build Modifier operate in reverse, essentially allowing it to be used as a "deconstruction" effect. (See D219 for more details about use cases for this)
2014-01-16Minor change to last commit to solidify, only allocate bitmap as neededCampbell Barton
2014-01-16Fix T38116: Crash when using solidify modifier on multi-user meshSergey Sharybin
Issue was caused by solidify modifier using original vertices bitfield to store tags. This isn't thread-safe obviously. Now use bitmap to store needed tags. Reviewed by Campbell, thanks!
2014-01-16Code Cleanup: style and redundant castsCampbell Barton
2014-01-15Fix T38227: Cloth cache storing only every 10 frames.Sergej Reich
Make sure pointcache step is set to 1 for cloth when copying objects.
2014-01-15Code Cleanup: use iroundfCampbell Barton
also increase precision of rctf print functions
2014-01-14Bevel Modifier: add width type and profile control.Howard Trickey
This adds to the modifier the new controls that have been added to the bevel tool.
2014-01-13Code Cleanup: replace checks for ima->source with BKE_image_is_animatedCampbell Barton
2014-01-13Remove direct displist creation from array modifierSergey Sharybin
First of all, it was needed to have that set scenes fix which was done recently so curve is being evaluated properly on file load. And last but not least, also needed to tag DAG node to evaluate path regardless to curve datablock settings so curve length is always known.
2014-01-13Remove direct displist creation from curve deformSergey Sharybin
This solves threading conflict which happens when having multiple objects using Curve Deform modifier with the same curve datablock. This conflict was caused by the fact that curve_deform_verts() used to temporary override curve's flags to make it path is there. Actually, it was setting CU_FOLLOW flag temporary which was only used where_on_path() (only in terms that this temporary assignment only affected this function) but it is now commented out for a while, so no reason to set this flag temporary, If it's ever to be done, we'll need to pass flags as an additional function argument. For the path creation i've extended DegNode structure which now holds extra bits which indicates what additional data depending on the graph topology is to be evaluated. Currently this is only used to indicate that curve needs path to be evaluated regardless to cu->flag state. This is so Curve Deform modifier is always happy. In the future this flag might also be used to indicate whether bmesh verts are to update (see recent commit to 3-vertex parent crash fix) or to indicate that the object is the motherball etc.
2014-01-12Style Cleanup: whitespaceCampbell Barton
2014-01-08Add profile control parameter to Bevel.Howard Trickey
Parameter controls concavity / convexity. <.25 means: concave inward .25 means: straight slanted >.25 means: concave outward .5 means: circular (the default) 1 means: straight along original sides For now, there is a hard lower limit of .15 because more work is needed to get decent results in the range below that. The profile is actually a superellipse, and the parameter is 1/4 of the exponent in the implicit equation for a superellipse, except at the extreme values of 0 and 1.
2014-01-07Fix T38100: laplacian smooth crashCampbell 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-12-24Fix T37914: Mask modifier behaves differently until paintedCampbell Barton
2013-12-23Code Cleanup: styleCampbell Barton
2013-12-22Style Cleanup: remove preprocessor indentation (updated wiki style guide too)Campbell Barton
2013-12-22error in last commit, missing normal update.Campbell Barton
2013-12-22error in last commit, flag names.Campbell Barton
2013-12-22Modifier: New Wireframe ModifierCampbell Barton
Based on patch originally by Thomas Beck, uses options similar to solidify.
2013-12-21Fix for mesh deform modifier missing copy for flag.Campbell Barton
2013-12-21Mesh Modifiers: refactor copying using a generic functionCampbell Barton
2013-12-19Fix T37869: vertex paint + wireframe draw mode + smoke domain did not draw ↵Brecht Van Lommel
correct.
2013-12-19Fix T37003, Fix T37859: smoke modifier taking deforming modifiers into accountBrecht Van Lommel
in some cases. The smoke modifier now ignores the modifier evaluation for generated texture coordinates, which would previously cause the undeformed mesh to be cached for flow objects. Dynamic paint has a similar exception, and other physics systems avoid it by not being a constructive modifier.
2013-12-19Fix T37691: Screw modifier created zero length normalsCampbell Barton
2013-12-18Fix T37837: mirror modifier merge does not place vertices at the center.Brecht Van Lommel
This was broken since BMesh.
2013-12-12Code Cleanup: move mesh mapping functions into their own file/headerCampbell Barton
2013-12-12Add meaningful default for SimpleDeform modifier's angle prop.Bastien Montagne
2013-12-03Cleanup: Internal degrees removal.Bastien Montagne
This patch changes most of the reamining degrees usage in internal code into radians. I let a few which I know off asside, for reasons explained below - and I'm not sure to have found out all of them. WARNING: this introduces forward incompatibility, which means files saved from this version won't open 100% correctly in previous versions (a few angle properties would use radians values as degrees...). Details: - Data: -- Lamp.spotsize: Game engine exposed this setting in degrees, to not break the API here I kept it as such (using getter/setter functions), still using radians internally. -- Mesh.smoothresh: Didn't touch to this one, as we will hopefully replace it completely by loop normals currently in dev. - Modifiers: -- EdgeSplitModifierData.split_angle, BevelModifierData.bevel_angle: Done. - Postprocessing: -- WipeVars.angle (sequencer's effect), NodeBokehImage.angle, NodeBoxMask.rotation, NodeEllipseMask.rotation: Done. - BGE: -- bConstraintActuator: Orientation type done (the minloc[0] & maxloc[0] cases). Did not touch to 'limit location' type, it can also limit rotation, but it exposes through RNA the same limit_min/limit_max, which hence can be either distance or angle values, depending on the mode. Will leave this to BGE team. -- bSoundActuator.cone_outer_angle_3d, bSoundActuator.cone_inner_angle_3d: Done (note I kept degrees in BGE itself, as it seems this is the expected value here...). -- bRadarSensor.angle: Done. Reviewers: brecht, campbellbarton, sergey, gaiaclary, dfelinto, moguri, jbakker, lukastoenne, howardt Reviewed By: brecht, campbellbarton, sergey, gaiaclary, moguri, jbakker, lukastoenne, howardt Thanks to all! Differential Revision: http://developer.blender.org/D59
2013-12-03Laplacian Deform Modifier: fix possible NULL pointer dereference.Campbell Barton
2013-11-26Screw Modifier: UV supportCampbell Barton
- When existing faces are available use their UV values - When no faces are connected to an edge - generate UV's Also add option to stretch U/V to bounds.
2013-11-26Screw Modifier: copy face data when the original face is known.Campbell Barton
also de-duplicate code for handling the closing face strip.
2013-11-26Usual ui messages fixes...Bastien Montagne
2013-11-25CMake Build: option to compile without opennl/superlu.Campbell Barton
2013-11-24Mesh Modifiers: Added Laplacian DeformAlexander Pinzon
Part of soc-2013-sketch_mesh branch See: http://wiki.blender.org/index.php/User:Apinzonf/Doc:2.6/Manual/Modifiers/Deform/Laplacian_Deform
2013-11-21Code Cleanup: use strict flags for screw modifier, reduce sign conversionCampbell Barton
2013-11-19Code Cleanup: style, spelling and pep8 editsCampbell Barton
2013-11-19Fix T37519: Screw Modifier ignores material setupCampbell Barton
This was more a missing feature then a bug, the modifier never handled existing faces however with ngons its possible to get more useful results. Also order edges from the faces (if available), gives control over the face-winding-direction.
2013-11-18Fix T37413 - Fit-Curve option for Array Modifier ignores constraint resultsJoshua Leung
Unless I'm missing something here (probably with regards to parenting), it makes more sense that constraint results are considered here as well (for example, if Limit Scale constraints get applied on the object), as this allows for greater flexibility when creating setups with this.
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-05Fix [#37315] Mirror+MeshDeform cause crash when Vertex Group is referredBastien Montagne
One hour of efforts to spot such a small dummy typo!
2013-10-30Fix #37252: Mask modifier doesn't copy settings on object copySergey Sharybin
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-20Code cleanup: de-duplicate implementation of get_texture_valueSergey Sharybin
Expect to be no functional changes :)
2013-09-20correct include guards and add checks in check_style_c.py for them.Campbell Barton