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-07-19code cleanup: use boolean for derived mesh face test functionCampbell Barton
2013-07-09fix [#36055] Edge/Face Info display on wrong position with key framesCampbell Barton
display editmesh stats with deform modifiers.
2013-06-26fix [#33068] Can't paint weights of some vertices in some situations.Campbell Barton
old limitation where you could only paint onto one side of a mirrored mesh (weight paint, vertex paint).
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-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-05Fix #35209: cycles generated texture coordinates did not stick to deforming ↵Brecht Van Lommel
meshes.
2013-04-04Fix #34625: duplivert/face rendering with modifier could crash accessing UV andBrecht Van Lommel
generated coordinates on the original mesh, after the change that made duplis take modifiers into account.
2013-03-29misc minor edits.Campbell Barton
- pass string size to BLI_timestr() to avoid possible buffer overrun. - quiet warning for mingw. - include guards for windows utf conversion funcs. - fix for mistage in edge-angle-selection check. - some style cleanup.
2013-03-06code cleanup: quiet warnings for recent weight paint theme addition.Campbell Barton
2013-03-06Weight Painting: Added userpref for zero_weight color.Gaia Clary
2013-02-20increase openmp limit for release so low poly meshes don't use openmp ↵Campbell Barton
threads (which can be slow)
2013-01-25header cleanup, include BLI before BKE, also use bool for ntreeShaderExecTreeCampbell Barton
2013-01-18use openmp sections for felling origindex arraysCampbell Barton
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.
2012-12-15use struct type for VPaintData.vertexcosnos rather then float*.Campbell Barton
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-01remove BLI_utildefines from BKE_DerivedMesh.h headerCampbell Barton
2012-10-31fix compile error introduced in rev. 51773: missing header include.Andrea Weikert
Reported on IRC.
2012-10-30remove CD_POLYINDEX customdata layer:Campbell Barton
reported as [#29376] BMESH_TODO: remove tessface CD_ORIGINDEX layer for a single mesh there could be 3 origindex mappings stored, one on the polygons and 2 on the tessfaces. (CD_POLYINDEX and CD_ORIGINDEX). as Andrew suggests, now tessfaces (which are really a cache of polygons), using origindex to point to polygons on the same derived mesh, and polygons only store the original index values.
2012-10-29Complete fix for [#33002] Wrong vertex color.Bastien Montagne
Appart from the color glitch, there was several problems with vpaint: * "fast_update" mode was never on, because of wrong testing code; * drawing refresh during stroke in "fast_update" (i.e. no dm rebuild) mode was broken in VBO mode, because updated (tess data) mcol wasn't moved to colors GPUBuffer. Solved the later point by adding a new DM_DIRTY_MCOL_UPDATE_DRAW flag to DerivedMesh dirty var, which is set each time vpaint stroke directly update me->mcol, and forces GPU_color_setup() to refresh the gpu's colors buffer. Also got rid of the uggly GPU_color3_upload(), which basically did the same thing, but with an additional intermediate buffer !
2012-09-03style cleanup: also add debugging print function for derived mesh ↵Campbell Barton
DM_debug_print_cdlayers()
2012-06-27style cleanup: header comments, use more doxy compat formattingCampbell Barton
2012-05-13code cleanup: header cleanup and remove some duplicate defines.Campbell Barton
2012-05-11Replace hardcoded DMGridData structure with CCGElem/CCGKey.Nicholas Bishop
* Changes to DerivedMesh interface: DMGridData has been removed, getGridData() now returns an array of CCGElem pointers. Also added getGridKey() to initialize a CCGKey (implemented only by CCGDerivedMesh.) * PBVH: added BLI_pbvh_get_grid_key(). * A lot of code is affected, but mainly is just replacing DMGridData.co, DMGridData.no, and sizeof(DMGridData) with the CCG_*_elem functions, removing the reliance on grid elements of exactly six floats.
2012-05-04Renamed "fake" OpenGL identifiers.Jason Wilkins
Any identifier that looks like an OpenGL identifier, but isn't, causes a false alarm by the glreport.py tool. Most of these were in comments so I just rephrased the comments. There were a couple of static functions/macros that were easy enough to rename. Only the glTexco and glIndex fields of the DMVertexAttribs struct was public and had non-local uses.
2012-04-09use 'const float[3]' for derived mesh callback args.Campbell Barton
2012-03-21spelling cleanup: tesselate -> tessellate (last of these found)Campbell Barton
2012-03-19Fix [#30234] Various problems with CD layers and tesselation, related to ↵Bastien Montagne
modifiers stack. Should also fix [#30266], [#29451], and partly [#30316]. Here are the changes made by this commit: * It adds a "dirty" flag to DerivedMesh struct (for now, only DM_DIRTY_TESS_CDLAYERS, but more might be added as needed). * It adds a new func, DM_update_tessface_data, which assumes tessfaces themselves are valid, but updates tessellated customdata from their poly/loop counter parts. * At end of modstack, when valid tessellated faces are present in finaldm , but the cdlayers dirty flag is set, call that function (instead of recomputing the whole tessellation). * Edits to the codes concerned (UVProject, DynamicPaint, and Subsurf modifiers). * Also add to subsurf dm generation code the creation of a CD_POLYINDEX layer (mandatory for DM_update_tessface_data to work well, and imho all tessellated dm should have one). Note: some pieces of old code are just #if 0’ed, will clean them later.
2012-03-18spelling cleanupCampbell Barton
2012-03-17Reduce poly map memory usage (used by sculpt smooth brush.)Nicholas Bishop
Changed the create_vert_poly_map function to return a more compact structure. Memory saved will vary depending on the mesh, but typically it should be about one third of the old size.
2012-03-14Add DerivedMesh.gridHidden and CCGDM implementation.Nicholas Bishop
2012-03-11remove Object member from BMesh struct - was only used for undo and ↵Campbell Barton
BMEditMesh already stores an object pointer. also fix for own mistake with mesh conversion refactor, shape key index was off by 1 when switching editmode.
2012-03-09style cleanup: spelling.Campbell Barton
also remove large, duplicate comments from sunsky.h
2012-03-08Code cleanup: use named values for options in DerivedMesh drawing.Nicholas Bishop
The DMSetDrawOptions[Tex] callbacks return 0 (skip), 1 (draw), or 2 (either stipple or skip mcols.) In the CDDM, EDDM, and CCGDM draw functions, as well as the callbacks in drawmesh/drawobject, replace these numbers with values from an enum, DMDrawOptions.
2012-03-07Code cleanup: simplify the DerivedMesh.drawMappedFaces interface.Nicholas Bishop
This function pointer's 'setDrawOptions' parameter took a slightly different type than the other drawing callbacks. In particular, it could set a 'drawSmooth' value to indicate that smoothing should always be enabled, overriding the face flag. However, all callbacks either did not set this value, or set it unconditionally to 1. Replaced this by adding a new 'flag' parameter to drawFacesMapped, which can be set to DM_DRAW_ALWAYS_SMOOTH where appropriate. Also removed the 'useColors' parameter and replaced it with another flag value, DM_DRAW_USE_COLORS. Removed the 'wpaint__setSolidDrawOptions' callback, was only being used to set the shading to smooth.
2012-03-07Code cleanup: use typedefs for DerivedMesh drawing callbacks.Nicholas Bishop
There are still fairly bewildering set of callbacks being tossed around, but it's at least a little less verbose now.
2012-03-06Draw individual face's material and shading correctly in the PBVH.Nicholas Bishop
Previously, the shading and material was set once per PBVHNode when drawing. This is still the case, but PBVHNodes are now built to contain only one material and shading mode. This is done with an extra partitioning step; once the number of primitives in the node falls below the PBVH leaf limit, it's primitives are checked for matching materials. If more than one material or shading mode is present in the node, it is split and partitioned (partitioned by material rather than 3D location.) Given a sufficiently 'annoying' input, like a dense mesh with thousands of materials randomly scattered across it, this could greatly increase PBVH build time (since nodes might end up containing a single primitive), but in general this shouldn't come up. In order to support materials for grids, the CCGDM is building another grid array (of DMFaceMat structs). This could be used to replace CCGDM.faceFlag for some small memory savings (TODO).
2012-03-06Code cleanup: remove unused drawFacesColored from DerivedMesh.Nicholas Bishop
This function pointer isn't called anymore, so removing it and the cddm/ccgdm/gpu code associated with it.
2012-03-04style cleanup / comment formatting for bli/bke/bmeshCampbell Barton
2012-03-02style cleanupCampbell Barton
- spelling - turns out we had tessellation spelt wrong all over. - use \directive for doxy (not @directive) - remove BLI_sparsemap.h - was from bmesh merge IIRC but entire file commented and not used.
2012-02-29Code Cleanup: remove non existing function declarations.Campbell Barton
added some missing functions too - which are not used yep but should be there for api completeness. * CDDM_set_mloop * CDDM_set_mpoly * BLI_mempool_count
2012-02-28Remove DerivedMesh.getFaceMap and create_vert_face_map().Nicholas Bishop
Not used anymore, both have BMesh replacements (DerivedMesh.getPolyMap and create_vert_poly_map.)
2012-02-18svn merge ^/trunk/blender -r44189:44204Campbell Barton
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-02-12bmesh minor refactorCampbell Barton
* add DM_to_bmesh_ex, DM_to_bmesh for converting a derived mesh to a BMesh (rather than a BMEditMesh) * have a generic variable for allocsize: bm_mesh_allocsize_default, rather than copying the values about.
2012-02-12rename CDDM_To_BMesh to DM_to_editbmesh, since theres no requirement forCampbell Barton
the input to be a CDDM. remove conversions to CDDM for edge split and bevel (will give some speedup).
2012-02-05support for 'origspace' data layer - used for hair on subsurf mesh.Campbell Barton
currently only works for 3/4 sided faces.
2012-02-05add function for getting a polygon map: dm->getPolyMap(ob, dm).Campbell Barton
polygon version of dm->getFaceMap(ob, dm) sculpt uses this for checking connectivity.
2012-01-23Merged with trunk (-r43609:43611): updated modifier preview.Bastien Montagne
Noted preview code for DynamicPaint is currently disabled, will see if I can re-enable it…
2012-01-22Add weight preview to WeightVG modifiers, and first, simple/basic refactor ↵Bastien Montagne
of how modifiers can generate preview. User side: * Preview for DynamicPaint should keep the same behavior (for now). Weight preview should be somawhat quicker, though. * Preview for WeightVG modifiers is only active in WeightPaint mode, and if the affected vgroup is the active one. * Last active preview modifier in stack wins! Note: that modifier preview topic is yet to be further refined, quite raw/incomplete for now. Dev side: * In draw code, renamed DRAW_DYNAMIC_PAINT_PREVIEW flag to DRAW_MODIFIERS_PREVIEW * Removed use of MOD_DPAINT_PREVIEW_READY in DynamicPaint code (seems unecessary, and if it was, should be of more general scope). * Added eModifierTypeFlag_UsesPreview to ModifierTypeFlag, for modifiers that can generate some preview data. * Added three new modifier funcs, to handle preview modifiers in draw code / mod stack. * For weights preview: added the generic DM_update_weight_mcol func, which can update WEIGHT_MCOL layer with either a given array of weights (currently used by DynamicPaint only), or from current active vgroup(s). So now, draw code is fully generic (i.e. no more modifier-type checking in it). Mod stack code is generic to some extent, but will need more work.