Age | Commit message (Collapse) | Author |
|
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
|
|
The issue was caused by lack of proper accumulation for
averaging. Doing it incrementally introduced a bias.
|
|
|
|
The work data for materials flags was never freed.
|
|
|
|
On CCG side it is done similar to displacement, where we have
a dedicated functor which evaluates displacement. Might be seemed
as an overkill, but allows to decouple SubdivCCG from mesh entirely,
and maybe even free up coarse mesh in order to save some memory.
Some weak-looking aspect is the call to update normals from the
draw manager. Ideally, the manager will only draw what is already
evaluated. But it's a bit tricky to find a best place for this since
we avoid dependency graph updates during sculpt as much as possible.
The new code mimics the old code, this is how it was in 2.7.
Fix shading part of T58307.
|
|
While \file doesn't need an argument, it can't have another doxy
command after it.
|
|
Move \ingroup onto same line to be more compact and
make it clear the file is in the group.
|
|
Needed for clan-format not to wrap onto one line.
|
|
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.
|
|
|
|
|
|
|
|
Needed for clang formatting to workaround bug/limit, see: T53211
|
|
Display statistics from CCG structure.
This makes values to be different from what is shown in object
mode, since CCG is operating on individual grids, and object
mode will stitch those grids. But on another, those values from
CCG is what sculpt mode is actually "sees" or "uses".
The number of faces should be the same in both sculpt and object
modes.
|
|
|
|
|
|
|
|
|
|
Matches type better, avoiding possible confusion.
|
|
Differential Revision: https://developer.blender.org/D3719
|
|
|
|
|
|
|
|
Makes it so smooth brush works properly, without causing grids
to become disconnected from each other.
This need to optimize the code for brush, to only average edges
and vertices which are adjacent to modified faces.
|
|
Similar to previous commit, but for vertices.
|
|
This information is stored for each non-loose edge.
For each of such edge we store:
- List of CCG faces it is adjacent to.
This way we can easily check whether it is adjacent to
any face which is tagged for update or so.
- List of boundary elements from adjacent grids.
This allows to traverse along the edge and average all
adjacent grids.
|
|
Forgot to free memory used by grid to face mapping array.
|
|
|
|
Use topology refiner where possible, which will make code more
portable and less dependent on all the possibly outdated pointers.
|
|
|
|
Will speed up (or rather bring speed back to what it is supposed to be)
for brushes like smooth.
|
|
|
|
Currently is only working on an "inner" grid boundaries.
Need to implement averaging across face edges.
|
|
This makes it so coordinates and normals for CCG are calculated
with mutires displacement taken into account. This solves issues
with multires displacement being lost when entering sculpt mode.
The missing part is averaging of normals along grid boundaries.
But even then sculpting shows decent results.
The plan to solve that would be to introduce function to stitch
grids, which can also be used by Smooth brush which requires
this.
|
|
|
|
Allows to do re-shaping easier, since we will know for sure
what was the limit surface the CCG is created for.
|
|
|
|
Attempts to substitude CCGDM with an OpenSubdiv based structure
which has less abstraction levels. The missing part in this
substitude is a face pointers which old CCGDM/multires code was
using to stitch faces (averaging boundaries).
Another curial bit missing: "reshaping" of multires CD_MDISPS
to the state of new PBVH grids.
The new code is only available when OpenSubdiv modifier is
enabled (WITH_OPENSUBDIV_MODIFIER=ON) and with debug value of
128. This is so this WIP code is not interfering with current
production machines in the studio.
Reviewers: brecht
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D3685
|
|
|
|
Nothing really interesting, just starting laying down API which
seems to be a decent substitute to CCGDM, without requiring too
much work be done in sculpting area.
|