Commit Graph

318 Commits

Author SHA1 Message Date
Lukas Toenne
24db3d17aa Per-type node labels and customizable names. The label displayed in the node 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. 2011-02-08 12:54:32 +00:00
Lukas Toenne
803c7fb4d4 Finished the node type definition cleanup started in r34682. All static node types should now use the node_type_* definition helpers to initialize their bNodeType structs. 2011-02-08 09:02:16 +00:00
Lukas Toenne
2070356a32 A simplified way of defining bNodeType structs. Instead of doing full struct member initialization for each node, this uses a couple of helper functions now. This will make it easier to change and extend the bNodeSocket interface in the future. Two examples (normal and mapping shader nodes) included, the rest should be converted too. 2011-02-07 09:33:36 +00:00
89c617a116 remove nan-makefiles 2011-01-30 15:29:22 +00:00
1bd0db59f4 use cmake defined names for jpeg, png, zlib and python libs, building on *nix with non-standard libjpeg/png/zlib locations was broken.
in the case of python this makes it easier to move to find_package(PythonLibs) when 3.x is supported.
2011-01-25 14:43:13 +00:00
e2f9006bd3 set variable as unused. 2011-01-19 19:58:44 +00:00
Lukas Toenne
450288999c Changed Brightness/Contrast node to use also buffer inputs for the B/C inputs. These were only working with single values. 2011-01-19 13:32:59 +00:00
0828710204 Bugfix #25657
Three code fixes for 1 report. User experienced crashes while
painting on float buffer + having preview renders on.

- Texture Nodes: Image was re-allocated without using
  proper thread lock
- Paint code: old convention to free the byte rect from
  a float image as signal to re-create now is a proper
  flag. This keeps image memory unchanged. Nice for render.
- Imbuf: call to make a byte rect from float was freeing
  mipmaps unnecessary.
2011-01-17 18:16:10 +00:00
6ef1f23a33 Bugfix, IRC report
Texture nodes: including output node in group crashed when it got
connected. Note that this feature is not supported to do anything
else than temporarily giving an output when editing node groups.
2011-01-16 17:12:02 +00:00
Lukas Toenne
dbb5e5dec2 Fix for 25655: Crashes with texture node in compositor.
Texture node was using the preview buffer instead of socket output buffers, which is already free'd at that point.
2011-01-16 16:00:06 +00:00
4cc4a73a9e feature request from colin levy, camera lens stamp. 2011-01-13 19:16:35 +00:00
89c9aaaa25 remove references to BKE_utildefines where its not needed.
- move GS() define into DNA_ID.h
- add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07 19:18:31 +00:00
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
b67d08c3c7 Todo item:
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. :)
2011-01-06 14:58:58 +00:00
5f64450726 remove assignments which are unused. 2011-01-06 01:29:13 +00:00
5e382eb8e5 rename blenderlib to blender_add_lib 2010-12-22 23:09:30 +00:00
0a7853478f Workaround #22856: defocus node with OpenMP could crash on Mac, just disabled
OpenMP now in that case, since it's only an optimization.
2010-12-16 14:49:50 +00:00
bfe5ae9ff1 Compositor: Add an option to select the YCbCR conversion mode for the YCbCR combine/separate nodes. 2010-12-13 21:17:00 +00:00
e5a9dd928a Bugfix #25086
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.
2010-12-08 13:19:27 +00:00
afacd18498 use lowercase for cmake builtin names and macros, remove contents in else() and endif() which is no longer needed. 2010-12-08 08:43:06 +00:00
263830f000 Enabled GCC -Wwrite-strings warning for CMake and replaced many 'char's for 'const char's,.
Only one functional change where Transform orientations passed "" to BIF_createTransformOrientation() which could then have the value written into.
2010-12-03 17:05:21 +00:00
cd97253502 - added GCC warning -Wstrict-prototypes
- fixed bug in paste material, exposed by stricter warnings.
- removed/renamed various shadowed vars.
- removed BGE lamp.colour, only allow lamp.color attribute.
2010-12-03 12:30:59 +00:00
e8397e6193 include headers in cmake source, added a script to check for consistency, reporting missing headers & C files.
this is important so IDE's using CMake integration always get blender headers. - QtCreator & MSVC for eg, probably others too.
2010-11-29 04:35:56 +00:00
d01054da0f Bugfix #24933
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.
2010-11-28 18:34:16 +00:00
3892bef1f1 Fix #24596: specular toggle on material didn't work correct. 2010-11-22 22:23:50 +00:00
cd2ab75b73 - include pthreads for win32 globally (as with opengl).
- MSVC CFLAGS were being set by only checking WIN32, (breaking non-msvc win32 builds)
2010-11-21 09:10:50 +00:00
1e245cc589 option to write images to a files on single frame renders, this isn't 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 *'
2010-11-16 14:40:46 +00:00
8fee983619 patch from Dan Eicher to support intel C++ compiler for CMake on *nix. 2010-11-15 05:32:49 +00:00
0b23f03503 Bugfix #24335
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!
2010-11-12 14:59:01 +00:00
0a467d5183 bugfix [#24682] Render artifacts with mat node 2010-11-12 12:45:55 +00:00
0876fce009 rename and negate DISABLE_PYTHON --> WITH_PYTHON 2010-10-31 04:11:39 +00:00
905c5f7948 bugfix/patch [#24431] Fast Gaussian produces wrong results for higher resolutions
report & fix from Martin Lubich (loramel)

Use double rather then floats, this doesn't use significantly more memory (as allocating a double buffer would), other vars in this function were doubles already so may even gain some speed.
2010-10-28 12:29:59 +00:00
c6976e7351 use explicit file paths for CMake rather then globing, This is recommended by cmake devs.
globbing vs explicit is discussed here.
http://www.cmake.org/pipermail/cmake/2008-December/025694.html

Practical implications are:
- developers need to keep CMakeLists.txt files up to date.
- Users wont get strange linking errors if they build after a file is added, since CMake detects CMakeLists.txt is modified and automatically reconfigure.
2010-10-23 04:05:55 +00:00
8268a4be71 most unused arg warnings corrected.
- 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.
2010-10-16 14:32:17 +00:00
db09ca106d remove/tag unused args for view*.c, gpu*.c & image*.c 2010-10-15 12:29:02 +00:00
62f4d613d0 Fix for [#24208] ObjectId information is wrong when read from multilayer exr
* non-rgba passes shouldn't use color correction
2010-10-13 13:10:35 +00:00
544b3178f9 bugfix [#24225] Blur Node ignores gamma option when size has input. 2010-10-11 21:08:26 +00:00
b0b7354d5c [#23709] Blur node on Flat blurs even at 0 by 0 pixel spread
skip blur x/y when either is set to zero.
2010-10-11 20:53:20 +00:00
0d3f0ff08e Fix #23901: displace node not working with negative values. 2010-09-25 11:30:46 +00:00
9387d46772 bugfix [#23948] Alpha from images inside compositor is gone
also fix memory leak.
2010-09-22 14:13:34 +00:00
d0e13b331f Error reported by Daniel Salazar, Compositor color is wrong since my fix.
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.
2010-09-21 01:40:20 +00:00
d81315e9d2 bugfix [#23706] SEGFAULT: File Load of EXR
image node was modifying the original buffer color management, now only modify a copy.
2010-09-18 07:19:32 +00:00
ab07ba84bf patch [#23703] Fix for Level compositing node; correct color representation
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.
2010-09-07 02:36:51 +00:00
2406ebe1a4 - added back zlib include (needed for win32).
- use list append in more places.
- remove non existing include dir.
2010-09-07 01:13:10 +00:00
04b0dcd9e5 - use list append in more places (preferred method since its faster)
- remove some unused include paths
- remove unused linux path define
2010-09-06 10:15:41 +00:00
Nathan Letwory
37b54281b2 Fix indentation errors 2010-08-29 21:38:59 +00:00
Nathan Letwory
6c113b54b3 Finally change SConscript tabs to spaces. 2010-08-29 20:52:05 +00:00
c2e43d7c3b Tweaks to ASC-CDL colour balance formula to exactly match the spec. 2010-08-29 04:48:00 +00:00
b76176faff patch [#23537] Memory leak in compositor rotate node
from Jeroen Bakker (jbakker)
2010-08-27 22:09:24 +00:00
75c176f56e Allow per-pixel inputs into displace node x and y scale
(previously only used constant values)
2010-08-25 07:43:38 +00:00