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-09-09move mesh evaluation functions (normal, mapping, smooth group... etc, ↵Campbell Barton
calculations) into mesh_evaluate.c. mesh.c was over 4k lines and complex functions mixed in with general library management.
2013-09-02Ack... Followup to r59743: in fact, bitflags groups are not always ↵Bastien Montagne
wanted/needed, thanks to Campell for notifying me about this! So now, their generation is controlled by a flag, else previous "simple values" group ids are generated (one per poly region, no need here to reduce the number of used IDs!). Will update obj exporter too.
2013-09-02Fix [#36636] Incorrect assignment of Smoothing Groups on exportBastien Montagne
In fact, smooth groups are supposed to be bitflags, not simply integer values (would be far too much simple!). This adds quite a bit of work, as with only 32 values, we can't just assign one to each group. Somewhat related to the "Four colors theorem"! ;) Here we simply use the first available bit for current smooth group (i.e. first bit not used by any of the already defined contiguous groups).
2013-08-28scanfill curves, ngons, masks had their own memarena code and would allocate ↵Campbell Barton
a new one for every fill. now use BLI_memarena and support passing the arena into the fill function, so the arena is re-used, when scanfill is called in a loop.
2013-08-27fix [#36301] Mirror modifier does not mirror vertex normals when there are ↵Campbell Barton
no faces.
2013-08-26replace hashes with sets where possible.Campbell Barton
2013-08-24use reserve argument for more edgehashsCampbell Barton
2013-08-24when the size of an edgehash is known or can be guessed,Campbell Barton
pass in the argument to reserve the size.
2013-08-24fix for leak in make_edges_mdata() if there were no edges to create,Campbell Barton
also reserve the total number of edges in the hash when its created.
2013-08-24edge hash: take an arg for the guarded-malloc string (as ghash does)Campbell Barton
2013-08-20fix/workaround [#36519] Origin to Center of Mass" failes when faces have an ↵Campbell Barton
area of zero
2013-08-19Tag object-data level boundbox as invalid rather than freeing itSergey Sharybin
Object update used to free object-data level bounding box to trigger it's re-calculation in the future. Such a freeing performed from object update isn't thread-safe because mesh could be shared between multiple objects. Rather than freeing bounding box, tag it's as invalid, this is safe from threading point of view and also prevents unnecessary memory re-allocation. Object-level bounding box is still reallocating, but think we could change this easily in the future as well. -- svn merge -r58154:58156 -r59258:59259 ^/branches/soc-2013-depsgraph_mt
2013-08-19Made curves almost thread-safeSergey Sharybin
Now modifier stack wouldn't modify original curve's nurbs and will operate on a copy of nurbs. This makes it possible to process curve object update with shared curve datablocks from multiple threads. There's no big overhead for creating a copy of nurbs comparing to old behavior which was allocating original vertex array and apply coordinates on curve after all modifier are applied. The only remained issue with curves is curve's bounding box and texture space. It's not thread-safe, but it wouldn't lead to crashes -- it just could lead to either memory leak or wrong texture coordinates due to difference in modifiers stacks of objects which shares the same curve. -- svn merge -r57959:57961 ^/branches/soc-2013-depsgraph_mt
2013-08-19Move bevel list and path from Curve to Object datablockSergey Sharybin
I know this is not so much nice to have this guys hanging around in a general Object datablock and ideally they better be wrapped around into a structure like DerivedMesh or something like this. But this is pure runtime only stuff and we could re-wrap them around later. Main purpose of this is making curves more thread safe, so no separate threads will ever start freeing the same path or the same bevel list. It also makes sense because path and bevel shall include deformation coming from modifiers which are applying on pre-tesselation point and different objects could have different set of modifiers. This used to be really confusing in the past and now data which depends on object is stored in an object, making things clear for understanding even. This doesn't make curve code fully thread-safe due to pre-tesselation modifiers still modifies actual nurbs and lock is still needed in makeDispListsCurveTypes, but this change makes usage of paths safe for threading. Once modifiers will stop modifying actual nurbs, curves will be fully safe for threading. Actually, this commit also contains wrapping runtime curve members into own structure This allows easier assignment on file loading, keeps curve- specific runtime data grouped and saves couple of bytes in Object for non-curve types. -- svn merge -r57938:57939 ^/branches/soc-2013-depsgraph_mt svn merge -r57957:57958^/branches/soc-2013-depsgraph_mt
2013-08-14add materials.clear() method, matching other python list method.Campbell Barton
2013-07-28move alloca define into its own header since its not related to BLI_arrayCampbell Barton
2013-07-19code cleanup: use MEM_mallocN rather then MEM_callocN when the array isCampbell Barton
overwritten immediately after.
2013-07-16Fix memory leak in BKE_mesh_vert_poly_map_create.Antony Riakiotakis
2013-07-15Fix #36139: cycles not taking texture spacing settings into account forBrecht Van Lommel
generated coordinates on text objects.
2013-07-15fix regression [#36141] Crash with skin and remesh modifier in edit mode.Campbell Barton
2013-07-03fix [#35975] "Select Linked" = "Select All" in Weight Paint mode?Campbell Barton
looks like this was broken since bmesh merge.
2013-07-01fix [#35914] Blender crashes when trying to use vertex selection masking on ↵Campbell Barton
a copy directly after using SHIFT+d
2013-06-29fixed Blender crash, but unclear when this situation can happenGaia Clary
2013-06-27fix for zero length normalize before scanfill for meshes and other minor ↵Campbell Barton
changes.
2013-06-26fix [#35858] Weight Paint: Hiding faces isnt flushing the flag to the vertices.Campbell Barton
2013-06-24calculate polygon normals for BKE_mesh_recalc_tessellation() inline rather ↵Campbell Barton
then using scanfills function.
2013-06-20Construct orco UV layer for curve when applying constructive modifierSergey Sharybin
Also construct orco uv layer when converting curve to a mesh. This makes it possible to preserve automatically generated coordinates ("use uv for mapping" option) when using constructive modifiers or converting curve to the mesh. With cycles nothing special is needed to preserve texture mapping after such operations, in blender internal you'll need to change texture mapping from Generated to UV. This feature is useful on it's own and also would help in potential switch 3d viewport to always use DM to draw objects, which would help making drawing more thread-safe.
2013-06-15display active vertex in weight paint mode. also correct NULL free.Campbell Barton
2013-06-15added basic utility functions for working with mselect (selected mesh elements)Gaia Clary
2013-06-14expose smooth group calculation to python as Mesh.calc_smooth_groups()Campbell Barton
2013-06-14utility function for calculating smooth groups from sharp edges: ↵Campbell Barton
BKE_mesh_calc_smoothgroups
2013-06-14utility function BKE_mesh_edge_poly_map_create(), currently unused.Campbell Barton
2013-06-14code cleanup: reduce pointer indirection for mesh-map creation functions.Campbell Barton
2013-06-14code cleanup: make_edges_mdata() reduce some sign conversion, pointer ↵Campbell Barton
indirection.
2013-06-12solidify: dont add poly-normal layer to the derived mesh, since this is no ↵Campbell Barton
longer a convention.
2013-06-03fix [#35555] Collada: export destroys mesh in some casesCampbell Barton
add arguments to calculate normals when converting to bmesh: BM_mesh_bm_from_me, DM_to_bmesh This gives some speedup to undo (which didnt need to re-calculate vertex normals), and array modifier which doesnt need to calculate face normals at all
2013-05-30remove CD_MASK_NORMAL from CD_MASK_DERIVEDMESH, bmesh merge included this ↵Campbell Barton
but its not needed. Now add asserts to make sure this layer is only added once the modifier stack has been calculated. this saves normal layer being calculated whenver vertex normals need updating.
2013-05-28code cleanup: lots of calls to BKE_mesh_calc_normals_mapping were not using ↵Campbell Barton
the mapping functionality. replace ED_mesh_calc_normals with BKE_mesh_calc_normals().
2013-05-28fix for missing normalize with recent optimizations.Campbell Barton
2013-05-24fix own error in r56649, caused normal calculation to fail, reported as ↵Campbell Barton
[#35448], also quiet float/double warning.
2013-05-10Optimize BKE_mesh_calc_normals(), gives approx 25% speedup.Campbell Barton
- no need to allocate polygon normal array. - no need to use BLI_array_ functions (realloc's). - reduce some of the looping.
2013-05-08code clenup: rename BKE_mesh_poly_calc_angles -> BKE_mesh_calc_poly_anglesCampbell Barton
2013-05-08add matrix multiply for projection that outputs 2d values.Campbell Barton
2013-05-08code cleanup: BKE_mesh_nurbs_displist_to_mdata(), use const bool forCampbell Barton
'conv_polys'
2013-05-05Fix #35209: cycles generated texture coordinates did not stick to deforming ↵Brecht Van Lommel
meshes.
2013-04-27fix for own commit r56204, wasnt checking edges exist before adding.Campbell Barton
2013-04-22fix [#35026] Curve build modifierCampbell Barton
2013-04-18Make freestyle use local Main for temporary objectsSergey Sharybin
This means main database is no longer pollutes with temporary scene and objects needed for freestyle render. Actually, there're few of separated temporary mains now. Ideally it's better to use single one, but it's not so much trivial to pass it to all classes. Not so big deal actually. Required some changes to blender kernel, to make it possible to add object to a given main, also to check on mesh materials for objects in given main. This is all straightforward changes. As an additional, solved issue with main database being infinitely polluted with text blocks created by create_lineset_handler function. This fixes: - #35003: Freestyle crashes if user expands objects in FRS1_Scene - #35012: ctrl+f12 rendering crashes when using Freestyle
2013-04-16code cleanup: use BKE naming conventions for functions in BKE_editmesh.h and ↵Campbell Barton
BKE_editmesh_bvh.h
2013-04-14code cleanup: rename BKE_tessmesh -> BKE_editmesh, rename ↵Campbell Barton
EditDerivedBMesh.tc -> em. ('tc' is odd name which isn't used elsewhere).