Age | Commit message (Collapse) | Author |
|
|
|
Note this only changes cases where the variable was declared inside
the for loop. To handle it outside as well is a different challenge.
Differential Revision: https://developer.blender.org/D7320
|
|
These headers are not needed right away, but will be in the upcoming
commit.
|
|
Allows to know what level sculpting has been done after the value has
been changed in the MultiresModifierData.
No functional changes, just preparing code to have everything needed
for propagation undo.
Differential Revision: https://developer.blender.org/D7307
|
|
|
|
|
|
|
|
This adds the Voxel Mode to the current remesh modifier. It works
exactly the same way as the voxel remesh operator and uses the same
properties to control the remeshing. We can exand this with more options
in the future (fix poles, reprojection...)
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D7292
|
|
The Screw Modifier had a lower limit for the steps value, which not only
was inconsistent between render and viewport steps, but also was capped
to 2 in UI and also in the code internally.
|
|
Error in recent patch D6820
|
|
|
|
Add NULL checks to other deform modifiers too.
|
|
This commit aims to add functionality to the surface deform modifier that
gives more control and allows it to work better with the modifier stack.
* Maintains compatibility with older files. The default settings keep it
so that the whole object is bound and vertex coordinates get overwritten
as the modifier currently does.
* Turns the deformations from an absolute vertex coordinate overwrite into
an additive offset from the vertex location before the modifier to the
resulting bound deformation. This gives the ability to control the
strength of the deformation and mix the deformation of the modifier
with the modifier stack that comes before it.
* Also adds in a vertex group with the invert option. This is applied after
the bind deformation is added. So the whole object is still bound to target,
and the vertex group filters afterwards what parts get affected.
I experimented with a version to only binds the geometry weighted to the
vertex group, but that would break compatibility with old files.
I may bring it in later as a separate option/mode for the surface deform.
With several fixes from @mont29.
Reviewed By: mont29
Differencial Revision: https://developer.blender.org/D6894
|
|
vertex groups.
This commit gives the solidify modifier the ability to assign the newly created shell
and rim geometries to selected vertex groups. This expands the procedural control over
the modifier stack by letting users apply modifiers to the shell geometry without affecting
the original geometry.
This will be especially helpful for NPR users that use solidify to create backface
culling lines on their characters giving them the ability to add displace noise
and other effects.
Differential Revision: https://developer.blender.org/D6903
|
|
This commit adds the option to use armature bones for the From and To targets
when using armature objects.
The changes are based on the UV Warp modifier.
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D6820
|
|
Show control edges stores the control edges in the mesh which is
picked up by the draw manager. When applyng a subsurf (or multires) we
don't want that data present in the base mesh. Any rebuilding of the mesh
would overwrite the data anyway.
This patch introduces a new flag for applying modifiers
that can be checked to ignore storing display specific data in
the base mesh.
Reviewed By: Brecht van Lommel
Differential Revision: https://developer.blender.org/D7163
|
|
Affects both Subdivision Surface and Multires modifiers.
|
|
|
|
This commit adds the option to invert the resulting weights of the
falloff curve.
There is a workflow used by some to convert a texture mask into
vertex weights by using a custom curve and inverting the points.
This allows the same effect with a single click, and gives the modifier
more procedural functionality.
With minor UI tweaks by @mont29.
Differential Revision: https://developer.blender.org/D6899
|
|
|
|
Give pointcaches a proper path function which e.g. also resolves
ALT+click (assign to all selected) not working for anything relating to
pointcaches.
This also cleans up the usage of the 'eModifierTypeFlag_UsesPointCache'
flag (removed from the boolean modifier, added to the softbody modifier).
Maniphest Tasks: T64573
Differential Revision: https://developer.blender.org/D7115
|
|
The removal of duplicate faces that are created during the handling of
degenerate cases was implemented already but didn't work.
This patch should fix some crashes with the solidify complex mode
related to that.
See D7221 for details.
|
|
|
|
this patch will change the behaviour of the material offset in complex mode to fit simple mode output.
Previously in complex mode this would offset the material of the enire shell,
because when you read the tooltip it says material for new generated geometry.
In complex mode everything is new generated geometry though.
In simple mode on the other hand, this would give you a way to only change the inside faces
material. There may be cases in large modifier stacks where material offset like it is implemented
currently in complex mode may be useful, but it is much more useful in the way it is implemented
by simple mode.
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D7215
|
|
I also added a few more comments to the code as I gone along.
Maniphest Tasks: T74195
Differential Revision: https://developer.blender.org/D7214
|
|
|
|
Unlike Linux where fseek/tell will be either 32 or 64 bit
depending on the target platform, it will always be 32 bit
on windows.
We had some macro magic in BLI_winstuff.h that substituted
them for 64 bit versions, but that is upsetting the system
headers if they get included after BLI_winstuff.h which
is problematic for D6811.
This diff adds proper functions in blenlib and updates
all calls that were using the BLI_winstuff.h header to
gain 64 bit file IO.
note: Anything that was using the 32 bit versions (ie not
including BLI_winstuff.h) will still be using the 32 bit
versions, which is perhaps a good code quality Friday project.
Differential Revision: https://developer.blender.org/D7160
Reviewers: brecht dfelinto
|
|
This is only needed in certain cases.
When testing performance improvements to the modifier stack
it's useful to bypass this function.
|
|
Make it explicit this data mask is added to the default mask.
|
|
Makes it work better "out of the box" for irregular topology like
Suzanne mesh.
There might be some performance impact on non-regular meshes, but
those are not very common usecase for multires and for those its
always possible to lower the quality if needed.
|
|
The Deform modifiers was reallocating buffers that only fit the vertices
of the inner loop. This patch first counts the maximum needed buffer and
allocates one.
When using the daily dweebs animation file the playback performance went
from 0.66 fps to 0.93 fps.
Reviewed By: sybren
Differential Revision: https://developer.blender.org/D7132
|
|
rendered.
The softbody modifier was missing the transform depsgraph relation and
thus the object matrix would not get updated during animation render.
|
|
This extends the ocean modifier to add new spectra
(Pierson-Moskowitz, Jonswap, TMA).
These models are very different to the Phillips spectrum.
They are intended for more established,
large area, oceans and/or shallow water situations.
|
|
|
|
This fixes the issue mentioned in the comment in T74515.
Reviewers: mont29
Differential Revision: https://developer.blender.org/D7104
|
|
|
|
When scaling the root bone of a rig to apply a global scale, the
corrective smooth modifier results in wrong deformation due to incorrect
scaling. The delta calculations are not taking into account any scale
value.
To fix it, a scale property is added to the modifier, allowing to set
manually the scale value for the deltas by simply multiplying the
vectors by this value. There is a similar implementation in Maya's Delta
Mush deformer. This property can be for example driven by the scale of
the root bone of the rig, to dynamically update when the animator scale
this bone.
Reviewed By: brecht, sybren
Differential Revision: https://developer.blender.org/D6622
|
|
While it might be handy to have type-less functionality which is
similar to how C++ math is implemented it can not be easily achieved
with just preprocessor in a way which does not have side-effects on
wrong usage.
There macros where often used on a non-trivial expression, and there
was at least one usage where it was causing an actual side effect/bug
on Windows (see change around square_f(sh[index++]) in studiolight.c).
For such cases it is handy to have a function which is guaranteed to
have zero side-effects. The motivation behind actually removing the
macros is that there is already a way to do similar calculation. Also,
not having such macros is a way to guarantee that its usage is not
changed in a way which have side-effects and that it's not used as an
inspiration for cases where it should not be used.
Differential Revision: https://developer.blender.org/D7051
|
|
This moves the `alembic`, `avi`, `collada`, and `usd` modules into a common
`io` directory.
This also cleans up some `#include "../../{somedir}/{somefile}.h"` by
adding `../../io/{somedir}` to `CMakeLists.txt` and then just using
`#include "{somefile}.h"`.
No functional changes.
|
|
- Use 'BKE_object_defgroup' prefix for object functions.
- Rename 'defvert_verify_index' to 'defvert_ensure_index'
since this adds the group if it isn't found.
|
|
- Use 'BKE_object_material_*', 'BKE_id_material_*' prefix
for functions that operate on Object and ID types.
- Use '_len' suffix for length (matching BLI naming).
- Use '_p' suffix for functions that return a pointer to values
where the value would typically be returned.
Functions renamed:
- BKE_object_material_resize was BKE_material_resize_object
- BKE_object_material_remap was BKE_material_remap_object
- BKE_object_material_remap_calc was BKE_material_remap_object_calc
- BKE_object_material_array_p was BKE_object_material_array
- BKE_object_material_len_p was BKE_object_material_num
- BKE_id_material_array_p was BKE_id_material_array
- BKE_id_material_len_p was BKE_id_material_num
- BKE_id_material_resize was BKE_material_resize_id
- BKE_id_material_append was BKE_material_append_id
- BKE_id_material_pop was BKE_material_pop_id
- BKE_id_material_clear was BKE_material_clear_id
|
|
|
|
Adds the invert vgroup option to the Wave modifier.
Differential Revision: https://developer.blender.org/D6893
|
|
Differential Revision: https://developer.blender.org/D6997
|
|
|
|
The functionality of the mask modifier remains unchanged.
This patch updates the mask modifier so that it uses C++.
The manual memory management has been replaced with proper containers.
The large `applyModifier` function has been splitup into multiple smaller functions.
A large speedup is achieved by using simple arrays instead of hash tables in multiple places.
In my performance test file the playback speed increased from 1.1 to 5.1 fps on my laptop.
Reviewers: campbellbarton, brecht
Differential Revision: https://developer.blender.org/D6779
|
|
Own mistake in recent rBcfdb5b9a8b07.
|
|
modifiers.
This commit actually fixes several issues in this modifier, but main one
from the report was caused by adding a `CD_NORMAL` layer to loops to
store temp real clnors. Unless we plan on modifying the topology itself,
this is useless, and would require some additional 'dirty normals'
tagging to work properly, so just switched to simpler, cleaner solution
of having a local array of computed clnors.
|
|
Adds the invert vgroup option to the UVWarp modifier. Adds a flag and char padding to the DNA.
Differential Revision: https://developer.blender.org/D6841
|
|
Adds the invert vgroup option to the Bevel modifier.
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D6845
|