Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-03-09style cleanup: comment blocksCampbell Barton
2012-03-09code cleanup: replace macros VECCOPY, VECADD, VECSUB, INPR - with BLI_math ↵Campbell Barton
funcs. added copy float/double funcs: copy_v3fl_v3db(), copy_v3db_v3fl(). 2d & 4d too.
2012-03-09style cleanup: spelling.Campbell Barton
also remove large, duplicate comments from sunsky.h
2012-03-08Cycles: support for environment texture "Mirror Ball" projection mode, next toBrecht Van Lommel
existing "Equirectangular". This projection is useful to create light probes from a chrome ball placed in a real scene. It expects as input a photograph of the chrome ball, cropped so the ball just fits inside the image boundaries. Example setup with panorama camera and mixing two (poor quality) photographs from different viewpoints to avoid stretching and hide the photographer: http://www.pasteall.org/pic/28036
2012-03-07Cycles: float texture support. Due to GPU limitations there are now 95 byte,Brecht Van Lommel
and 5 float image textures. For CPU render this limit will be lifted later on with image cache support. Patch by Mike Farnsworth. Also changed color space option in image/environment texture node, to show options Color and Non-Color Data, instead of sRGB and Linear, this is more descriptive, and it was not really correct to equate Non-Color Data with Linear.
2012-03-06style cleanup, brackets in else/if, some indentation.Campbell Barton
2012-03-06Fix for crash when loading some mango filesSergey Sharybin
Seems that issue is caused by several threads accessing to movie clip and one of the threads (compositor node) was editing ImBuf which isn't nice anyway.
2012-03-02style cleanupCampbell Barton
- spelling - turns out we had tessellation spelt wrong all over. - use \directive for doxy (not @directive) - remove BLI_sparsemap.h - was from bmesh merge IIRC but entire file commented and not used.
2012-03-02Fix #30405: combine HSVA node not working correct with fixed color insteadBrecht Van Lommel
of socket connected as input, patch by Denis Declara.
2012-03-01Same fix for file output node as Brecht did in r44580, EXR compression is ↵Lukas Toenne
defined in exr_codec instead compression.
2012-03-01Spelling CleanupCampbell Barton
2012-03-01When adding a file output socket make it active, for convenience. Also move ↵Lukas Toenne
back one index when deleting the last.
2012-03-01Fix for wrong channel number in ImBuf when file node output format is ↵Lukas Toenne
something other than RGBA. This doesn't get set in the init function, has to be done manually (i guess?).
2012-03-01A number of improvements for the file output node(s).Lukas Toenne
1) Old CMP_NODE_OUTPUT_FILE and CMP_NODE_OUTPUT_MULTI_FILE have been merged, only CMP_NODE_OUTPUT_FILE remains. All functions renamed accordingly. 2) do_versions code for converting single-file output nodes into multi-file output nodes. If a Z buffer input is used, the node is made into a multilayer exr with two inputs. (see below). Also re-identifies multi-file output nodes with the CMP_NODE_OUTPUT_FILE type. 3) "Global" format is stored in node now. By default this overrides any per-socket settings. 4) Multilayer EXR output implemented. When M.EXR format is selected for node format, all socket format details are ignored. Socket names are used for layer names. 5) Input buffer types are used as-is when possible, i.e. stored as B/W, RGB or RGBA. In regular file output the format dictates the number of actual channels, so the CompBuf is typechecked to the right type first. For multilayer EXR the number of channels is more flexible, so an input buffer will store only the channels it actually uses. 6) The editor socket type is updated from linked sockets as an indicator of the actual data written to files. This may not be totally accurate for regular file output though, due to restrictions of format setting.
2012-02-27Implements a new operator for detaching nodes. In the process i overhauled ↵Lukas Toenne
the node muting system as well. There are a number of features that use a kind of "internal linking" in nodes: 1. muting 2. delete + reconnect (restore link to/from node after delete) 3. the new detach operator (same as 2, but don't delete the node) The desired behavior in all cases is the same: find a sensible mapping of inputs-to-outputs of a node. In the case of muting these links are displayed in red on the node itself. For the other operators they are used to relink connections, such that one gets the best possible ongoing link between previous up- and downstream nodes. Muting previously used a complicated callback system to ensure consistent behavior in the editor as well as execution in compositor, shader cpu/gpu and texture nodes. This has been greatly simplified by moving the muting step into the node tree localization functions. Any muted node is now bypassed using the generalized nodeInternalRelink function and then removed from the local tree. This way the internal execution system doesn't have to deal with muted nodes at all, as if they are non-existent. The same function is also used by the delete_reconnect and the new links_detach operators (which work directly in the editor node tree). Detaching nodes is currently keymapped as a translation variant (macro operator): pressing ALTKEY + moving node first detaches and then continues with regular transform operator. The default key is ALT+DKEY though, instead ALT+GKEY, since the latter is already used for the ungroup operator.
2012-02-27style cleanup (mostly whitespace)Campbell Barton
2012-02-25style cleanup, use { on newline after function definition.Campbell Barton
spelling 'impliment' -> 'implement'
2012-02-25bugfixCampbell Barton
* ntreeCompositExecTree accessed 'ntree' before NULL check. * BM_face_triangulate accessed 'f' before NULL check. also quiet warning in BKE_text_to_curve() and add a check for BMesh bridge loops so it knows quicker if it can copy loop data or not.
2012-02-22Adds a new node type for saving multiple image files from a single node.Lukas Toenne
Unlike the existing file output node this node has an arbitrary number of possible input slots. It has a base path string that can be set to a general base folder. Every input socket then uses its name as an extension of the base path for file organization. This can include further subfolders on top of the base path. Example: Base path: '/home/user/myproject' Input 1: 'Compo' Input 2: 'Diffuse/' Input 3: 'details/Normals' would create output files in /home/user/myproject: Compo0001.png, Compo0002.png, ... in /home/user/myproject/Diffuse: 0001.png, 0002.png, ... (no filename base given) in /home/user/myproject/details: Normals0001.png, Normals0002.png, ... Most settings for the node can be found in the sidebar (NKEY). New input sockets can be added with the "Add Input" button. There is a list of input sockets and below that the details for each socket can be changed, including the sub-path and filename. Sockets can be removed here as well. By default each socket uses the render settings file output format, but each can use its own format if necessary. To my knowledge this is the first node making use of such dynamic sockets in trunk. So this is also a design test, other nodes might use this in the future. Adding operator buttons on top of a node is a bit unwieldy atm, because all node operators generally work on selected and/or active node(s). The operator button would therefore either have to make sure the node is activated before the operator is called (block callback maybe?) OR it has to store the node name (risky, weak reference). For now it is only used in the sidebar, where only the active node's buttons are displayed. Also adds a new struct_type value to bNodeSocket, in order to distinguish different socket types with the same data type (file inputs are SOCK_RGBA color sockets). Would be nicer to use data type only for actual data evaluation, but used in too many places, this works ok for now.
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-02-01Enable image and alpha outputs for image nodes by default. These were made ↵Lukas Toenne
unavailable for render layer nodes with the Combined pass disabled, but the same function also disabled them for image nodes. Fix for bug #30040.
2012-01-30Make Image and Alpha outputs in render layer node 'unavailable' when the ↵Lukas Toenne
Combined pass is not active in the render layer. Fix for bug #29999. The internal code for render layers node is unchanged, since the buffer is created anyway. Also noticed that, while unavailable sockets and links to/from them are not displayed, they are still used in execution, which could lead to unexpected results. But that's a more general problem with the way (pseudo-)dynamic sockets are simply flagged with SOCK_UNAVAIL.
2012-01-25Cycles: Render PassesBrecht Van Lommel
Currently supported passes: * Combined, Z, Normal, Object Index, Material Index, Emission, Environment, Diffuse/Glossy/Transmission x Direct/Indirect/Color Not supported yet: * UV, Vector, Mist Only enabled for CPU devices at the moment, will do GPU tweaks tommorrow, also for environment importance sampling. Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Passes
2012-01-24Brightness/Contrast Node for CyclesDalai Felinto
Contrast helps to adjust IBL (HDR images used for background lighting). Note: In the UI we are caling it Bright instead of Brightness. This copy what Blender composite is doing. Note2: the algorithm we are using produces pure black when contrast is 100. I'm not a fan of that, but it's a division by zero. I would like to look at other algorithms (what gimp does for example). But that would be only after 2.62.
2012-01-21Fix for missing NULL check in socket default_value free function. Some ↵Lukas Toenne
sockets (currently only cycles shader sockets) don't actually have a default_value pointer.
2012-01-20Minor fix for socket default value conversion. The switch statement would ↵Lukas Toenne
not break correctly.
2012-01-20Cleanup of default_value handling in node sockets.Lukas Toenne
The structs stored in the anonymous void *default_value in bNodeSocket are now handled completely inside node_socket.c. All allocation/freeing/duplicating for this has been replaced by the appropriate calls to generic API functions (declared in NOD_socket.h). This will make the default value handling more reliable for future node socket code. Group socket copying and value conversion has also been moved into the generic socket API file.
2012-01-14fix [#29887] Alt + g in a node group results in crash Campbell Barton
2012-01-13Group DEM node code with the rest of the mattes, rather than the filters. ↵Peter Larabell
Also fixes two typos in DEM node comments.
2012-01-12remove redundant trailing slashesCampbell Barton
2012-01-11Changes composite node group of double edge mask node from FILTER to MATTE.Peter Larabell
2012-01-11use BLI_strncpy and BLI_snprintf when the size of the string is known.Campbell Barton
fix for sequencer unique naming which was missed with string length update.
2012-01-11Longer names support for all ID and other object namesSergey Sharybin
This commit extends limit of ID and objects to 64 (it means 63 meaning characters and 1 for zero-terminator). CustomData layers names are also extended. Changed DNA structures and all places where length constants were hardcoded. All names which are "generating" from ID block should be limited by MAX_ID_NAME-2, all non-id names now has got own define called MAX_NAME which should be used all over for non-id names to make further name migration stuff easier. All name fields in DNA now have comment with constant which corresponds to hardcoded numeric value which should make it easier to further update this limits or even switch to non-hardcoded values in DNA. Special thanks to Campbell who helped figuring out some issues and helped a lot in finding all cases where hardcoded valued were still used in code. Both of forwards and backwards compatibility is stored with blender versions newer than January 5, 2011. Older versions had issue with placing null-terminator to DNA strings on file load which will lead to some unpredictable behavior or even crashes.
2012-01-10SVN maintenance.Guillermo S. Romero
2012-01-10(no commit message)Peter Larabell
2012-01-10Fix #29827: 2.61 Scale and translate bugsSergey Sharybin
Scale lead to crash because of incorrect check for buffer size. Translate bug was caused by ignoring buffer offset.
2012-01-08Cycles: checker texture node, patch by Thomas.Brecht Van Lommel
2012-01-08Improved auto-hiding of unused sockets for collapsed nodes.Lukas Toenne
Instead of generally hiding all unused sockets in collapsed mode, the sockets now have a new explicit flag SOCK_AUTO_HIDDEN, which is only toggled when the hide_toggle operator is called. This way the auto-hidden sockets stay as they are when nodes are duplicated etc. The new flag is necessary to distinguish between manually hidden sockets (via hide_sockets_toggle operator) and automatically hidden sockets and restore the node state when unhiding a node.
2012-01-05Fix #29801: various compositing nodes not working correct after translate,Brecht Van Lommel
e.g. separate HSVA node.
2011-12-30Color management: add "Color Unpremultiply" option for images and render ↵Brecht Van Lommel
settings. For premultiplied alpha images, this makes any color space conversion for the image or render output work on color without alpha multiplied in. This is typically useful to avoid fringing when the image was or will be composited over a light background. If the image will be composited over a black background on the other hand, leaving this option off will give correct results. In an ideal world, there should never be any color space conversion on images with alpha, since it's undefined what to do then, but in practice it's useful to have this option. Patch by Troy Sobotka, with changes by me.
2011-12-30style edits for function declarationsCampbell Barton
2011-12-28Code refactoring: add unified image buffer functions for doing float => byte,Brecht Van Lommel
byte => float, float => float, byte => byte conversions with profile, dither and predivide. Previously code for this was spread out too much. There should be no functional changes, this is so the predivide/table/dither patches can work correctly.
2011-12-22patch [#29676] ALPHA OVER: Fix associated alpha over situation to fix ↵Dalai Felinto
[#29675] patch by Troy Sobotka note: if alpha is negative the code will still produce non-optimal results. This is a separate issue though, the patch fix the premul assumption that alpha can be zero and rgb still be valid.
2011-12-19Automatically hide unused (=unlinked) node sockets in collapsed ("hidden") ↵Lukas Toenne
nodes. This is to make nodes with many sockets cleaner and simpler, which is the purpose of collapsing nodes in the first place. The hiding code uses the SOCK_IN_USE flags already present. These were only temporarily set by the shader node code for determining needed texture coordinate types. Now they are used persistently and updated along with the sock->link pointers.
2011-12-17Cycles Gamma NodeDalai Felinto
Node specially useful for Texture correction. This is also a nice example of a simple node made from scratch in case someone wants to create their custom nodes. Review by Brecht.
2011-12-16Normal Node - CyclesDalai Felinto
reviewed by Brecht, with help from Lukas. Note: dot is reversed compared to Blender. In Blender Normals point outside, while in Cycles they point inside. If you use your own custom vector with the Normal Node you will see a difference. If you feed it with object normals it should work just as good.
2011-12-04Invert Color Cycles NodeDalai Felinto
as with the HSV node the OSL code is relying on the (yet to be implemented) autorename. Also the svm code could use mix (svm_lerp) instead: 32 . float3 color_inv = make_float3(1.0f, 1.0f, 1.0f) - color; 35 . . stack_store_float3(stack, out_color, svm_lerp(color_inv, color, factor)); I have a feeling that each node 'program' should have the least program as possible. I'll see with Brecht later. But overall I don't know if that's any fast. And apart from that I think we will need this kind of function to move to a library if multiple functions linked in are not a problem.
2011-12-03CameraData Input Cycles NodeDalai Felinto
---------------------------- reviewed and approved by Brecht Important note: the camera Z is reverted compared to Blender render. Now it goes from zero (camera) to positive (in front of the camera)
2011-12-02HSV Color Node for CyclesDalai Felinto
......................... note, the OSL code has a problem. In the original node the input and output nodes have the same name (Color). So this will be fixed here once Brecht come up with a nice autorenaming (or we do a doversion patch) for that.
2011-12-02SeparateRGB and CombineRGB nodes for Cycles materialsDalai Felinto
reviewed and approved by Brecht my first OpenCL code \o/