Age | Commit message (Collapse) | Author |
|
selection mode.
|
|
this was confusing as there was no setting visible for it. Now these menus
contain an entry to mirror without and with topology mirror.
|
|
|
|
old limitation where you could only paint onto one side of a mirrored mesh (weight paint, vertex paint).
|
|
This issue was caused by doing pespective interpolation of clone uv
coordinates in perspective view. To fix this we need to use perspective
correction for screen coordinates, but return regular barycentric
weights back for clone layer uv coordinate interpolation.
|
|
The bug only exists for multires smoothing. Other cases were handled by
BKE_pbvh_vertex_iter_begin, which culled hidden parts accordingly. Added
a manual check on the multires smoothing code.
|
|
select-all key shortcut.
|
|
|
|
painting
regression since 2.61
|
|
|
|
after recent change to size of bool.
|
|
Was missing linearization of colro came from byte buffer.
|
|
|
|
|
|
add arguments to calculate normals when converting to bmesh:
BM_mesh_bm_from_me, DM_to_bmesh
This gives some speedup to undo (which didnt need to re-calculate vertex normals), and array modifier which doesnt need to calculate face normals at all
|
|
|
|
|
|
remove MEM_sys_types.h which was a duplicate.
|
|
unused defines and correct include guards.
|
|
the mapping functionality.
replace ED_mesh_calc_normals with BKE_mesh_calc_normals().
|
|
|
|
- mult_m4_m4m4 -> mul_m4_m4m4
- mult_m3_m3m4 -> mul_m3_m3m4
these temporary names were used to avoid problems when argument order was switched.
|
|
3D Viewport render (internal) didn't render bump maps (it was black even).
|
|
[#35448], also quiet float/double warning.
|
|
|
|
use tiling, we need to sample the mask texture when determining the
pixel masking.
|
|
|
|
float images, was not taking premul/straight convention into account properly.
|
|
Re-using this properties were rather confusing -- selecting mask brush once
lead to changes in behavior of other brushes hotkeys.
|
|
reason, -pthread too.
|
|
include conflicts later on.
|
|
if we really are in sculpt mode context since the active object may be
in sculpt mode while cursor is in the 2d paint editor.
|
|
with mouse crashes blender.
Issue here is that paint operator invocation, immediately calls modal,
which checks if event is the same as initialization event plus keyup.
Since using the mouse on amenu calls the operator on mouse button up,
the operator ended immediately and that cause immediate cleanup and
crash,
Worked around this by forbidding the operator to finish on first modal
call (which is expected by all the asserts on invoke anyway). This
prevents the crash but requires an extra up event to end.
Also, ported part of Jason Wilkins' patch to stroke code to allow for
stroke sampling to be done before a dab is first performed and as soon
as the stroke begins
|
|
|
|
* Also do pressure interpolation for brush size and spacing.
* Do smoothing of pressure when smooth stroke and sample average is enabled.
* Revert the OS X specific pressure change to pressure ^ 2.5, for low pressure
values like 0.05 it makes the pressure 100x lower, which is problematic. If
we need to adjust the pressure curve it should be done for all platforms.
Still weak:
* Pressure of first touch on tablet is difficult to control, usually it's low
which makes the stroke start out small or soft, but other times not. Finer
event capturing at ghost level would help, along with pressure changes without
mouse movement, but this may also need different paint stroke logic.
* Brush radius is rounded to integers, this gives noticeable stepping.
* Brush falloff is not antialiased, gives noticeable aliasing for small brush
sizes which was always a problem, but is more common with size pressure control.
|
|
On file save the mesh gets loads from the editmesh but the derived mesh caches
wer not cleared. This usually happens through the depsgraph but it needs to be
done manually here. Most changes are some refactoring to deduplicate derived
mesh freeing code.
|
|
* Fix crash on 2d painting when no active object is present (NULL
pointer dereference in cursor drawing)
* Skip conditional on space_stroke function, since this is already
checked for on higher level.
* Interpolate pressure on spaced strokes.
|
|
Issue was introduced by self in svn rev56815.
Brushes list was simply not fully traversing
due to mistake in termination condition.
|
|
take up a lot of memory.
The operator was recording an array with all stroke points. However this was not
particularly useful, only sculpt mode had exec() implemented to redo the stroke,
but it was not registering the operator anyway so there was no way to access the
data after the operator was done. So no one was using this anyway.
I did now implement exec for the paint modes so you can call the operator with
stroke points from a script.
|
|
wrong, it should just fit the texture in the brush circle.
|
|
|
|
After the paint refactoring for 2.67, the OpenGL texture was getting updated for
every stroke point, rather than once for every redraw. With a small brush radius
and low spacing the number of stroke points can be quite large, which might have
a big performance impact depending on the graphics card / drivers.
Also for 2D image paint, avoid redrawing the button panels and properties editor
during painting.
There is another possible cause for slowdowns with 3D texture painting which was
not fixed. Projection painting is creating and destroying threads for every stroke
point. Depending on the CPU/OS there might be a lot of overhead in doing that if
the brush size is small.
|
|
brush
size. Interpolated mouse coordinates should not get rounded to integers.
|
|
Switching to tool will cycle via all brushes with given type
only in case current brush tool matches requested one.
This means, when user requests brush with different type,
first brush of that tool will be activated. But further
toggling to the same tool will cycle via all acceptable
brushes.
|
|
|
|
redrawing the whole area that was painted on from the start of the stroke,
should only do the last part.
|
|
anymore
due to paint cursor redraw problem.
|
|
consistent with projection painting.
Also did some refactoring of this code, moving the brush image creation code
out of brush.c and making it consistent with image updating code.
|
|
Now it works for blender internal, cycles and other multithreading code in
Blender in both background and UI mode.
|
|
|