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
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-28Cleanup: sort forward declarations of enum & structCampbell Barton
Done using: source/tools/utils_maintenance/c_sort_blocks.py
2019-01-18Multires: Simplify reshaping codeSergey Sharybin
The idea is to run reshaping for every boundary vertex of a grid rather than trying to copy boundary grid elements. While this is somewhat slower, this avoids all this tangent flipping magic, which tempts to be rather tricky and fragile.
2019-01-15Cleanup: commas at the end of enumsCampbell Barton
Without this clang-format may wrap them onto a single line.
2019-01-10Cleanup: ensure header guards come firstCampbell Barton
Causes clang-format not to detect header guards, indenting all preprocessor lines in the header.
2018-11-20Multires: Cleanup, remove unused functionSergey Sharybin
2018-11-02Multires: Cleanup, namingSergey Sharybin
First of all, follow our naming convention to use module prefix. Second of all, mesh is being created and is to be freed, we also have convention for such function names.
2018-11-01Subdiv: Cleanup, de-duplicate tangent matrix calculationSergey Sharybin
2018-09-25Multires: Pass total level instead of modifier dataSergey Sharybin
This is the only thing which needs to be done to perform propoer reshape. Makes it easier to re-use code from other places.
2018-09-25Multires: Pass mesh instead of objectSergey Sharybin
There is nothing we need from object in this case.
2018-09-21Multires: Support sculpting on a lover levelsSergey Sharybin
Added propagation of displacement to a higher levels. Has the same limitation as reshape from object, which makes grids somewhat choppy due to linear interpolation nature. This is to be addressed next.
2018-09-14Multires: Initial work to get sculpting to work with OpenSubdivSergey Sharybin
Allows to go to sculpt mode, do brush strokes, get out of sculpt mode and have deformation preserved. The issues currently is that the current implementation of CCG storage is created from the limit surface, without displacement taken into account. It is trivial to get displaced coordinates, but it is more tricky to get displaced normals. This is something to be solved next. Another limitation is that this only works for sculpting at a maximal multires level. There is code to be done to support propagation of displacement onto a higher levels.
2018-09-12Multires: Use more clear namingSergey Sharybin
There are so many reshapes now, and one more is to come. Better be explicit.
2018-08-22Multires: Remove another unused argument from reshape functionSergey Sharybin
2018-08-22Multires: Fix reshape when active level is lower than the total oneSergey Sharybin
2018-08-22Multires: Remove unused function argumentSergey Sharybin
2018-08-22Multires: implement reshape operationSergey Sharybin
The one which is used by applying deformation modifiers on the multires.
2018-08-16Multires: Implement function to get mesh at multires position of stackSergey Sharybin
2018-08-16Multires: Cleanup, naming and bool typeSergey Sharybin
2018-08-14Multires: Begin hooking it up to the new subdiv codeSergey Sharybin
Currently behaves same as subsurf, support of displacement is the next task in the line to tackle!
2018-06-22Multires: Move away from using scene from modifier dataSergey Sharybin
2018-06-18Multires: Remove unused functionSergey Sharybin
It uses derived mesh, and relies on scene stored in modifier data. So port is needed anyway.
2018-06-01Merge branch 'master' into blender2.8Campbell Barton
2018-06-01Cleanup: trailing whitespace (comment blocks)Campbell Barton
Strip unindented comment blocks - mainly headers to avoid conflicts.
2018-04-16Depsgraph: remove EvaluationContext, pass Depsgraph instead.Brecht Van Lommel
The depsgraph was always created within a fixed evaluation context. Passing both risks the depsgraph and evaluation context not matching, and it complicates the Python API where we'd have to expose both which is not so easy to understand. This also removes the global evaluation context in main, which assumed there to be a single active scene and view layer. Differential Revision: https://developer.blender.org/D3152
2018-04-05Remove workspace object mode, reverts changes w/ 2.8Campbell Barton
This caused too many problems syncing object modes with multiple objects/windows/workspaces, see: D3130 for details.
2018-02-08Object Mode: move to workspace structCampbell Barton
- Read-only access can often use EvaluationContext.object_mode - Write access to go to WorkSpace.object_mode. - Some TODO's remain (marked as "TODO/OBMODE") - Add-ons will need updating (context.active_object.mode -> context.workspace.object_mode) - There will be small/medium issues that still need resolving this does work on a basic level though. See D3037
2017-08-16Pass EvaluationContext instead of bContextCampbell Barton
2.8x branch added bContext arg in many places, pass eval-context instead since its not simple to reason about what what nested functions do when they can access and change almost anything. Also use const to prevent unexpected modifications. This fixes crash loading files with shadows, since off-screen buffers use a NULL context for rendering.
2017-07-21Pass EvaluationContext argument everywhereLuca Rood
Note that some little parts of code have been dissabled because eval_ctx was not available there. This should be resolved once DerivedMesh is replaced.
2015-07-30Move tangents and baking to looptris:Antony Riakiotakis
Notes: * Code in rendering and in game engine will still convert tangents to a tessface representation. Added code that takes care of tangent layer only, might be removed when BGE and rendering goes full mlooptri mode. * Baking should work discovered some dead code while I was working on the patch, also tangents are broken when baking from multires (also in master), but those are separate issues that can be fixed later. This should fix T45491 as well
2015-05-07Fix T44611: 'make_links_data' modifiers would fail and crash with multires ↵Bastien Montagne
modifier. Since it was not ensuring dest has valid mdisp data matching new multires modifier subdiv level... Also, fixed a bug in `multires_subdivide()`, which would crash when trying to increase from level 0 (aka no subdiv) to > 1 (wrong check, trying to interpolate when it should not). And added a few sanity checks.
2015-03-28Cleanup: redundant struct declarationsCampbell Barton
2014-06-12Fix T40582: issues with apply scale when having multires and scene simplifySergey Sharybin
Reshape and applying scale matrix on multires needs to create DM with simplify setting disabled. Added a special flag to modifier apply for this now.
2013-03-20code cleanup: use booleans for mesh and selection code.Campbell Barton
2012-11-09style cleanup: indentationCampbell Barton
2012-10-09code cleanup: make header defines more consistent, JOYSENSOR header guard ↵Campbell Barton
had a typo too.
2012-06-25Fixes for modifier data in multi-user meshes.Nicholas Bishop
When removing a skin or multires modifier, it skips deletion of the associated CustomData layer if the object has any other modifiers of that type. This check has been extended to all objects that use the object's data. Similarly, deleting higher multires levels and multires subdivision will not update the maximum level of any other multires modifiers on objects that link to the same mesh. Note that modifier_apply_obdata() doesn't need any changes as it does not allow applying to multi-user data. Object joining has also been modified to synchronize multires levels objects that share a mesh. This is needed because joining can subdivide or delete levels in order to match the maximum level of the join-from object to the join-to object. Fixes bug [#31880] instance multiresolution modifier error. http://projects.blender.org/tracker/index.php?func=detail&aid=31880&group_id=9&atid=498 Reviewed by Sergey: http://codereview.appspot.com/6332047/
2012-05-11style cleanup: mainly sculpt/whitespaceCampbell Barton
2012-05-11Add mask support to CCGSubSurf and multires.Nicholas Bishop
* Add new CCG function ccgSubSurf_setAllocMask(). Similar to to ccgSubSurf_setCalcVertexNormals(), it sets whether the CCG elements have a mask layer and what that layer's offset is. Unlike normals however, it doesn't change any behavior during CCG calculation; it's there only to give CCGKey information on the mask. * Add a new flag to _getSubSurf(), CCG_ALLOC_MASK. If set, space for an extra layer is allocated, but the number of CCG layers is not set to include it. This is done because GridPaintMasks are absolute, rather than being relative to the subdivided output (as MDisp displacements are), so we skip subdividing paint masks here. * Add a new flag to subsurf_make_derived_from_derived(), SUBSURF_ALLOC_PAINT_MASK. This controls whether CCG_ALLOC_MASK is set for _getSubSurf(). Related, masks are never loaded in during ss_sync_from_derivedmesh(). After subdivision is finished, if the alloc mask flag is set, the number of CCG layers is increase to 4 with ccgSubSurf_setNumLayers(). * Add a new flag to multires_make_from_derived(), MULTIRES_ALLOC_PAINT_MASK. Not all multires functions need paint mask data (e.g. multiresModifier_base_apply.) This flag is always set in MOD_multires.c so that subdividing a mesh with a mask updates properly even when not in sculpt mode. * Update multiresModifier_disp_run() to apply, calculate, and add mask elements. It's almost the same as the existing operations with xyz coordinates, but treats masks as absolute rather than displacements relative to subdivided values. * Update multires_customdata_delete to free CD_GRID_PAINT_MASK in addition to CD_MDISPS. * Update multires_del_higher() to call the new function multires_grid_paint_mask_downsample(), which allocates a lower-resolution paint mask grid and copies values over from the high-resolution grid.
2012-05-11Code cleanup for multires_dm_create_from_derived().Nicholas Bishop
Changed name to multires_make_derived_from_derived() and parameter order to be more similar to subsurf_make_derived_from_derived(). Added MultiresFlags enum with flag values to replace the local_mmd and useRenderParams parameters.
2012-04-16Port multires_topology_changed to new bmesh apiSergey Sharybin
This call is still needed when loading editmesh because some operations are not creating CD layer for new loops (like crating new face) and to prevent loosing all sculpted data when running disps correct displacement maps should be allocated on loading edit mesh.
2012-03-19Add a multires function to delete MDisps.Nicholas Bishop
The code was duplicated in various places, replaced with calls to a new function, multires_customdata_delete().
2012-03-15Remove unused parameter from multires_dm_create_from_derived.Nicholas Bishop
2012-03-14Skip hidden elements in PBVH iterator, raycast, and drawing.Nicholas Bishop
2012-03-13Code cleanup: replace multires update function pointer with direct call.Nicholas Bishop
Renamed the multiresModifier_update() function to multires_modifier_update_mdisps() and made it visible to subsurf_ccg.c so it can be called directly. No functional change, just a bit simpler.
2012-03-08building without python works again, cleanup bmesh include paths (cmake and ↵Campbell Barton
scons).
2012-02-21Remove unused code left from old multires interpolation stuffSergey Sharybin
- Removed validate() callback for MDisps layer. It wouldn't actually work correct from CustomData layer and all needed data might be validated from BMesh interpolation level. Also this callback was never actually used in BMesh, so can't see why we'll want to have it in structures. - Removed layrInterp_mdisps callback. Interpolation now happens from another level (bmesh_interp) and this callback isn't needed anymore. - Removed all function from multires.c which were used by old interpolation stuff and seems to be useless for other usages. - multires_topology_changed is still marked as a TODO, Probably it's not needed anymore, buy better to keep for now until it'll be 100% clear this function isn't needed and all needed re-allocations happens in bmesh_interp. Otherwise, it'll be needed to be ported to new system.