Age | Commit message (Collapse) | Author |
|
This commit adds the frame to deformStroke Callback as a preparation for new modifiers that will need this variable.
Actually, the existing modifiers are not using the frame.
|
|
There were several problems in the old random calculation:
* Different result in the viewport and render.
* Noise "pop" in some frames.
* Random number was calculated every time the file was opened, so get different results.
Now, instead to calculate the random numbers when n number of frames changed, the random values are calculated using a unique seed by stroke.
Also, a new Seed parameter has been added and this adds more control in the noise generated. This value can be animated and get more variations.
Differential Revision: http://developer.blender.org/D5393
|
|
The value of the step was calculated using a variable that was removed when the render frame change.
Now, the step is calculated using the modulus of the current frame and recalculate noise only if the remainder that results from performing integer division is equal to 0.
To calculate current frame, the first used frame is calculated to adjust real frame range.
This approach is more stable in viewport and render.
|
|
When apply the modifier a new material is created, but it was assigned wrongly. The problem was the index was base 0 already, so subtract 1, got a wrong value.
|
|
|
|
areas of Blender
The value of the Hue must be between 0 and 1, but the value was between 0 and 2.
|
|
|
|
Still pending when the original object is rotated or scaled.
|
|
Prepare for enabling ReflowComments.
|
|
|
|
|
|
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
|
|
No functional change, this adds LIB definition and args to cmake files.
Without this it's difficult to migrate away from 'BLENDER_SORTED_LIBS'
since there are many platforms/configurations that could break when
changing linking order.
Manually add and enable WITHOUT_SORTED_LIBS to try building
without sorted libs (currently fails since all variables are empty).
This check will eventually be removed.
See T46725.
|
|
- The ambiguous term 'handle' was used where 'ensure'
is typically used (get or add when missing).
- Rename `current` to `active`, all `current` functions which were
also ensuring.
- Clarify what is being operated on, using `BKE_gpencil_object_*` for
objects, `BKE_gpencil_brush_*` for brushes.
|
|
As the random seed was calculated in the copy data, the render could be a little different. Now, the data is saved in the original data.
|
|
@sergey wrote: "The reason it was failing is because md points to an original armature, which doesn't have runtime data needed for deformation. That data is to come from evaluated armature."
Thanks to @sergey for his help.
|
|
|
|
Mostly functions wrapping args, not confirming to our style guide.
|
|
These modifiers were not included in previous commit.
|
|
This change displays the stroke in the deformed position, but the edition is done in rest position.
This is no the final solution, but at least we have some visual feedback in edit mode.
The real solution is to create a full system to manage derived strokes in Edit mode, but this needs a lot of work and we haven't resources now to do it.
|
|
We already have different storages for cddata of verts, edges etc.,
'simply' do the same for the mask flags we use all around Blender code
to request some data, or limit some operation to some layers, etc.
Reason we need this is that some cddata types (like Normals) are
actually shared between verts/polys/loops, and we don’t want to generate
clnors everytime we request vnors!
As a side note, this also does final fix to T59338, which was the
trigger for this patch (need to request computed loop normals for
another mesh than evaluated one).
Reviewers: brecht, campbellbarton, sergey
Differential Revision: https://developer.blender.org/D4407
|
|
BLI should always comes first, before DNA, BKE etc. And
`BLI_utildefines.h` should come before any other BLI (since it's some
sort of system include really, among other things...).
Thisi should help to reduce the noise in patches when adding stuff
like uint64_t members to DNA structs... ;)
|
|
While \file doesn't need an argument, it can't have another doxy
command after it.
|
|
Automatic edits failed for indented comment blocks,
removed indentation & adjusted.
|
|
Move \ingroup onto same line to be more compact and
make it clear the file is in the group.
|
|
|
|
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.
|
|
|
|
Done using:
source/tools/utils_maintenance/c_sort_blocks.py
|
|
|
|
The first point was moving inverted because first vector was inverted. Now, the vector is changed for the first point to get the same direction.
|
|
|
|
points
Also fixed Lattice and Noise modifier.
|
|
|
|
Still problems when local rotation.
Some cleanup done.
|
|
The weight was used only for position.
|
|
|
|
The GP_STROKE_RECALC_CACHE identifier was changed to GP_STROKE_RECALC_GEOMETRY because the previous name was confusing and could be confused with the recalculation of the Draw Manager cache.
|
|
The first point index was wrong calculated.
|
|
The mirror was working different to mesh mirror and the result was not the expected.
|
|
There were at least three copies of those:
- OB_RECALC* family of flags, which are rudiment of an old
dependency graph system.
- PSYS_RECALC* which were used by old dependency graph system
as a separate set since the graph itself did not handle
particle systems.
- DEG_TAG_* which was used to tag IDs.
Now there is a single set, which defines what can be tagged
and queried for an update. It also has some aggregate flags
to make queries simpler.
Lets once and for all solve the madness of those flags, stick
to a single set, which will not overlap with anything or require
any extra conversion.
Technically, shouldn't be measurable user difference, but some
of the agregate flags for few dependency graph components did
change.
Fixes T58632: Particle don't update rotation settings
|
|
This is part of T57829.
Reduce the number of batches used to only one by shader type. This reduces GPU overhead and increase a lot the FPS. As the number of batches is small, the time to allocate and free memory was reduced in 90% or more.
Also the code has been simplified and all batch management has been removed because this is not necessary. Now, all shading groups are created after all vertex buffer data for all strokes has been created using DRW_shgroup_call_range_add().
All batch cache data has been moved to the Object runtime struct and not as before where some parts (derived data) were saved inside GPD datablock.
For particles, now the code is faster and cleaner and gets better FPS.
Thanks to Clément Foucault for his help and advices to improve speed.
|
|
New modifiers have thsi default value.
|
|
|
|
|
|
If the offset is greater than frame range, the offset could gets some unlogic values, so now the value is normalized in the range.
|
|
|
|
The frames greater than frame range were wrongly calculated.
|
|
|
|
|