nodes.
The Rotate node was calculating the center with a 1 pixel offset, which
effectively shifts the image by 1 pixel on one or both axis for
right-angle (90 degree) rotations.
Note that the wrapping feature for translate nodes can still produce
undesirable results for non-quadratic images. This is because of how
the resolution calculation works atm: the Rotate node will keep the
resolution of the input image, even if the resulting image is then
cropped or leaves empty margins. There is no easy way to fix that
without redesign.
It is possible that objects from dupli-groups depends on objects which are
not in the dupli-group. We do need this objects to be evaluated as well on
visible changes, so all dependencies for objects from the dupli-group are
met. Unfortunately, we don't have parent relations on this state, so we're
to use DFS over the whole DAG to gather such dependencies.
This is probably not so bad since visible update is called really rarely.
Reviewers: brecht
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D326
* QE as up/down to Fly Navigator
* Alt as slow modifier to Fly Navigator
* Update on Walk header info
Note: I left the original RF/Ctrl shortcuts working for fly navigator
but they are no longer visible in the header info. So old users will
still be using what they were used to, while new ones get used to what
walk navigation is using.
The underlying cause for these issues is the insufficient sampling of
the bokeh image. For smaller blur radius there will be very few samples
taken, and with 1-pixel radius it boils down to just 4 samples:
2 on the left border (black), 1 in the center (black) and 1 at the top
border (blue) ...
For now have added the workarounds implemented in the CPU version of
that node, which hide these artifacts. Ultimately would be better to
have mipmap levels for the bokeh image input instead.
Non-camera objects are not supported as cameras, and trying to use them
just causes memory errors (some bad typecasts are involved). When converting
a Scene Actuator, only use the object as a camera if it is actually a camera.
Also, the logic brick UI now filters for camera objects, which should help
avoid confusion.
The test for a reflex angle used the vertex normal,
which was not a good test for a saddle point vertex.
Switched to using the face normal, if available, for that test.
Also added test for this in svn bevel_regression.blend.
This is because the sub-paths of the individual sockets are defined as
FILEPATH properties, which automatically adds the standard fileselect
operator button in the uiLists. However, that operator returns full
paths only, with no direct way to make them relative to the base path.
So for now i've turned the subpath properties into regular strings,
which removes these operator buttons but should at least avoid the
confusion.
Eventually new operators could be defined for this, which use the file-
select operator and then make the path relative.
Issue was caused by the change in FFmpeg options: some of them were
renamed, some moved to another class.
Made some tweaks to how options are passed to the FFmpeg which now
seems to be the same as ffmpeg.c.
Default Values is used on it.
The default for the socket value was always 0. Now the default value for
node socket default_value properties is chosen based on the socket
subtype to give some more sensible values.
NOTE: this may still be different from the values specified in the
socket templates! It is not possible to directly use these template
values, because all sockets share the same RNA types. At least it should
work reasonably well in the majority of cases now.
Issue was caused by missing GLOBALHEADER flag set for audio stream.
Also made it so frame is getting filled with default, that's what
happening in ffmpeg.c.
single terminator item.
Ideally no enum item function should return NULL, but since this is very
common and an intuitive mistake, better handle that case gracefully in
the RNA access function.
This makes it so NDOF without any modifiers pressed can pan and orbit
which means you have full 6dof, however if you only want to orbit+zoom
that works as before.
also change logic so rotation is disabled for axis views (orbit operator
will exit axis views still, as with mouse orbit)
nodes (Blur) causes crash due to chained read/write buffer operations.
The way read/write buffer operations are created for both the wrapped
translate node and then the "complex" blur node creates a chain of
buffers in the same ExecutionGroup. This leaves the later write buffer
operations without a proper "executor" group and fails on assert.
Solution for now is to check for existing output buffer operations like
it already happens for inputs. This is extremely ugly code, but should
become a lot more transparent after compositor cleanup ({D309}).
The color for frame labels was a mix of the text color (black by
default) and the node theme color with a factor of 0.8, which
coincidentally is the same as the node body color.
Changed it to 0.4, which is the same as the regular node labels use.
Disable transform and mask display when there's no active clip.
It's not a matter of returning fallback dimensions if there's no
slip, it's also matter of making it so stabilization and distortion
routines are aware of clip == NULL which is really crappy.
Also almost all the operators are disabled in clip editor without
active clip already anyway.
Also tweaked header UI a bit to not display mask stuff when there's
no active clip,
Allow duplicating splines from inactive layers. This way it's
more useful IMO than restricting duplication to an active layer.
TODO: What should be a behavior for clipboard (currently it copies
splines from an active layer only)?
Deadlock between python script evaluation thread and
drivers evaluation caused by scene update invoked from
ED_screen_set_scene().
Pretty much the same as setting scene current frame
with the same solution BPy_{BEGIN,END}_ALLOW_THREADS.