Age | Commit message (Collapse) | Author |
|
No functional changes just creepy to send rather huge structure by value.
|
|
|
|
|
|
Made it so scopes image buffer is displayed without any additional scale
applied on them,
Further tweaks are possible here, but that i'd consider a TODO.
|
|
|
|
Summary:
Made objects update happening from multiple threads. It is a task-based
scheduling system which uses current dependency graph for spawning new
tasks. This means threading happens on object level, but the system is
flexible enough for higher granularity.
Technical details:
- Uses task scheduler which was recently committed to trunk
(that one which Brecht ported from Cycles).
- Added two utility functions to dependency graph:
* DAG_threaded_update_begin, which is called to initialize threaded
objects update. It will also schedule root DAG node to the queue,
hence starting evaluation process.
Initialization will calculate how much parents are to be evaluation
before current DAG node can be scheduled. This value is used by task
threads for faster detecting which nodes might be scheduled.
* DAG_threaded_update_handle_node_updated which is called from task
thread function when node was fully handled.
This function decreases num_pending_parents of node children and
schedules children with zero valency.
As it might have become clear, task thread receives DAG nodes and
decides which callback to call for it.
Currently only BKE_object_handle_update is called for object nodes.
In the future it'll call node->callback() from Ali's new DAG.
- This required adding some workarounds to the render pipeline.
Mainly to stop using get_object_dm() from modifiers' apply callback.
Such a call was only a workaround for dependency graph glitch when
rendering scene with, say, boolean modifiers before displaying
this scene.
Such change moves workaround from one place to another, so overall
hackentropy remains the same.
- Added paradigm of EvaluaitonContext. Currently it's more like just a
more reliable replacement for G.is_rendering which fails in some
circumstances.
Future idea of this context is to also store all the local data needed
for objects evaluation such as local time, Copy-on-Write data and so.
There're two types of EvaluationContext:
* Context used for viewport updated and owned by Main. In the future
this context might be easily moved to Window or Screen to allo
per-window/per-screen local time.
* Context used by render engines to evaluate objects for render purposes.
Render engine is an owner of this context.
This context is passed to all object update routines.
Reviewers: brecht, campbellbarton
Reviewed By: brecht
CC: lukastoenne
Differential Revision: https://developer.blender.org/D94
|
|
|
|
Summary:
Uses some magic pseudo-random which is actually a
texture coordinate hashing function.
TODOs:
- Dither noise is the same for all the frames.
- It's different from Floyd's dither we've been
using before.
- Currently CPU and GPU dithering used different
implementation. Ideally we need to use the same
dither in CPU.
Reviewers: brecht
Reviewed By: brecht
Differential Revision: http://developer.blender.org/D58
|
|
|
|
* Improve some clip editor messages
* Remove popup for metastrips, seems unnecessary
* Renamed some variables for consistency
* Avoid unnecessary call to CTX_DATA_COUNT
Reviewed By: sergey, campbellbarton, aligorith
Differential Revision: http://developer.blender.org/D44
|
|
rename change/is_change/is_changed/modified -> changed
also use bools over int/short/char and once accidental float.
|
|
This makes a number of operators no longer ask for confirmation, rather it will
show an info message after performing the operation. Ref T37422 for decision. In
particular, these were changed:
* Delete objects, bones, keyframes, masks, mask curves, motion tracks, markers.
* Clear and delete keyframes in the 3D view.
* Align bone to parents.
* Separate bones from armature.
* Group/ungroup metastrips in sequencer.
* Copy/paste objects to/from buffer.
Reviewed By: brecht, dingto
Differential Revision: http://developer.blender.org/D35
|
|
|
|
OPERATOR_CANCELLED.
|
|
perhaps ED_scene_draw_fps is actually better to be placed
to a better place, but consider this is good for now.
|
|
Currently supports only two modes:
- Show alpha channel of the mask
- Multiply footage by the mask, which will give
you final-looking combined image.
TODO: Currently rasterization happens on every
redraw, need to cache rasterized mask
somewhere to make redraw more realtime.
|
|
sequencer contained any data. The sequence color sample operator was available
here when it shouldn't be.
|
|
update some descriptions, others were removed and operators tagged as internal.
add a script to detect duplicate operator descriptions.
|
|
cancelled before the job, causing invalid access to op->reports in the job thread.
|
|
when running viewport operations with exec() rather then invoke(), perform the action immediately rather then using smoothview.
makes viewport operations usable from python scripts.
|
|
|
|
|
|
Like, it seems it never worked actually.
|
|
sizeof() use in BLI_array.h
|
|
crashes Blender
existing code was very stupid.
- all ID pointers for clipboard strips are handled uniformly.
- clipboard stores a duplicate ID pointer which are restored on paste.
- restoring pointers...
-- use ID's that are still in the database (copy&paste within the same file).
-- fallback to name lookup.
-- fallback to loading them from the original filepath (movie-clip and sound only).
also fix bug pasting where initialing the sound wasn't done if there was no frame-offset.
|
|
|
|
|
|
character. also remove some dead code (return directly after return).
|
|
|
|
terminated.
|
|
BLI_testextensie_glob every time in the file selector with a blank string.
|
|
|
|
of the active object in the 3D view. This was due to sharing a global G.moving
flag to indicate that transform is active, now it's only set per transform data
type so different editors don't influence each other.
|
|
node materials.
Area and region listener callbacks now get the screen and area pointers passed, so
they can do more fine grained checks to see if redraw is really needed, for example
depending on the 3D view drawtype.
|
|
strips were getting the same, annoying ;) ).
|
|
|
|
remove MEM_sys_types.h which was a duplicate.
|
|
include conflicts later on.
|
|
|
|
|
|
they are equal.
|
|
|
|
sequencer now draw such that a strip that spans this time is contained just
between these lines.
|
|
many areas).
|
|
the 3D
view and text editor but not in the animation editors, node editor and sequencer.
|
|
It's now default to 2D textures, and no AUTO mode at this
moment, since detecting which method is the best not so
simple.
Image drawing could manually be switched to GLSL for tests
and feedback, but for default GLSL is not so much great.
Reason of this is huge images, where operations like panning
becomes dead slow comparing GLSL vs. 2D texture.
|
|
Sequencer: Properties region didn't have the general Sequencer keymap, so it didn't
respond to "Nkey" to hide the region.
|
|
|
|
Sequencer was always trying to do GLSL color space
conversion, not respecting user settings at all.
This failed a lot when RGB curves a used in color
management settings.
Now sequencer will fallback if GLSL can not be used
and will also respect user settings (however, draw
pixels are not supported, sequencer always uses 2D
textures).
|
|
- Sequencer preview was clamping float buffers
- ACES color space wasn't correct, was noticeable when
applying display processor from linear space to display.
- Extended sRGB LUT to sRGBf from nuke-default config.
Makes sequencer behave much better in sRGB space.
|