Basically they're aimed to solve issues when scene with sky
was used for compositing. If compo used alpha output result
of current trunk would be completely different form hwo it
was before.
Two heuristics here:
- If there's no world or world color is black, it completely
equals to straight alpha mode, no further magic is needed
to preserve compatibility
- If scene is used as Render Layer node and something is
connected to Alpha output of this node, ensure alpha mode
for this scene is set to Premultiplied.
Basically it shall give better compatibility and make
4K mango project just happy! :)
The use alpha option moved from the texture datablock to the image, and now it
will duplicate the image datablock in case you have one texture using alpha and
the other not.
* No context-aware at all.
* Always translated (when i18n was enabled).
Now, it will try tu use RNA struct/property context if available, unless you specify a context within optional "text_ctxt" parameter.
And you can prevent translation by setting 'translate' parameter to False (is True by default).
Will clean up code in a later commit (remove PROP_STRING_PY_TRANSLATE flag and related code), and also fix uilist templates to translate no more materials/textures/etc. names!
As per discussion and analysis of all trackpad usage, we now
follow this convention:
- Blender follows system setting for trackpad direction preference.
- If you set your system to "natural" scroll, we need to invert a couple
of cases in Blender we do "natural" already. Like:
- view rotate (the inversed option just never feels ok)
- scroll active items in list or pulldown menu (up/down is absolute)
- ALT+scroll values in buttons (up/down is absolute)
The new User Preference setting "Trackpad Natural" handles this.
For 2.66 we only have trackpad handling for OS X... so this isn't
affecting trackpad usage in Windows and Linux, which stick to be mapped
to Scroll Wheel still.
(Note: viewrotate now is "natural" always, changing how it worked in the
past weeks).
Issue is solved for painting on byte buffer with default sRGB display enabled.
In this case it is possible to skip any color space transform and just apply
dither if needed.
Still not sure if there's a regression in painting on flaots or not, will
continue investigation.
Issue was caused by alpha pipeline cleanup: apparently depending on
use_alpha flag different channels for spec/alpha would be used.
Made it so talpha is computed from Image->ignore_alpha instead of
always considering to be TRUTH.
This is not so much trivial to understand what's going on here, but
it's not new issue. Anyway, if someone have got ideas how to improve
feedback here -- ideas are welcome! For now only regression is fixed.
This was caused from using theme shadow setting to clip the popups and a hard-coded value to translate the popup within screen bounds - these values should be the same.
The group node operators offset nodes when moving them between node trees, but this should only be done for "free", un-parented nodes not attached to a frame, otherwise the node loc is relative to the parent node.
Linked Armature with local proxy, using feature "Custom shape at other bone" stopped working
on undo/redo.
It was actually a bug in the original commit (r26600, april 2010), storing a pointer from
the library bone into the local proxy bone.
That's strictly forbidden in Blender, but it never showed up because on every undo-redo a
complete proxy-sync was called again. To allow undo/redo I had to disable this syncing,
except for file load. Hence the feature got lost :)
The fix is simple; just store the pointer to its own local bone instead.
belongs to more than one chain
For example:
/----->C
A-->B-:
\----->D
If bone B is selected, then it would get operated on twice, creating the
illusion that it had not been operated on. This is because we traverse up the
chains (child to parent) as the EditBone structure only stores parent to
children relationships only. A second invocation of this operator would then
work fine, as all the links to other bones would have been removed, thus
preventing further problems.
Fixed by tagging bones that have been operated on.
from regular diffuse to more shiny, stone, wax, eflective, glass and two non-realistic ones.
The menu now shows it in 3 rows. I made the previews a bit smaller, 96 pixels,
like the brushes for painting.
Thanks everyone for submitting pics! I updated the credit file too, but name
from one person is missing still, will be added next.
Issue was caused by couple of circumstances:
- Normal Map node requires tesselated faces to compute tangent space
- All temporary meshes needed for Cycles export were adding to G.main
- Undo pushes would temporary set meshes tessfaces to NULL
- Moving node will cause undo push and tree re-evaluate fr preview
All this leads to threading conflict between preview render and undo
system.
Solved it in way that all temporary meshes are adding to that exact
Main which was passed to Cycles via BlendData. This required couple
of mechanic changes like adding extra parameter to *_add() functions
and adding some *_ex() functions to make it possible RNA adds objects
to Main passed to new() RNA function.
This was tricky to pass Main to RNA function and IMO that's not so
nice to pass main to function, so ended up with such decision:
- Object.to_mesh() will add temp mesh to G.main
- Added Main.meshes.new_from_object() which does the same as to_mesh,
but adds temporary mesh to specified Main.
So now all temporary meshes needed for preview render would be added
to preview_main which does not conflict with undo pushes.
Viewport render shall not be an issue because object sync happens from
main thread in this case.
It could be some issues with final render, but that's not so much
likely to happen, so shall be fine.
Thanks to Brecht for review!