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-11-27Addition/correction to previous commit:Antony Riakiotakis
subsurf needs the same modifications in its derived mesh function or materials don't get updated at all anymore.
2014-11-27Fix T42653, solidify modifier not displaying correctly under edit mode.Antony Riakiotakis
Basically, our drawing code assumed we always use the edit mesh materials, which can be different from the derived mesh materials in modifiers doing overrides. We usually we want to use the derived mesh when it is available instead. There are two fixes here for both solid and textured mode. Unfortunately the fixes do not help to make the display code less labyrinthian but I expect this "should work" (tm and famous last words) Solid mode fix is 95% from Bastien, thanks!
2014-09-04Fix T41463: Mirror Modifier breaks Automatic-Weights in weight-paint modeCampbell Barton
The problem was it used copied verts on the opposite side.
2014-08-01Cleanup: Move `object_get_derived_final` from BKE_shrinkwrap to BKE_DerivedMeshBastien Montagne
Note this func needs some love, but this will be for later (should never have been in shrinkwrap code!).
2014-07-21GSOC 2013 paintAntony Riakiotakis
Yep, at last it's here! There are a few minor issues remaining but development can go on in master after discussion at blender institute. For full list of features see: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.72/Painting Thanks to Sergey and Campbell for the extensive review and to the countless artists that have given their input and reported issues during development.
2014-05-03Fix T39997: Multiple boolean modifiers sharing the same right operand crashesSergey Sharybin
The issue was caused by the temporary CD layers being allocated for subsurf meshes, same as we've got back in 881fb43. In the long run this temporary storage is to be re-considered, but it'll also imply re-considering of the Derivedmesh interaction as well. For now let's use a simpler solution which is forbidding modifiers to call getArray for other objects' derivedMeshes but use an API calls which would allocate local copy of the data preventing race condition of shared data in DM.
2014-04-23Fix T39781: Autosmooth feature: erroneously showing hidden vertices' normals ↵Bastien Montagne
too when in "vertex per face" display So, turned out after all we need a foreachmapped helper for loops as well... :/ CDDM and EBDM were reasonably simple, but I fought hours with CCGDM (subsurf) to find only a bad working solution (see D478). So I fallback to a code similar to CDDM one. Probably not nice for performances, but loops and subsurf are not matching well... Reviewers: campbellbarton CC: brecht Differential Revision: https://developer.blender.org/D478
2014-04-17Code cleanup: use bools for DMCampbell Barton
2014-04-13Split Normals I (1/5): basis for split normals (nearly nothing user-visible ↵Bastien Montagne
here): * Add a new calcLoopNormals function to DerivedMesh struct, and implement it for CDDM and CCGDM (subsurf). EditDerivedBMesh (edit mode DM) only gets a dummy one in this commit. * Add a tessellated version of CD_LOOPNORMAL layer (CD_TESSLOOPNORMAL), with relevant code to handle it (tessellation, rna access, etc.). * Change auto_smooth options of Mesh (angle now in radian internaly, and toggle is now used to enable/disable split normals in DM creation process). Note BI render code is not touched here, hence its behavior regarding this option is now incoherent, will be addressed in a separate commit. Reviewers: campbellbarton CC: brecht Differential Revision: https://developer.blender.org/D365
2014-04-09Add material storage to derivedmesh.Antony Riakiotakis
The variables are considered invalid unless DM_update_materials is called prior to use. Only use case currently is mesh drawing. This helps with excessive allocation on the stack during GPUObject creation, but may help elsewhere in the future as well.
2014-03-15Code cleanup: use r_ prefix for return argsCampbell Barton
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2013-12-26Code Cleanup: remove object arg to CDDM_from_mesh mesh_create_derivedCampbell Barton
2013-09-12code cleanup: headers - doxy comments.Campbell Barton
2013-09-09correct error in recent changes for building with openmp.Campbell Barton
rename DM_OMP_LIMIT to BKE_MESH_OMP_LIMIT and set to 0 when in debug mode, same for BM_OMP_LIMIT.
2013-09-04debug option for modifier stack calculation USE_MODIFIER_VALIDATE,Campbell Barton
checks that every modifier gives a valid mesh (very slow) - so off by default even in debug mode.
2013-09-01Move GCC attributes into a centraized definesSergey Sharybin
Instead of having ifdef __GNUC__ all over the headers to use special compiler's hints use a special file where all things like this are concentrated. Makes code easier to follow and allows to manage special attributes in more efficient way. Thanks Campbell for review!
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-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.