Age | Commit message (Collapse) | Author |
|
|
|
- remove some warnings
- fix typos
- cmake allow in-source build (when WITH_IN_SOURCE_BUILD is defined)
- cmake, use an explicit list of rna files (don't glob)
|
|
Compositing, lens distortion node: it delivered RGBA out with alpha zero,
making it not draw previews, violates both premul or straight alpha usage.
Now it just sets alpha to 1 for entire output.
Cleaned code readability a bit as well.
|
|
Clamped the maximum displacement distance to 4 x the input image dimensions - prevents hanging when vary large values are mistakenly plugged in, such as Z buffers,
|
|
[#26945] Hue Correct doesn't Hue But Rather Saturate
thanks!
|
|
- Colormanagement code was gamma correcting non-RGBA buffers in composite.
(Like vector buffers).
- Crash on using "use Color Management" button during composites, because
it was freeing all node images. Added code to stop first jobs before
freeing. It sends notifier for recomposites after free anyway.
|
|
was not working correctly for negative numbers.
|
|
|
|
using a different method.
|
|
|
|
|
|
Compositor/texture nodes: math node now allows to use pow() for
negative raising too, but only when that value is near-integer.
For other negative cases result is zero.
Patch provided by Aurel W
|
|
|
|
Fast-gauss node didn't respond to socket-input "Size" factor.
Thanks Philipp Oeser for the fix!
|
|
python functions.
- use NULL rather then 0 where possible (makes code & function calls more readable IMHO).
- set static variables and functions (exposed some unused vars/funcs).
- use func(void) rather then func() for definitions.
|
|
different sizes for x/y blurring in relative mode, but choose to use aspect correction on either of the axes.
|
|
relative to both axes or just either width or height.
|
|
header is now by default the node type string. A custom label callback can be implemented to display more detailed information. This is currently used by group nodes, which display their internal tree name, and math, vector math, mix and filter nodes, which use their internal operation sub-type. Also the node tree selection/naming box for groups is now displayed only on open groups, to make it clearer that this is the internal type of the group and get a cleaner main tree.
|
|
types should now use the node_type_* definition helpers to initialize their bNodeType structs.
|
|
|
|
|
|
inputs. These were only working with single values.
|
|
Texture node was using the preview buffer instead of socket output buffers, which is already free'd at that point.
|
|
Compositor: Texture Node now behaves like an image.
- Image always in render output size
- Buffer outputs RGBA and Value both supported
- Works for filter and blur and scaling too.
- Mixing 2 textures works
Implementation note:
The texture node was meant to be 'procedural', not a buffer
but a color-sample method. Unfortunately the node editor
didn't support this well, blur/filter/scale ignored it too.
For now, its better to drop this procedural concept, then
things work at least as expected. :)
|
|
|
|
OpenMP now in that case, since it's only an optimization.
|
|
combine/separate nodes.
|
|
The texture node is procedural; like RGB node it has no real buffers,
but allows per-pixel reading. The compositor uses nodes that directly
access buffers too, which conflicts with it... needs more design here.
Restored old functionality that just passes on preview size buffers
for nodes to prevent crashes. Giving it a render-size buffer is not
nice; the resolution-independence of texture nodes is interesting to
keep.
Solution could be:
- visually tag input/output sockets for this case (sockets with buffers,
vs sockets with values), so users know what to expect.
|
|
Compositor: Texture node only allowed 1 user, with more nodes using it
there was a thread conflict, using same memory for writing values.
Also: brought back the original intention for texture nodes, which is to
be using a "procedural image", not allocating memory for a buffer, but
only allowing to read per pixel. Commit in 2007 (!) allocated full buffers
for texture nodes, without using them even.
|
|
accessed by the UI at the moment, but could eventually be used for saving test-renders.
The main reason to have this is so renders can be scripted to write to a specific file without having to do annoying tricks like set a dummy start/end frame range, render an animation and work out the current frame image will be written to, then rename after rendering.
Also made some 'char *' args into 'const char *'
|
|
|
|
ZCombine node in compositor ignored alpha values. Enabling it
would break compatibility though, so it's a tickbox option now.
Patch provided by reporter, Martin Lubich. Thanks!
|
|
- removed deprecated bitmap arg from IMB_allocImBuf (plugins will need updating).
- mostly tagged UNUSED() since some of these functions look like they may need to have the arguments used later.
|
|
* non-rgba passes shouldn't use color correction
|
|
|
|
skip blur x/y when either is set to zero.
|
|
|
|
also fix memory leak.
|
|
this is because of fairly confusing logic, when an SRGB image has a float buffer added its always LINEAR, so we have to account for this elsewhere.
So the conversion from byte to float works like this:
* NONE -> NON-LINEAR
* SRGB/LINEAR -> LINEAR
...but none change the profile variable.
|
|
image node was modifying the original buffer color management, now only modify a copy.
|
|
from Alexander Kuznetsov (alexk)
--- copied from the tracker
Every image inside Blender is in linear color space and gets converted to SRGB upon saving.
Level node analyzed the linear image, which was not the one user saw because other output nodes converted image to
sRGB.
This fix analyzes the image that user see (converting it to correct color space).
Here is difference:
http://www.pasteall.org/pic/show.php?id=5559
First histogram (before the fix) tells that image is underexposed, which is not the case.
|
|
|
|
from Jeroen Bakker (jbakker)
|
|
(previously only used constant values)
|
|
good.
|
|
unused vars from CMP_chromaMatte.c
|
|
-1..1) to fix errors in keying. Simplified chroma key to not take
despill into consideration (handled elsewhere). Simplified user
interface for pieces not used.
|
|
|
|
nodes (inverting sign was impossible using value input in CMP before).
|
|
|