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
2015-10-12Add functions to compute normals (verts, polys and loops ones) for a given ↵Bastien Montagne
shapekey. Title says pretty much everything, we now have BKE and RNA funcs to get vertex, poly and loop normals of a given shapekey. This will be used e.g. in FBX exporter (shapekeys need normal data too). Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D1510
2015-03-30Fix T41191: Custom Loop Normals Viewport shading not updating when set from ↵Bastien Montagne
py script Missing update tagging... Safe for 2.74.
2015-03-20Fix T43786: Cycles bake disregards Auto Smooth (vertex per-face normals)Sergey Sharybin
Added an utility function which performs vertex split based on the loop normal so now backing API matches to what's happening in Cycles and BI in terms of autosplit. Reviewers: dfelinto, campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D1174
2015-03-16Cleanup: warningsCampbell Barton
2015-03-13Add an option to mesh.calc_tessface() to get rid of polygons and loopsSergey Sharybin
The purpose of this change is to add extra possibility to render engines and export scripts to reduce peak memory footprint during their operation. This new argument should be used with care since it'll leave mesh in not really compatible with blender format, but it's ok to be used on temp meshes. Unfortunately, it's hard to get scene where it'll show huge benefit because in my tests with cycles peak memory is reached in MEM_printmemlist_stats(). However, in the file with sintel dragon it gives around 1gig of memory benefit after removing the polys which would allow other heavy to compute stuff such as hair (or even pointiness calculation) to not be a peak memory usage. In any case, this change is nice to have IMO, and only means more parts of scene export code should be optimized memory-wise. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D1125
2015-03-04RNA: rename mesh validate argumentCampbell Barton
cleanup_cddata -> clean_customdata
2015-02-06Fix some UI messages from own recent merge, and RNA code checking for final ↵Bastien Montagne
'.', was a bit too rough.
2015-02-05Add Custom Loop Normals.Bastien Montagne
This is the core code for it, tools (datatransfer and modifier) will come in next commits). RNA api is already there, though. See the code for details, but basically, we define, for each 'smooth fan' (which is a set of adjacent loops around a same vertex that are smooth, i.e. have a single same normal), a 'loop normal space' (or lnor space), using auto-computed normal and relevant edges, and store custom normal as two angular factors inside that space. This allows to have custom normals 'following' deformations of the geometry, and to only save two shorts per loop in new clnor CDLayer. Normal manipulation (editing, mixing, interpolating, etc.) shall always happen with plain 3D vectors normals, and be converted back into storage format at the end. Clnor computation has also been threaded (at least for Mesh case, not for BMesh), since the process can be rather heavy with high poly meshes. Also, bumping subversion, and fix mess in 2.70 versioning code.
2015-02-05Mesh validate: add an option to not clean temp/cache CDLayers.Bastien Montagne
This is mandatory for incoming custom normal imports from io scripts, because often geometry here is corrupted, so we need to call mesh.validate() to clean it up. Issue is, we cannot set custom normals before geometry is clean, so we need to store temporary plain loop normals in a CD_NORMAL layer, validate, and then set custom normals. So we need a way to prevent 'temp' lnors to be freed by validate.
2015-01-19Make use/computation of lnors consistant.Bastien Montagne
Issue was, when requesting (building) lnors for a mesh that has autosmooth disabled, one would expect to simply get vnors as lnors. Until now, it wasn't the case, which was bad e.g. for normal projections of loops in recent remap code (projecting along split loop normals when you would expect projection along vertex normals...). Also, removed the 'angle' parameter from RNA's `mesh.calc_normals_split`. This should *always* use mesh settings (both autosmooth and smoothresh), otherwise once again we'd get inconsistencies in some cases. Will update fbx and obj addons too.
2014-09-01Support more object types scene-scale (on creation)Campbell Barton
- lamp - camera - font - empty & effector Also fix inconsistency with apply transform (modified shape-keys for meshes but not curve/lattice)
2014-07-17Add helper to validate (and fix) material indices of meshes' polygons, ↵Bastien Montagne
curves' splines and texts' letters. Useful especially for importer addons. Reviewers: campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D650
2014-01-16Code Cleanup: no need to pass empty strings as default valuesCampbell Barton
2014-01-11Add tangent space computation/access from RNA (i.e. python).Bastien Montagne
This simply mimics code used for loopnormals, to enable py scripts to generate and access (temporary) a tangent 3D vector and bitangent sign for each loop. Together with the split normals, this allow to recreate a complete tangent space for normal mapping (bitangent = bitangent_sign * cross(normal, tangent)). Expects all faces to be tri or quads. Reviewed By: Brecht, campbellbarton Differential Revision: https://developer.blender.org/D185
2013-12-17'Transform' Python Function for armature, curve and lattice.Campbell Barton
patch by Paolo Acampora with some edits.
2013-12-12Code Cleanup: move mesh mapping functions into their own file/headerCampbell Barton
2013-10-04code cleanup: warnings and minor edits.Campbell Barton
2013-09-20code cleanup: quiet rna warnings, remove remove_strict_flags() for cmake/rna.Campbell Barton
also set_source_files_properties() wasn't working for rna_*_gen.c files, set dna.c and generated data files with generated property too.
2013-09-13Match free_normals_split with calc_normals_split names ;)Bastien Montagne
2013-09-12fix uninitalized var with new normal calculation function.Campbell Barton
2013-09-11Fix use of uninitialized variable in new Mesh.calc_normals_split.Brecht Van Lommel
2013-09-10misc minor changesCampbell Barton
- make cmake osx use of -ftemplate-depth match scons. - use array size within sizeof(), more compact. - replace AT with __func__ where the function is unique enough. - BLI_box_pack_2D -> 2d to match other functions. - rename new mesh normal calculation to mesh.calc_normals_split()
2013-09-10Split normals API, to get per-vertex per-face normals, useful to export ↵Bastien Montagne
sharp edges in a compatible way. Many thanks to Campbell and Brecht for reviews.
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-06-14fix for building c++ rna api with recently added smoothgroup api call.Campbell Barton
2013-06-14expose smooth group calculation to python as Mesh.calc_smooth_groups()Campbell Barton
2013-05-28move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)Campbell Barton
remove MEM_sys_types.h which was a duplicate.
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().
2012-11-01style cleanupCampbell Barton
2012-09-22code cleanup: make many functions staticCampbell Barton
2012-07-08use gcc attrubutes to warn on unused return values and arguments which ↵Campbell Barton
shouldnt be NULL. also remove IDP_AppendArray's return value which wasnt the new item in the array (which is odd/misleading), but wasnt used anywhere either.
2012-05-12style cleanup: mostly whitespace in rnaCampbell Barton
2012-05-06code cleanup: naming - BKE_mesh_*Campbell Barton
2012-03-29added Mesh.calc_tessface(), needed to update mesh tessface after bmesh edits.Campbell Barton
also add py api BMDeformVert.clear()
2012-03-18Code style edits (mostly spliting long lines, and removing trailing spaces).Bastien Montagne
Note about long lines: I did not touch to two pieces of code (because I don’t see any way to keep a nicely formated, compact code, with shorter lines): * The node types definitions into rna_nodetree_types.h * The vgroup name functions into rna_particle.c
2012-03-06Code cleanup in rna files (huge, higly automated with py script).Bastien Montagne
Addresses: * C++ comments. * Spaces after if/for/while/switch statements. * Spaces around assignment operators.
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-03-02mesh.update() now has option to calculate tessellation faces.Campbell Barton
2011-10-24svn merge ^/trunk/blender -r41226:41227 .Campbell Barton
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-09-21svn merge -r40295:40367 ^/trunk/blenderCampbell Barton
2011-09-19/blender/makesrna: Removed final points in UI strings and messages.Bastien Montagne
Plus a few splits of very long lines…
2011-05-09svn merge -r36529:36564 https://svn.blender.org/svnroot/bf-blender/trunk/blenderCampbell Barton
2011-05-09quiet more compiler warnings, also found a bug using printf rather then fprintf.Campbell Barton
2011-05-08comment some unused code.Campbell Barton
2011-04-15=bmesh= merge from trunk at r36153Joseph Eagar
2011-02-27doxygen: blender/makesrna tagged.Nathan Letwory
2011-02-27merge with/from trunk at r35190Joseph Eagar
2011-02-23doxygen: prevent GPL license block from being parsed as doxygen comment.Nathan Letwory
2011-02-10mesh.validate() now returns True if any corrections were made.Campbell Barton
tested that correcting invalid meshes works by generating random meshes and checking that only the first call to mesh.validate() makes changes. found 2 bugs in mesh validation. - face sorting array wasn't assigned correct indices. - removing invalid edges used wrong comparison.