Submitted By:
Stephane SOPPERA (soppera)
It just increases the max value for gamma correction to 10f. Which
as noted in the patch is the same as the Gimp's color level tool.
Kent
if there was no zbuffer input. However this means a user settings can
be permanently changed without a user knowing. Now it just runs as if
this option is set if there is no zbuffer, but doesn't change the
setting.
The limit in the UI tooltips to set the amount of
images used in animation allow the zero value,
that cause a segfault.
This commit fix the UI, add a init value of 1 to
the node and also check in case that
node_composit_get_image return NULL.
Reversion of premul bugfix, as it was apparently not
working all that well.
Note that this brings back the bug where the erase alpha
paint tool won't display correctly, since the UV image
editor just draws images in key alpha now.
(which basically tells the renderer and compositor to expect a
key image) is now done at the image user level.
This does have some caveats, as image users don't always work
the way I thought they would/should (for example, the same image user
structure is apparently used in the uv image editor for all images,
which is kindof odd).
The UV image editor also now smartly detects if the premul option is
set and draws the image using key alpha, instead of premul
The subversion level was upped to convert the old premul flag, which was at
the image level, to the new one, which is at the image user level.
a premul image but that doesn't work correct. Now it depremuls and
premuls again around the gamma correction. Better solution might be
possible, but this gives compatible results.
compositor node, another in render_realtime_texture. Note that multilayer images
in the image compositor node do not respect the premul flag (though I did write
commented out code for it).
As far as I can tell, the premul option never worked for multilayer images in the
image node, so I'm a little nervous about making it work properly there.
ton, any comments?
I had this assigned to Alfredo for a while, but he hasn't replied to the tracker at all, so I suspect he's not around. I'll commit this now to prevent crashes.
Some of the code in the glare node assumed that all buffers will be 4 channel RGBA, when in fact it was possible to give it a VEC3, such as a spec pass with no alpha, which would crash it. This fix just duplicates the input to a new temporary RGBA buffer to work on, if it's not already RGBA.
using alpha as premul or nonpremul. Quite useful for brightness
tweaks.
Todo: version-patch this so ConvertPremul button goes away
Todo: make entire compositer accept non-premul by default... or both
This completes the pipeline make-over, as started in 2006. With this
option, during rendering, each sample for every layer and pass is being
saved on disk (looks like non-antialiased images). Then the composite
and color correction happens, then a clip to 0-1 range, and only in end
all samples get combined - using sampling filters such as gauss/mitch/catmul.
This results in artefact-free antialiased images. Even Z-combine or
ID masks now work perfect for it!
This is an unfinished commit btw; Brecht will finish this for strands.
Also Halo doesnt work yet.
To activate FSA: press "Save Buffers" and the new button next to it. :)
The 'Determinator' input didn't work at all - there was some quite weird code in there. I think the patch review process could have been quite a bit better on this one.
This is actually just the alpha value as currently being calculated
by the mist code. It is in many cases not very useful to have this as
alpha in shading result, also for postprocess and composite.
Note: this pass also works with "Mist" not set in World, of course.
This commit makes it possible to use relative values when using a Blur node. There
is a new toggle in the node that can be used to enable the feature.
Thanks to David Millan Escriva for contribution!
This commit adds possibility to define black and white level of the
mapping curve of the RGB Curves node. This functionality is exactly
the same found in the Curves tool of the UV/Image Editor. It can be
used to extract wanted color ranges out of the input easily.
Thanks to Björn C. Schaefer for contribution!
Directional Blur node allows the users to do various blur operations on the input
image. It essentially offers three different kind of ways of blurring in one node.
It is possible to blur using a certain direction, spin and zoom. These three ways
can be used in conjunction.
The node contains following controls:
*Iterations, Wrap
*Center: X, Y
*Distance, Angle
*Spin
*Zoom
Iterations is used to determine the smoothness of the result. The more iterations,
the smoother result. Low values are good for preview.
Wrap means that the image is wrapped as if it was tiled on both x and y directions.
To see better what this means, try it with spin for instance.
Center values (X and Y) determine the location which is used as a pivot point for
the operations. It is center (0.5) of the image by default.
Distance and angle are used to adjust directional blur. The result can be described
as a sweep that varies based on given distance (bigger distance, longer sweep) and
angle. Angle is given in degrees.
Spin produces rotating blur based on given angle. Yet again it is in degrees. Also
negative values work.
Zoom causes the image to be zoomed towards set center point (Center values).
Thanks to Alfredo de Greef (eeshlo) for contribution.
Possible development ideas:
*Make an algorithm to extend image in case spin is used. Extend would temporarily
change the size of the canvas of the input image. Canvas would be filled based on
colors on the edges of the input image. After the blur operation has been done,
the image would be cropped back to normal size. The advantage of this would be nicer
result of spin (no problems with image size) on a computational cost.
*Make values animatable. This is something that is better solved on more general
level. ("everything is animatable" paradigm)
*Provide an option to calculate automatic value for iterations. A good value that
produces a smooth result could be calculated based on direction deltas. This would be
useful in conjuction of animatable values.
[#7660] Solaris 10 x86 support (Makefiles)
Hopefully it will not mess up anything for anyone else. I removed
some hardcoded static libs and made NAN_*_LIB definitions so they could be
overridden, to allow greater flexability.
Let me know if there are any problems/questions.
Kent
- update for new particle system
- made blenderplayer.exe compile again (DDS library missing)
- exchanged a few float math functions (logf, sinf, cosf, expf, powf) with their double counterparts in CMP_nodes
(MSVC chokes on them, because the compiler is not C99 compliant)
This option sets the relative scaling factor to the amount set in the
scene "100%/75%/50%/25%" buttons. It's useful when you've got a fixed
background image, and want to do preview renders at a lesser
percentage, so you don't have to go and change the scale node each
time you change the %.
Also removed unnecessary use of a global from texture node.
This commit adds a new node, crop, to the compositor. This node can be used to
crop input image. It has two modes of operation. It can either crop image
size (Crop Image Size option) or crop while retaining original size of the
image. This latter mode can be used to preview the crop.
Use X1, Y1, X2, Y2 controls to manage the area to be cropped.
Note that I added a check for image preview min and max values to node_update.
This is because it could give inappropriate values in certain cases when
Crop Image Size option was toggled (values such as x1=0, y1=0, x2=60, y2=0 would
result in eternal loop due to bad min and max (min bigger than max!)). The check
makes sure that min and max values are always valid.
Previously if the texture node was not connected directly as the
second input to a node like Mix, the size of the generated image
was initialised to 140x140, which is not that useful. It now is
initialised to the size of the render result if it exists, and if
not, the size of the scene render sizeX/sizeY.
This alleviates bug #7068, which is caused by the displace node
trying to get pixels from a texture node, where the texture node
doesn't contain pixels to cover the entire image (only 140x140)
but it's not really a bulletproof solution...
of the nodes, I realized I had strayed from the path of enlightened blending
by causing the math node to create an output the size of the larger of the
two inputs.
It has been corrected create the output the size of the
first image, and in its abscense the second image. In the event of
nether input containing image data the node does not function. I also
added some early out checks at the beginning of the function to speed it
up a tad in these cases and commented the code a bit more.
* Geometry node: Front/back output
This is used as a mask for determining whether you're looking at the front side or back side of a mesh, useful for blending materials, my practical need was giving different materials to the pages of a magazine: http://mke3.net/blender/etc/frontback-h264.mov
Give 1.0 if it's the front side, and 0.0 if it's the back side.
* Extended material node
This is the same as the material node, but gives more available inputs and outputs, (basically just connecting up more of ShadeInput and ShadeResult to the node). I didn't want to add it to the normal simple Material node since you don't always need all that stuff, and it would make the node huge, but when you do need it, it's nice to have it.
== Comp nodes ==
* Invert node
Inverting is something that happens all the time in a node setup, and this makes it easier. It's been possible to invert previously by adding a mix node and subtracting the input from 1.0, but it's not the best way of doing it. This node:
- makes it a lot faster to set up, rather than all the clicking required with the mix node
- is a lot more usable amidst a complex comp setup, when you're looking at a node tree, it's very helpful to be able to see at a glance what's going on. Using subtract for inverting is easily mixed up with other nodes in which you are actually subtracting, not inverting, and looks very similar to all the other mix nodes that usually litter a comp tree.
- has options to invert the RGB channels, the Alpha channel, or both. This saves adding lots of extra nodes (separate RGBA, subtract, set alpha) when you want to do something simple like invert an alpha channel. I'd like to add this option to other nodes too.
There's also a shader node version too.
* Also a few fixes that I committed ages ago, but seems to have been overwritten in Bob's node refactor:
- adding new compbufs to the set alpha and alphaover nodes when you have only one noodle connected to the lower input
- making the fac value on RGB curves still work when there's nothing connected to it