- no need for bm_triangle_other_vert_find(), the other vert is known relative to the loop.
- no need for bm_face_edge_backwards(), the verts are in order in the loop.
This adds support of movie textures for Cycles rendering.
Uses the same builtin images routines as packed/generated images,
but with some extra non-rna hookups from blender_session side.
Basically, it's not so clear how to give access to video frames
via C++ RNA -- it'll require exposing ImBuf to API, doing some
threading locks and so. Ended up adding two more functions which
are actually bad level call, but don't consider it's so much bad
-- we have few bad calls already, which are actually related.
Changed a bit how builtin images names are passing to image
manager. Now it's not just an ID datablock name, but also a frame
number concatenated via '@' character, which makes itpossible to
easily know frame number to be used for movie images, without
adding extra descriptors to image manager.
Decoding of builtin name is a bit slower now, but it should be
still nothing in comparison with rendering complexity.
Also exposed image user's frame_current to python API, which
is needed to get absolute frame number of movie from node's
image user.
P.S. Generated/packed images are also using bad level call but
only does it to make things more clear here. Either all images
are using C++ RNA here or no images does. That's the most clear
for now.
* rename sculpt_brush_texture_settings to brush_texture_settings
* Expose texture scale and offset in texture paint mode
* Introduce still inactive mapping mode for texture paint, tiled and
view aligned only. Projective paint uses only tiled, while 2d paint can
use both. Commit will come that will use both appropriately for both
modes, omitting fixed brush flag (which is tiled with another name)
Move anchored and rake options away from Sculpt struct and to
UnifiedPaintSettings where they may be used by other tools in the future
(carefree whistle...)
No functionality should change but if it does I'll follow the screams...
CTRL+F in text editor now also works in the button region.
Added generic keymap for it, could get other shortcuts as well. Will leave it to the
maintainers :)
Old fixes, since 2009 and before! Related to Curve object editmode:
- normals are not being drawn for hidden curves anymore
- even worse: Blender also didn't hide the extrusions or bevels for hidden curves
- outside edit mode, it shows all (as for all other modes)
- (de)select-all now works when 1st (or any) handle was hidden.
16bit PNG images were not doing any conversions when saving linear float buffers, but would always load them as SRGB.
apply the same method used for 16bit images from floats as used in jpeg2000.
- Drawing masks in image editor requires LOCK_DRAW_IMAGE around
ED_space_image_get* functions since they'll acquire image buffer.
Lock is needed because viewers will be modified directly in
compositor (see commend in draw_image_main)
- Seems that was wrong order of invalidating render result and
viewer image invalidation happened in Composite node, which
could easily lead to thread lock.
the existence of a float buffer can depend on the image being used in the compositor for example, so better give the user what they expect - 16bit png if its selected from the UI.
You served well and now desired retirement, but you'll always live in our hearts.
And for sure -- monument!
+-------------------------------------------+
/ ++==+ . .. . ... . .. . /
/ // ++==++ ++ ++ ++==++ ++==++ /
/ // // // //\\//\\ // // // // /
/ ++==+ ++==++ // \\ //==++ ++==++ /
/ . ... .. . // .. ... /
+-------------------------------------------+
Some notes:
- Removed all code which was from inside ifdef WITH_COMPOSITOR_LEGACY
- Removed some functions which were used by old compositor only but
weren't ported to new color management
- Removed WITH_COMPOSITOR_LEGACY from build systems
- node_composite_util.h was in fatc used by compo nodes specification
files, so added it back to cmake.
Could be cleaned up by moving header files to files where they're
actually needed but would consider this is a separate task.
- Should be no functional changes!