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
2018-09-18Subdiv: CCG, implement stitching of given facesSergey Sharybin
Will speed up (or rather bring speed back to what it is supposed to be) for brushes like smooth.
2018-09-18Subdiv: CCG, initial grids stitching implementationSergey Sharybin
Currently is only working on an "inner" grid boundaries. Need to implement averaging across face edges.
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-05Merge branch 'master' into blender2.8Sergey Sharybin
2018-09-05CCG: Remove number of layers from keySergey Sharybin
The issue there was that number of layers did not include normals, while element size counts bytes used by normals. This sounds very fragile and dangerous to work further. Also, one value can easily be delivered from another, so it is redundancy going on here. Possible difference now is that multires subdivision will copy normals to a higher levels. Shouldn't be big of a problem, since leaving old normals and updating coordinates is not correct either.
2018-08-22Multires: implement reshape operationSergey Sharybin
The one which is used by applying deformation modifiers on the multires.
2018-08-17Multires: Fix wrong creation of multires meshSergey Sharybin
Should use evaluated object to query deformed mesh from.
2018-08-16Cleanup: Use dedicated function to copy mesh during evaluation processSergey Sharybin
It is rather fully annoying to have same sets of obscure flags all over.
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-08-14Multires: Synchronize settings with Subsurf modifierSergey Sharybin
Currently no functional changes, just exposes all settings which we need for OpenSubdiv, similar to what Subsurf modifier is doing already. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D3602
2018-08-13Subsurf: Introduce quality optionSergey Sharybin
For users it defines how accurate vertex positions are in terms of limit surface (as in, how close the vertices locations to the condition when they are calculated for an infinitely subdivided mesh). This affects things like: - Irregular vertices (joint of 3 or more edges) - Crease Keep quality value low for performance. NOTE: Going higher does not necessarily mean real improvement in quality, ideal case might be reached well before maximum quality of 10. Quality of 3 is a good starting point. Internally quality is translated directly to adaptive subdivision level. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D3599
2018-08-13Subsurf: Make uv boundaries easily extendibleSergey Sharybin
This replaces old single toggle option to subdivide UVs with an enum which can have more options. The usecase for this is to be compatible with other software. But we also might choose different subdivision type as default in the future. DNA and underlying code supports all possible options, but only the ones which are compatible with old subdivision code are currently exposes. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D3575
2018-06-27Cleanup: styleCampbell Barton
2018-06-27Fix T55644: Multires ignores render subdivision when simplifiedSergey Sharybin
We did not tell proper render/viewport context to subsurf derived mesh created for multires.
2018-06-22Subsurf: Move away from using scene from modifier dataSergey Sharybin
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-17Merge branch 'master' into blender2.8Campbell Barton
2018-06-17Cleanup: trailing space for blenkernelCampbell Barton
2018-06-05Moved function declarations from BKE_DerivedMesh.h to BKE_mesh_runtime.hSybren A. Stüvel
The function definitions still reside in DerivedMesh.c. Once we're done porting all the DerivedMesh use to Mesh, we'll move the still-relevant functions to mesh_runtime.c. This move is now cumbersome due to shared statically-declared utility functions in DerivedMesh.c
2018-05-01Extract common modifier parameters into ModifierEvalContext structSybren A. Stüvel
The contents of the ModifierEvalContext struct are constant while iterating over the modifier stack. The struct thus should be only created once, outside any loop over the modifiers.
2018-05-01Modifiers: Add wrapper functions with Mesh / DerivedMesh conversionMai Lavelle
Makes the follow changes: - Add new `deform*` and `apply*` function pointers to `ModifierTypeInfo` that take `Mesh`, and rename the old functions to indicate that they take `DerivedMesh`. These new functions are currently set to `NULL` for all modifiers. - Add wrapper `modifier_deform*` and `modifier_apply*` functions in two variants: one that works with `Mesh` and the other which works with `DerivedMesh` that is named with `*_DM_depercated`. These functions check which type of data the modifier supports and converts if necessary - Update the rest of Blender to be aware and make use of these new functions The goal of these changes is to make it possible to port to using `Mesh` incrementally without ever needing to enter into a state where modifiers don't work. After everything has been ported over the old functions and wrappers could be removed. Reviewers: campbellbarton, sergey, mont29 Subscribers: sybren Tags: #bf_blender_2.8 Differential Revision: https://developer.blender.org/D3155
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
2018-01-18Merge branch 'master' into blender2.8Brecht Van Lommel
2018-01-18Fix buffer overflow vulnerabilities in mesh code.Brecht Van Lommel
Solves these security issues from T52924: CVE-2017-12081 CVE-2017-12082 CVE-2017-12086 CVE-2017-12099 CVE-2017-12100 CVE-2017-12101 CVE-2017-12105 While the specific overflow issue may be fixed, loading the repro .blend files may still crash because they are incomplete and corrupt. The way they crash may be impossible to exploit, but this is difficult to prove. Differential Revision: https://developer.blender.org/D3002
2018-01-11Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenkernel/intern/multires.c
2018-01-11Cleanup commented out OMP command.Bastien Montagne
2018-01-11Nuke OMP from multires.c: forgot that one in previous commit.Bastien Montagne
Gives same kind of speedup too, 8.7ms with old OMP code, 2.7ms with new one, with same level-4 multires monkey head.
2018-01-11Nuke OMP usage in multires.c.Bastien Montagne
New code is over three times quicker than old one here (e.g. Suzanne subdiv level 4, 250k tris, threaded part is now 1.4ms instead of 4.5ms with OMP).
2018-01-11Preparation step for nuking OMP from multires code.Bastien Montagne
Remove the critical OMP sections used to protect mem allocation. First one can be done in a separate loop before main, parallelized one. Second one only affect 'private' data, so we only need to ensure guardedalloc thread safety is enabled. This is committed as separated step to ease troubleshooting in case bisecting becomes necesary.
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.
2016-01-18Cleanup: styleCampbell Barton
2015-12-03Correct OpenMP pragma, wasn't updated for looptriCampbell Barton
2015-11-26cleanup: C99 and vertex array commentsMike Erwin
GPU_buffer no longer has a fallback to client vertex arrays, so remove comments about it. Changed a few internal structs/function interfaces to use bool where appropriate. Use for-loop scope and flexible declaration placement. PBVH does the same thing but needs ~150 fewer lines to do it! The change to BLI_ghashIterator_init is admittedly hackish but makes GHASH_ITER_INDEX nicer to use.
2015-11-23Cleanup: shadowing (blenkernel)Campbell Barton
2015-09-21Cleanup: use malloc when calloc is overwrittenCampbell Barton
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-05-04Separate scene simplification into viewport and renderSergey Sharybin
This way it is possible to have viewport simplification bumped all the way up, making viewport really responsive but still have final render to use highest subdivision possible. Reviewers: lukastoenne, campbellbarton, dingto Reviewed By: campbellbarton, dingto Subscribers: dingto, nutel, eyecandy, venomgfx Differential Revision: https://developer.blender.org/D1273
2015-03-30Cleanup: use const for typeinfoCampbell Barton
2015-02-04Fix T43560: crash when loading old (2.45 here) file whith multires.Bastien Montagne
Was trying to free a NULL pointer...
2014-11-01Cleanup/fix from latest coverity report.Bastien Montagne
Mostly harmless things, though the 'multires' error was a real bug.
2014-10-17Cleanup: use SQUARED macroCampbell Barton
2014-10-15Cleanup: unused varCampbell Barton
2014-10-14BLI_bitmap: add a macro to set/clear the whole bitmap at once.Bastien Montagne