The camera actuator only allows to look the object from its front face.
Given that Blender takes -Y as the default forward orientation, the current
functionality doesn't let a camera to track an actor from behind.
This patch allows for -X and -Y axis tracking. This way a camera over the
shoulders of a character is possible (without resorting to rotate the
mesh/armature original orientation.
- patch reviewed by Campbell Barton, thanks
- replace calls to BLF_width & BLF_height --> BLF_width_and_height
- no need to call strlen() on length value passed to BLF_draw(). this already checks for \0 char.
* Fixed incorrect description for scene.keyingsets list
* Added dividers to try and make it clearer what structs were related.
* Reshuffled TransformOrientation struct since it occurred right in the middle
of all the other Paint-Mode stuff
- Clamping of image on boundaries now happens nicely
- Looks like to prevent dark edges on image boundary when doing
bicubic interpolation, margin should be 3px. Maybe somebody can verify this?
This commit implements basic clipboard support for movie tracking data
int clip editor. Used own implementation of clipboard like it's done
for sequencer.
Ideally it needed to be switched to more general clipboard system, but
currently this system is designed for text data only and it need to
be re-designed itself. But this feature is quite useful since object
tracking is implemented, so it should be OK to live with such own
implementation for a while.
- marker_find_frame moved to MovieTrack.markers and called find_frame
- Added MovieTrack.markers.insert_frame to insert marker at specified frame
- Added MovieTrack.markers.delete_frame to delete marker from specified frame
The rendering device is now set in User Preferences > System, where you can
choose between OpenCL/CUDA and devices. Per scene you can then still choose
to use CPU or GPU rendering.
Load balancing still needs to be improved, now it just splits the entire
render in two, that will be done in a separate commit.
Crash was caused by invalidating scopes used by space clip editors. It shouldn't
actually happen in movie clip reload operator due to it will happen on NA_EDITED
notifier handler sent to movie clip context.
* Accelerated sRGB <=> linear conversion using lookup table, this can speed up
loading of images in the compositor and simple renders quite a bit.
* Dithering now uses the Floyd-Steinberg algorithm. Previously it would simply
randomize each pixel slightly, adding noise, now that should be reduced.
Patch #29309 by David M.
Instead of generally hiding all unused sockets in collapsed mode, the sockets now have a new explicit flag SOCK_AUTO_HIDDEN, which is only toggled when the hide_toggle operator is called. This way the auto-hidden sockets stay as they are when nodes are duplicated etc. The new flag is necessary to distinguish between manually hidden sockets (via hide_sockets_toggle operator) and automatically hidden sockets and restore the node state when unhiding a node.
Disabling mode switching in panning in 2d as it is disabled in 3d also.
Apparently, it is a not good idea to call modal method from a modal method as the last won't be canceled.
Special notifiers used for scene deletion which lead to undo pushes
after SCENE_OT_delete operator happening with scene still present in
the mainfile. That was a reason why operator redo used to restore
scene.
It's not so obvious why special notifier type is needed for scene
set and deletion -- it confuses undo system without having some
obvious advantages. Using "direct" scene deletion and setting
seems to be working fine so let's see if there'll be some issues
with this.
Blur width used to be calculated quite strange depending on current angle.
Also, it used to be using wrong formula to calculate distance between
current point and boundary line which made blur width almost useless.
Now actual blur width is doesn't depend on angle and use corrected formula
for distance calculation which makes blur width slider behaves more
predictable.
This commit might make old files using wipe+blur be rendered a bit differently,
but don't think it's indeed issue because old behavior was crappy to setup
something useful so don't think this setup was used a lot.
This was mostly only a problem when using Cycles, where NodeTrees are used to
control the world settings.
Also needed to knock out a few remnants of some bygone attempted optimisation
attempts which were preventing this from working (i.e. if a world block didn't
have any animdata, it's child nodetree would never get seen/tested). These
worked ok in the past, but are not that flexible for extension.
Looks like some codecs depends on valid PTS set for frame to encode
frame in right way. PTS is calculating based on current frame number
appending to stream which is stored in render data.
So use rd.cfra in screenshot_startjob() instead of keeping own variable
for reporting current frame number.
Now codecs should be happy and work nice.