Age | Commit message (Collapse) | Author |
|
|
|
|
|
option is disabled
|
|
drawing
|
|
It is now possible for the insides (i.e. the region contained within the stroke)
Grease Pencil strokes to be drawn "filled". This initial implementation is quite
crude.
Main Limitations:
- It uses OpenGL polygons for rendering. The main thing to be aware of with this
is that it *DOES NOT HANDLE CONCAVE* strokes too well. That is, it will just
plaster over the concave regions, which may not be what you really want
- Fills are currently turned on/off using the opacity settings. Whether we continue
doing this remains to be seen...
|
|
While 3D strokes currently have a size limitation, this doesn't apply to volumetrics.
TODO
Most of our 2D strokes don't have a limitation either, but we can't easily
identify such cases in this function, so for now the limit holds.
|
|
|
|
|
|
|
|
Casting to bool is safer there
|
|
|
|
To make it easier to see the final effect of volumetric strokes, these are now
also drawn when painting new strokes
|
|
|
|
Due to the enthusiastic reaction from the community, I've decided to make this
a proper drawing technique. This commit separates the drawing code for this
out into its own method, and reduces the amount of costly GL read/write calls used
by performing more of this using Blender's internal math library. As a result,
it seems (at least in my limited tests) to be running much faster :)
TODO:
- Configuration options for controlling when this is used in combination
with the other drawing techniques
- Use for stroke drawing too when enabled?
- Allow setting stroke sizes to be much thicker (and also set a better base-size)
|
|
This is really really hacky stuff. I've literally just dumped this code in there
without any attempt at cleaning it up or properly integrating it, as it was just
a quick test which turned out to provide some rather interesting results!
|
|
|
|
When running GPencil drawing operators from the toolbar or from a (pie) menu,
drawing operations shouldn't start immediately, but rather, only when users
actually click to start drawing. This is because the mouse is often not in a
suitable location for this to work when the operators get invoked from such
UI controls.
Previously, we used a hack which just detected certain types of events. This worked
ok for toolbars, but not for menus. Now, we've got a proper property to enable this
behaviour instead.
|
|
It only really applies to the 3D view, so this makes more sense, and fits
the workflows for modellers and mograph artists more.
|
|
* Expose "delete active frame" directly in GP UI (alongside frame locking)
instead of hiding in a submenu
* Deleting the active frame immediately makes the one before it active
|
|
following recent changes
|
|
|
|
Conflicts (Unresolved):
source/blender/editors/gpencil/gpencil_paint.c
|
|
|
|
|
|
|
|
The ones in extern/glew-es have been changed to NOTE instead of XXX
GHOST_ContextEGL.cpp: It really does seem that it is not possible to query the swap interval using EGL
GHOST_WidnowCocoa.h: The comment referring to Carbon is clearly out of date, so I removed it.
math_geom.c: The node about not using tmax again is correct, but the code is kept for a future maintainer who will need to know how to compute it if they modify that code.
paint_image_proj.c (2698): The question about integer truncation does not appear to have been resolved. It still seems to be an incorrectly implementation of rounding (I'd suggest using the round function instead of this hack).
|
|
Add Recalcuate Normals to the Faces menu, next to other shading options.
Differential revision: https://developer.blender.org/D841
Signed-off-by: Thomas Dinges
|
|
|
|
|
|
The occurance can be controlled in NotificationCenter, todo: move to own function ?
|
|
As it appears we can't really use mitchell filter together with the
current filter importance sampling,
This reverts commit 742911314322e5dae3a07469d0ca53b61427f978.
|
|
It's the same filter which is used by default by Blender Internal renderer
and it gives crispier edges than gaussian filter.
Default filter for Cycles is unchanged because it's unclear if new filter
gives more noise or not. After some further real production tests we can
consider making Mitchell filter default for Cycles as well.
|
|
This way it's easier to extend bitfields and see when we start running
out of free bits.
Plus added brief description of what SD_VOLUME_CUBIC flag means.
|
|
Still need to keep enum definition in sync with the python code,
but the code itself is a bit more clear to understand now.
|
|
It is per-material setting which could be found under the Volume settings
in the material and world context buttons.
There could still be some code-wise improvements, like using variable-size
macro for interp3d instead of having interp3d_ex to which you can pass the
interpolation method.
|
|
This is the first step towards supporting cubic interpolation for voxel
data (such as smoke and fire). It is not epxosed to the interface at all
yet, this is to be done soon after this change.
|
|
as for 3D View
This is not a terribly nice hack, but it gives the behaviour that users expect
more often than not. Namely, this enables:
* GPencil keyframes now show up in timeline
* The next/prev keyframe buttons on the Timeline header work correctly
(i.e. they can "see" the GPencil keyframes)
|
|
|
|
|
|
doesn't have a toolbar)
|
|
Changed the way that the keybindings for the editing tools for strokes work,
to be less clunky to work with.
Now, instead of holding down DKEY, you instead enter "Stroke Edit Mode" (via
a toggle button in the "Edit Strokes" button in the toolbar). This enables a
keymap (Grease Pencil Stroke Edit Mode) which is only active when this setting
is enabled; the keybindings in this keymap are designed so that pressing the
normal hotkeys will affect the strokes as expected (instead of whatever else
may be in the viewport at the time instead).
|
|
|
|
|
|
Quite straightforward change, don't think some extra explanation is needed.
This gives about 15% speedup of the modifier evaluation on my laptop.
Reviewers: campbellbarton
Differential Revision: https://developer.blender.org/D836
|
|
This commit switches meshdeform modifier to use threads to evaluate
the vertices positions using the central task scheduler.
SO now we've got an utility function to help splitting the for loop
into tasks using BLI_task module which is pretty straightforward to
use: it gets range (which is an integer lower and higher bounds) and
the function and userdata to be invoked for each of the iterations.
The only weak point for now is the passing the data to the callback,
this isn't so trivial to improve in pure C.
Reviewers: campbellbarton
Differential Revision: https://developer.blender.org/D838
|
|
|
|
Also name 'children' is normally used for a list
|
|
When resetting edit bones on cancel, they also have to reset connected
parent and child bone tips and heads respectively, since these can be
modified during the transform.
|
|
|
|
|