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-14Code cleanup: duplicate headersCampbell Barton
2014-01-26Cleanup of BLI_smallhashBastien Montagne
Factorized a bit the code here, think it's more readable now... No performance enhancement though. Reviewed by: campbellbarton Differential Revision: https://developer.blender.org/D259
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-21Code Cleanup: use bool for return values and correct commentsCampbell Barton
also remove CDDM_Check, theres no need for it.
2014-01-12Style Cleanup: whitespaceCampbell Barton
2013-12-26Code Cleanup: remove object arg to CDDM_from_mesh mesh_create_derivedCampbell Barton
2013-12-22Style Cleanup: remove preprocessor indentation (updated wiki style guide too)Campbell Barton
2013-12-12Code Cleanup: move mesh mapping functions into their own file/headerCampbell Barton
2013-11-04add CDDM_lower_num_loops(), for completeness (currently unused).Campbell Barton
2013-10-17Fix for GCC bing stupid and not casting float*[3] to const float*[3] without ↵Sergey Sharybin
a wanring :S
2013-10-17Fix #37109: missing cycles texture display in edit mode.Brecht Van Lommel
My previous fix for uninitialized texture coordinates was not working well, and in fact there was a bigger issue with GLSL drawing and missing attributes with immediate draw mode. Now it will explicitly pass zero rather than having it use whatever value was set last.
2013-08-26replace hashes with sets where possible.Campbell 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-24edge hash: take an arg for the guarded-malloc string (as ghash does)Campbell Barton
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-01use bmesh for loop macros for looping over mesh verts/edges/facesCampbell Barton
2013-07-28move alloca define into its own header since its not related to BLI_arrayCampbell Barton
2013-07-23optimization: only calculate the normals for passing into derivedMesh ↵Campbell Barton
foreachMappedVert/foreachMappedFaceCenter when needed, this means in editmode with wire draw, face and vertex normals don't have to be calculated at all. in most cases the normals are not used so add a flag that makes calculating them only for functions that need them. also fix face normal calculation for CDDM, was using quad calculation for ngons too.
2013-07-19code cleanup: use boolean for derived mesh face test functionCampbell Barton
2013-06-25correct assertion error (clear dirty normal flag when there are no vertices)Campbell Barton
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-12solidify: dont add poly-normal layer to the derived mesh, since this is no ↵Campbell Barton
longer a convention.
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-30modifier stack: lazy initialize normalsCampbell Barton
many modifiers were calculating normals, when those normals were ignored by the next modifier. now flag normals as dirty and recalculate for modifiers that set use `dependsOnNormals()` callback. Quick test on mesh with 12 modifiers (mostly build type), calculated normals 6 times, now it only runs once - so this will give some speedup too.
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-28optimize mirror merging, remove array reallocation, replace with fixed size ↵Campbell Barton
arrays.
2013-05-15Fix #35354: dyntopo - materials and UI display issuesSergey Sharybin
Textured dyntopo draw was leaving 2d textures enabled when it shouldn't. Root of the issue was figured out by Campbell, actual place where 2D textures left enabled found by self. Also, simplified fix is suggested by Campbell (mine was 2 lines longer! :)
2013-04-23Fix part of #34882: mesh active face not drawing stippled with the mirror ↵Brecht Van Lommel
modifier.
2013-04-22fix [#35026] Curve build modifierCampbell Barton
2013-04-14code cleanup: rename BKE_tessmesh -> BKE_editmesh, rename ↵Campbell Barton
EditDerivedBMesh.tc -> em. ('tc' is odd name which isn't used elsewhere).
2013-03-17code cleanup: name mesh functions more consistently, also use bools for mesh ↵Campbell Barton
args.
2013-02-15Fix part of #34239: crash with cycles textured draw mode + dynamic topology ↵Brecht Van Lommel
sculpt.
2013-01-22Fix/workaround for GLSL textured and matcap modes for dyntopoSergey Sharybin
Currently used special checks in DM draw code, perhaps better would be simply to flush changes from PBVH to DM. Anyway, now things seems to be working OK, will check on better solution from code point of view later.
2013-01-20fix own bug with uninitialized arrays in subdivide (from recent BLI_array.h ↵Campbell Barton
update) also quiet warning.
2013-01-19CDDM_merge_verts() was building an index array for all loops and not using it.Campbell Barton
also use malloc over calloc since the values are filled in right after.
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.
2013-01-10don't store bevel weights or edge crease customdata layers in editmode ↵Campbell Barton
unless they are needed. configurable in 'Geometry Data' panel, will be added when running crease edges transform for example.
2013-01-06Workaround for textured display with dynamic topology enabledSergey Sharybin
This will only make object display with proper shape in textured view, but all materials and textures will be replaced with default gray color. There's currently no better way to deal with textured display when dynamic topology enabled because of all UV/tfaces are clearing when enabling dynamic topology sculpt. Anyway, better to display gray object with proper lighting in this case rather than not update object's shape during sculpt. Proper solution will be possible once CD layer will be preserved by BMesh log.
2013-01-04fix own regression in cdDM_drawFacesTex_common() when drawParamsMapped isnt ↵Campbell Barton
available.
2013-01-02style cleanupCampbell Barton
2012-12-30Code cleanup: rename BLI_pbvh to BKE_pbvhNicholas Bishop
2012-12-30Use GPU_Buffers to draw wireframe when in dynamic-topology sculpt modeNicholas Bishop
This adds an override to the CDDM edge drawing function that switches to GPU_Buffers drawing for PBVHes of type PBVH_BMESH. Within the GPU_Buffers code, glPolygonMode() is used to draw lines instead of faces.
2012-12-30Update DerivedMesh for dynamic-topology sculpt modeNicholas Bishop
* Build bmesh PBVH in CDDM when dyntopo is enabled * Disable all modifiers when dyntopo is enabled
2012-12-21minor bmesh improvementsCampbell Barton
- use 2 omp sections for vert -> (edge, face) selection flushing. - dont use face-loop iterator for cddm_from_bmesh_ex conversion to give some speedup (some modifiers use this). - use float(*)[3] for functions that return coords.
2012-12-15move pbvh into BKE, it used many BKE bad level includes.Campbell Barton
now blenlib/BLI doesn't depend on any blenkern/BKE functions, there are still some bad level includes but these are only to access G.background and the blender version define.
2012-12-06bpy.ops module/caller classes incorrectly had __keys__ rather then __slots__.Campbell Barton
also added comments about texface drawing when theres no origindex.
2012-12-03fix [#33394] Skin modifier doesn't show generated skin mesh in EditMode with ↵Campbell Barton
Texured Solid draw option
2012-11-26fix [#33303] face selection masking for painting does not work with mesh ↵Campbell Barton
with n-gon caused by own change to how origindex is used, now if mpoly's CD_ORIGINDEX array is missing its assumes that its the original mpoly array.
2012-11-20fix for changes in own recent commit:Campbell Barton
selected linked in face mode was crashing. (needs bmesh operator flags) also some style edits, remove unused includes and change triangulate modifiers use_beauty to a flag.