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-01-22Fix T38316: Half of a Face is Missing on Newly Created Cubes or Cylinders.Bastien Montagne
Own bug from rBc691551249f3. Now at least I understand why `test_index_face()` is needed for tessellated quads! Added a bunch of comments to explain the issue, as it's far from an obvious one... We loose some performances, but it's still much quicker than org code.
2014-01-21Code Cleanup: reduce sign conversionCampbell Barton
2014-01-21Optimize tessellation code (min 20% better, up to 300% with some CD layers ↵Bastien Montagne
to tessellate). The main idea is to store (during tessellation) or recreate (during tessdata update) a tessfaceverts-to-loops mapping, and then update all tessdata in one pass, instead of calling `BKE_mesh_loops_to_mface_corners` repeatedly for all tfaces! Differential Revision: https://developer.blender.org/D226 Reviewed by Campbell, thanks a lot!
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-12Code Cleanup: move mesh mapping functions into their own file/headerCampbell Barton
2013-10-09Fix [#37012] The new export split normal does nor produce correct results.Bastien Montagne
Was a silly error introduced in algo during optimization, vertices having sharp and smooth edges would only get the first poly's normal for each "smooth loop group". Also done a (minor) optimization, and some comment fixes.
2013-09-20Fix [#36759] UV Project - Specified UV Map doesnt work properlyBastien Montagne
In fact, the issue was that names of mloopuv/mtespoly layers could very easily get out of sync (a simple rename was enough), while most tools (such as the UVProject modifier) expect matching layers to have the same name! Now matching names are check on load, and renaming of a layer through RNA is guaranted to be synchronized with its counterparts. Thanks to Brecht & Campbell for reviews.
2013-09-16fix [#36291] Applying subsurf to mesh or setting subdivisions to zero ↵Campbell Barton
crashes Blender issue was mesh somehow had a mismatch of UV/texpoly layers. we may want to allow this in the future but for now sync on load just in case.
2013-09-10Core code for split normals computation. Many thanks to ideasman for is ↵Bastien Montagne
optimization guiding and code reviews! Note the API is not yet committed, as it may need a few more checks & tweaks. ;)
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-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-04fix for building on msvcCampbell Barton
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-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-08-20fix/workaround [#36519] Origin to Center of Mass" failes when faces have an ↵Campbell Barton
area of zero
2013-08-14add materials.clear() method, matching other python list method.Campbell Barton
2013-07-15Fix #36139: cycles not taking texture spacing settings into account forBrecht Van Lommel
generated coordinates on text objects.
2013-07-03fix [#35975] "Select Linked" = "Select All" in Weight Paint mode?Campbell Barton
looks like this was broken since bmesh merge.
2013-06-29fixed a compiler warning message in vs 2008Gaia Clary
2013-06-26fix [#35858] Weight Paint: Hiding faces isnt flushing the flag to the vertices.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-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-08code clenup: rename BKE_mesh_poly_calc_angles -> BKE_mesh_calc_poly_anglesCampbell Barton
2013-04-22fix [#35026] Curve build modifierCampbell Barton
2013-03-26style cleanup:Campbell Barton
also rename mesh_getVertexCos() --> BKE_mesh_vertexCos_get() to match curve function.
2013-03-20code cleanup: use booleans for mesh and selection code.Campbell Barton
2013-03-17code cleanup: name mesh functions more consistently, also use bools for mesh ↵Campbell Barton
args.
2013-03-16object converting curve/mball to a mesh would give invalid selection state ↵Campbell Barton
(edges selected but nothing else). add arg to BKE_mesh_calc_edges() so selecting newly created edges is optional.
2013-03-15code cleanup: rename BKE_mesh_to_curve_ex --> BKE_mesh_to_curve_nurblist,Campbell Barton
also correct odd indentation.
2013-03-14split up BKE_mesh_to_curve() into 2 functions, adding BKE_mesh_to_curve_ex() ↵Campbell Barton
which doesn't do object type conversion.
2013-03-14converting a mesh to a curve was unnecessarily using tessface's.Campbell Barton
use mpolys instead and simplify checks for wire edges. Also rename BKE_mesh_from_curve() --> BKE_mesh_to_curve() since this function converts a mesh into a curve.
2013-02-05Fix #34040: Moving Normal Node with enabled Cycles Material Preview crashesSergey Sharybin
Issue was caused by couple of circumstances: - Normal Map node requires tesselated faces to compute tangent space - All temporary meshes needed for Cycles export were adding to G.main - Undo pushes would temporary set meshes tessfaces to NULL - Moving node will cause undo push and tree re-evaluate fr preview All this leads to threading conflict between preview render and undo system. Solved it in way that all temporary meshes are adding to that exact Main which was passed to Cycles via BlendData. This required couple of mechanic changes like adding extra parameter to *_add() functions and adding some *_ex() functions to make it possible RNA adds objects to Main passed to new() RNA function. This was tricky to pass Main to RNA function and IMO that's not so nice to pass main to function, so ended up with such decision: - Object.to_mesh() will add temp mesh to G.main - Added Main.meshes.new_from_object() which does the same as to_mesh, but adds temporary mesh to specified Main. So now all temporary meshes needed for preview render would be added to preview_main which does not conflict with undo pushes. Viewport render shall not be an issue because object sync happens from main thread in this case. It could be some issues with final render, but that's not so much likely to happen, so shall be fine. Thanks to Brecht for review!
2013-01-24add 'deform - integrate' option to mesh-cache,Campbell Barton
This means the deformation on the input to the modifier can be re-applied ontop of the mesh cache. In practice this is most useful for using corrective shape-keys with mesh-cache.
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.
2012-12-28code cleanup:Campbell Barton
- free_dverts -> BKE_defvert_array_free - copy_dverts -> BKE_defvert_array_copy also move the functions from BKE_mesh into BKE_deform
2012-12-22flush selection from vertex paint and weight paint modes when exiting, this ↵Campbell Barton
isnt fool-proof, will need more work.
2012-12-22flush selection when switching weight paint vertex/face selection modes.Campbell Barton
2012-12-22function for flushing polygon -> vert,edge selection (in object mode), ↵Campbell Barton
currently unused.
2012-12-22code cleanup and minor changesCampbell Barton
- use DummyRNA_NULL_items to replace empty enums. - replace calloc with malloc in copy_dverts since its copied over after. - add wmGesture->userdata, so operators that use gestures have somewhere to store their own data (not used yet).
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-18uv edge based stitch. Useful to disambiguate betwen islandsAntony Riakiotakis
when uvs are shared by more than two islands. Uv edges usually belong to only two islands, making for much cleaner stitches. To change between stitch modes, press TAB. Initial mode depends on the selection mode of the image editor. Documentation can also be found on the release wiki
2012-11-09style cleanup: indentationCampbell Barton
2012-10-20Add option to set object origin to the center of massSergej Reich
This uses the weighted average of polygon centroids based on area It work well in most cases but will be slightly wrong when polygons have many vertices.