Commit Graph

1091 Commits

Author SHA1 Message Date
824ec5a388 code cleanup: case & brace placement 2013-07-19 10:40:43 +00:00
352c1e500d style cleanup 2013-07-17 14:14:50 +00:00
c7e2c3f5e1 Possible fix for [#36086] Activating the opencl option in the compositor causes blender crash
* Now OCL_init() returns error messages if the OpenCL library cannot be loaded.
2013-07-17 12:57:03 +00:00
1dd7156c4c Fix #36058: Displace Modifier errors using a baked Image and displace baking inconsistency between 2.67/2.68RC and previous versions
This was in fact really nasty bug, caused by multitex_nodes
function using global variable R (which is a copy of current
renderer). this variable is not initialized to anything
meaningful for until first rendering (preview or final)
happened.

Since multitex_nodes might be used outside of render pipeline,
made it so whether CM is on or off as an argument to functions
multitex_ext_safe and multitex_ext. Now multitex_nodes() is
only shall be used for stuff happening from render pipeline!

Also needed to make some changes to other places, so all the
usages of texture sampling knows for the fact whether CM is
on or off.

And one more change is related on behavior of dispalcement,
wave, warp, weightvg modifiers and smoke. They'll be always
using CM off since texture is used for influence, not for
color.

It's rather bigger patch, but it's mostly straightforward
changes, which we really need to be done.

Reviewed by Brecht, thanks!
2013-07-15 14:47:58 +00:00
9c8516703d replace strncpy with BLI_strncpy for cases we expect the string to be NULL terminated. 2013-07-14 22:08:56 +00:00
fe76c4ec8e fix for missing break with compositor levels (blue passed through to luminance) 2013-07-13 12:14:04 +00:00
99e97afbe3 Fix #35586: add an option to the Z Combine compositing node to disable the Z
buffer antialiasing that was restored in 2.67 after it was missing in the new
compositor implementation.

This option tends to make results worse rather then better for Cycles renders,
but is useful for Blender internal. Their Z-buffers look quite different for
antialiasing, and I'd rather not change either.
2013-07-12 20:15:22 +00:00
Lukas Toenne
0cc9b45294 Fix #36041, Chroma key broken. Compositor node was using wrong socket index to link the output of the RGBToYCC operation to the chroma matte input.
This mistake happens over and over, it's just not clear what the index arguments in these relink functions mean ... We really need to clean up that interface.
2013-07-10 07:23:55 +00:00
12d5340a5a Fix non-conditional out-of-bounds memory access in DoubleEdgeMask node 2013-07-04 17:57:03 +00:00
c9e56955cf Fix deadlock in coordinate wrapping operation with zero dimension 2013-07-03 15:33:14 +00:00
d492a9ffa9 Fix for
* [#35922] RGB Input Node doesn't work properly
2013-06-30 13:35:00 +00:00
54db7f1b43 Buildbot: disable command length workaround for now, seems to give link errors. 2013-06-25 00:49:43 +00:00
d54b2391c4 Buildbot: another workaround for the Windows command length limit, this time
with the freestyle module which has 242 cpp files.
2013-06-25 00:11:04 +00:00
cd8959c4bf Attempt to workaround mingw64 buildbot issue with Windows command length limits,
by splitting the compositor module into 3 parts. The operating system limit is
32767, which gives less than 120 characters per file with 272 cpp files.
2013-06-24 23:55:50 +00:00
8b2c5e693c Fix #35634: weight paint did not do z-buffer culling anymore on Windows after recent change to size of bool. 2013-06-13 17:11:09 +00:00
54a42a4254 Fix crash in movie clip node when ibuf fails to load.
Was a stupid mistake in another fix here :(
2013-06-13 10:25:41 +00:00
9aa088bab6 Track Position node now could output absolute position of track at a given frame 2013-06-12 14:28:36 +00:00
ba3a1067fa Remove magic constants from Track Position node RNA code. 2013-06-12 12:55:44 +00:00
603289ffb2 Fix for bug [#35400] Dilate Erode Feather Bug - feathering wraps around image 2013-06-08 19:56:11 +00:00
834492489a Fix #35599: MovieClip node crashes when using multilayer exr
Multilayer EXR is not supported as a source for movie clip yet,
but there's no excuse to crash!
2013-06-02 19:55:57 +00:00
225c5fee6b move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)
remove MEM_sys_types.h which was a duplicate.
2013-05-28 19:35:26 +00:00
fc7c0506b8 bmo_subdivide_edgering.c now builds with release+debuginfo, also remove unused defines and correct include guards. 2013-05-28 16:35:47 +00:00
6de829cb7a code cleanup: split scons includes onto multiple lines, reduce chance of include conflicts later on. 2013-05-20 18:42:28 +00:00
38dc85f296 Math Node:
* Added a Modulo operation to the math node, available in Compositor, Shader and Texture Nodes.
2013-05-20 14:38:47 +00:00
040279679c Comment out coordinates mapping made in rev55469
Such mapping only worked foe compositor output node
(with some issues btw) and failed dramatically for
nodes like previews and viewers.

For now let's behave the same way as border+crop
worked in 2.66 for until proper feature support
is ready (which could take some time).

Fixes #35313: object and ID anti-aliased masks get messed up
              when using border render + crop
2013-05-18 12:21:01 +00:00
27baa34ba4 Fix #35369: Crop node or FileOutput node bug.
Issue was caused by file output node actually,

The thing here is, compositor output does have fixed
resolution and we could predict how to map coordinates
for border and cropping in that case.

But viewers and file output nodes are currently totally
depending on an input resolution. Could not see how
border could be applied reliably in this cases.

Disabling border option for file output node, so
now it shall behave the same way as it was before.

Discovered issues when using cropping to render border,
namely there's an offset in viewer nodes and previews,
but this is separate issue i guess (file output seems
to work fine). Will revisit this issue in next days.
2013-05-17 13:02:03 +00:00
Lukas Toenne
bcf91e5c91 Fix for #35349, multiple viewers nodes crashing during render. The condition for activating viewer nodes was completely overridden during renders. Changed this so viewer nodes are active only if both of these are true:
1) the node is tagged for recalc OR compo is in render mode
2) it is the currently active viewer (so only one viewer ever writes to the buffer)
2013-05-14 10:42:30 +00:00
cfbf9c324b style cleanup 2013-05-14 06:58:35 +00:00
356d4c3085 Fix #35330: Blur node crash due to size overflow
Issue was caused by too hight value used for size,
which came from infinite Z-buffer point.

Solved the crash by clamoing maximal gaussian table
radius to 30K, which seems to be reasonable.
2013-05-13 11:52:04 +00:00
fa4ef0828e Fix #35327: compositing Z combine node was not giving the same result as previous
versions when the Z values were the same, Also was inconsistent between full sample
on/off.
2013-05-13 10:40:42 +00:00
Lukas Toenne
b503af3d37 Fix for #35291, Deleting 'Group Output' node in compositor causes Segfault. A group without an output node in compositor would leave the original Node instance in the graph with outgoing connections. This causes trouble because the Node is expected to be a NodeOperation. Now group nodes always get disconnected and if no output node is present will use the default group output values (which is slightly less confusing than using input values from connected nodes). 2013-05-10 12:19:42 +00:00
c97983c9de correction for uv template, also some doxygen comment corrections. 2013-05-05 18:41:45 +00:00
2810331119 minor changes, BLI_uvproject_from_view was doing matrix multiply for no reason, quiet float/double warning. 2013-04-27 21:56:28 +00:00
Lukas Toenne
6cdc12dc74 Fix for #34739 and #35060, avoid ambiguity in compositor viewer nodes.
The design changes coming with pynodes for the node editor allow editing multiple node groups or pinning. This is great for working on different node groups without switching between them all the time, but it causes a problem for viewer nodes: these nodes all write to the same Image data by design, causing access conflicts and in some cases memory corruption. This was not a problem before pynodes because the editor would only allow 1 edited node group at any time. With the new flexibility of node editors this restriction is gone.

In order to avoid concurrent write access to the viewer image buffer and resolve the ambiguity this patch adds an "active viewer key" to the scene->nodetree (added in bNodeTree instead of Scene due to otherwise circular DNA includes). This key identifies a specific node tree/group instance, which enables the compositor to selectively enable only 1 viewer node.

The active viewer key is switched when opening/closing node groups (push/pop on the snode->treepath stack) or when selecting a viewer node. This way only the "last edited" viewer will be active.

Eventually it would be nicer if each viewer had its own buffer per node space so one could actually compare viewers without switching. But that is a major redesign of viewer nodes and images, not a quick fix for bcon4 ...
2013-04-24 16:36:50 +00:00
fcf137dbd7 style cleanup 2013-04-08 04:39:09 +00:00
63d523336f freestyle lineset tag attribute was defined but not used, also some code cleanup. 2013-04-07 01:38:03 +00:00
93ac968db3 code cleanup: include order 2013-04-05 17:56:54 +00:00
cf76d73b83 code cleanup: quiet some warnings and style 2013-04-05 15:45:10 +00:00
Lukas Toenne
7fbebe6702 Fix for compositor bug found by Ton Roosendaal. Color Balance node was using wrong socket index to map the operation socket to the UI node socket. 2013-04-05 11:02:32 +00:00
6418cd92b2 Fix for 34703 Mix node (Hue, Saturation) update and rendering error
Fix for 34494 Blender 2.65 regression test error - compo_map_uv_cubes.blend - stripe/artifact between cubes

Hue and saturation node has an early break when saturarion is 0. When this happened the input 1 color needed to be used. This behaviour was not merged.

When no FSAA is used in the ZCombine. a mask will be created, this mask will be antialiased and based on this mask the colors between the two images are blended. This was also behaviour that was not merged correctly. Now it is back making much better z-combines.

Hope nobody uses these gabs as a work around.

 - At Mind -
Jeroen & Monique
2013-04-04 19:53:30 +00:00
ed792b5de0 Box and Ellipse mask nodes will now output shape
even if nothing is attached to input.

They'll use black image with render resolution
as a background if nothing is attached to mask input.

Was a request from 4K ToS project.
2013-04-02 17:56:41 +00:00
1777a69818 misc minor edits.
- pass string size to BLI_timestr() to avoid possible buffer overrun.
- quiet warning for mingw.
- include guards for windows utf conversion funcs.
- fix for mistage in edge-angle-selection check.
- some style cleanup.
2013-03-29 06:25:22 +00:00
Lukas Toenne
b58ffcce86 Fix #34758, another Crash with NodeGroup. Took a while to get to the bottom, but the root of the issue was that nested node groups (groups inside other groups) were ungrouped ("inlined") repeatedly. This lead to preview operations being added to the same group more than once, and the redundant preview operations (beside working on the same preview buffer) did not get their correct resolution set. This in turn would then lead to previews writing beyond allocated size and causing corrupted memory + crash.
Simple fix: don't expand node groups more than once.
2013-03-25 11:08:14 +00:00
e1a54214bb code cleanup:
- remove unused defines.
- quiet some shadow warnings.
- bevel, ifdef out some asserts that are too common.
- style
2013-03-25 02:41:30 +00:00
92d7955d13 fix for struct definition building with msvc2008 and some style cleanup. 2013-03-24 01:19:55 +00:00
16618bc3a8 Add missing comment for m_isResolutionSet 2013-03-22 14:54:02 +00:00
19476cead4 Enable previews for inactive compo output and viewer nodes.
This keeps old behavior and could be nice. However, it'll
make compositing slower  (doing final compo after editing
tree). This is easy to hide preview in this case, and also
i hope to implement percentage rendering soon.
2013-03-22 10:10:21 +00:00
Lukas Toenne
f11f6d179e Fix for compositor node preview sizes: Use the render output aspect ratio for estimating the required preview rect size instead of assuming a square, to avoid wasted space. Note that this does not work for newly added nodes until they have first been evaluated and a preview image has been generated (same behavior as before pynodes merge and associated preview changes). 2013-03-22 08:50:56 +00:00
dd0e2da784 code cleanup: use booleans and const's for operator vars. 2013-03-22 04:40:45 +00:00
Lukas Toenne
8ff3fa8ab2 Fix for Render Layers node, reported by Jason van Gumster (Fweeb) on IRC. The render layer operations need their RenderData pointer set. This was done for all connected output operations, but not for the preview operation which uses the image color layer. In case the image output is unconnected this leads to NULL pointer access. 2013-03-21 20:31:09 +00:00