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
2018-06-01Cleanup: trailing whitespace (comment blocks)Campbell Barton
Strip unindented comment blocks - mainly headers to avoid conflicts.
2018-05-24Cycles/Compositor: Add arctan2 operation to the Math nodeLukas Stockner
The Math node currently has the normal atan() function, but for actual angles this is fairly useless without additional nodes to handle the signs. Since the node has two inputs anyways, it only makes sense to add an arctan2 option. Reviewers: sergey, brecht Differential Revision: https://developer.blender.org/D3430
2018-05-18Color: Assume Rec 709 in remaining comp nodesAaron Carlisle
Part of T54798
2018-04-03Cleanup: rename list count_ex -> count_at_mostCampbell Barton
2018-01-06Fix T47212: incorrect luma coefficients for Luminance Key node.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D2982
2017-10-02Fix T52927: Compositor wrong scale when scale size input is connected to ↵Sergey Sharybin
complex node The issue here is that we can not read scale from socket when determining dependent area of interest. This area will depend on current pixel. Now fall back to more stupid but reliable thing: if scale size input is connected to some nodes, we use the whole frame as area of interest.
2017-09-14Fix T52653: Render output of linked scenes conflicts with other scenes with ↵Sergey Sharybin
the same name The issue was caused by render result identifier only consist of scene name, which could indeed cause conflicts. On the one hand, there are quite some areas in Blender where we need identifier to be unique to properly address things. Usually this is required for sub-data of IDs, like bones. On another hand, it's not that hard to support this particular case and avoid possible frustration. The idea is, we add library name to render identifier for linked scenes. We use library name and not pointer so we preserve render results through undo stack. Reviewers: campbellbarton, mont29, brecht Reviewed By: mont29 Differential Revision: https://developer.blender.org/D2836
2017-09-13Fix T52113: Compositor doesnt mix unrendered render layers wellSergey Sharybin
Compositor was always defaulting to all-zero s output for missing passes. This was broken in 4cf7fc3.
2017-09-13Compositor: Cleanup, get rid of nested ternary operatorsSergey Sharybin
Having single switch statement is much more readable.
2017-09-13Compositor: Cleanup, de-duplicate some codeSergey Sharybin
2017-09-13Compositor: Cleanup, reduce indentation level in render layer nodeSergey Sharybin
There is absolute no reason to have such an indentation level, it only causes readability and maintainability issues. It is really simple to make code more "streamlined".
2017-06-04Fix T51587: Blender fails to interpret a specific layer in OpenEXR ↵Lukas Stockner
multilayer file
2017-05-22Fix T51308: Bright/Contrast Doesn't respect Pre-multiplied AlphaSergey Sharybin
Brightness/contrast node was changing color but did not modify alpha or ensured colors are premultiplied on the output. This was giving artifacts later on unless alpha was manually converted. Compositor is supposed to work in premultiplied alpha (except of some really corner cases) so it makes sense to ensure premultiplied alpha after brightness/contrast node. This is now done as an option enabled by default, so we: (a) Keep compatibility with old files. (b) Have correct behavior for newly created files. Later on we can get rid of this option.
2017-05-03Render API/Cycles: Identify Render Passes by their name instead of a type flagLukas Stockner
Previously, every RenderPass would have a bitfield that specified its type. That limits the number of passes to 32, which was reached a while ago. However, most of the code already supported arbitrary RenderPasses since they were also used to store Multilayer EXR images. Therefore, this commit completely removes the passflag from RenderPass and changes all code to use the unique pass name for identification. Since Blender Internal relies on hardcoded passes and to preserve compatibility, 32 pass names are reserved for the old hardcoded passes. To support these arbitrary passes, the Render Result compositor node now adds dynamic sockets. For compatibility, the old hardcoded sockets are always stored and just hidden when the corresponding pass isn't available. To use these changes, the Render Engine API now includes a function that allows render engines to add arbitrary passes to the render result. To be able to add options for these passes, addons can now add their own properties to SceneRenderLayers. To keep the compositor input node updated, render engine plugins have to implement a callback that registers all the passes that will be generated. From a user perspective, nothing should change with this commit. Differential Revision: https://developer.blender.org/D2443 Differential Revision: https://developer.blender.org/D2444
2017-01-31Silence unused var warnings after rBac58a7faDalai Felinto
2017-01-26Compositor: Make HSV node inputs a real socketsSergey Sharybin
This is much more flexible solution which will allow doing some more procedural features. Reviewers: brecht, dfelinto, mont29 Reviewed By: mont29 Subscribers: Severin Differential Revision: https://developer.blender.org/D2403
2016-12-07Remove unused include statementSergey Sharybin
2016-08-16Rework 2D stabilizatorIchthyostega
See this page for motivation and description of concepts: https://github.com/Ichthyostega/blender/wiki See this video for UI explanation and demonstration of usage http://vimeo.com/blenderHack/stabilizerdemo This proposal attempts to improve usability of Blender's image stabilization feature for real-world footage esp. with moving and panning camera. It builds upon the feature tracking to get a measurement of 2D image movement. - Use a weighted average of movement contributions (instead of a median). - Allow for rotation compensation and zoom (image scale) compensation. - Allow to pick a different set of tracks for translation and for rotation/zoom. - Treat translation / rotation / zoom contributions systematically in a similar way. - Improve handling of partial tracking data with gaps and varying start / end points. - Have a user definable anchor frame and interpolate / extrapolate data to avoid jumping back to "neutral" position when no tracking data is available. - Support for travelling and panning shots by including an //intended// position/rotation/zoom ("target position"). The idea is for these parameters to be //animated// by the user, in order to supply an smooth, intended camera movement. This way, we can keep the image content roughly in frame even when moving completely away from the initial view. A known shortcoming is that the pivot point for rotation compensation is set to the translation compensated image center. This can produce spurious rotation on travelling shots, which needs to be compensated manually (by animating the target rotation parameter). There are several possible ways to address that problem, yet all of them are considered beyond the scope of this improvement proposal for now. Own modifications: - Restrict line length, it's really handy for split-view editing - In motion tracking we prefer fully human-readable comments, meaning we don't use doxygen with it's weird markup and comments are supposed to start with capital and end with a full stop, - Add explicit comparison of pointer to NULL. Reviewers: sergey Subscribers: kusi, kdawg, forest-house, mardy, Samoth, plasmasolutions, willolis, sebastian_k, hype, enetheru, sunboy, jta, leon_cheung Maniphest Tasks: T49036 Differential Revision: https://developer.blender.org/D583
2016-08-02Fix T47520: Compositor Node "Filter" Outputs clear imageKévin Dietrich
Make 'Laplace' filter an edge filter operation, since this what it is typically used for, and such operation does not affect the input's alpha channel. Reviewers: sergey, campbellbarton Reviewed By: sergey Differential Revision: https://developer.blender.org/D1817
2016-05-04Compositor: negative color support for ASC-CDL offsetCampbell Barton
Since the color wheel can't handle negative colors usefully, use a basis value for the initial RGB.
2016-02-15Compositor: Re-consider the way how track speed worksSergey Sharybin
Based on an user feedback, previous implementation with providing decoupled X and Y speeds didn't work in production at all: there is no way to combine this speeds to an usable vector. So now we're providing speed vector output instead, which provides speed in an exactly the way Vector Blur node expects it to be: first two components is a speed from the past, second two components defines speed to the future. Old behavior can be achieved by RGBA separating the speed output and using first tow components. Now this speed gives quite the same results as a speed pass, with the only difference that track position speed uses "shutter" of 1 while pass uses shutter of 0.5 (and there's no way to affect on that?).
2016-01-14Compositor: Add option to extend image bounds when blurringSergey Sharybin
It is handy when doing some roto work and it's required to blur some mask or overaly before alpha-overing it on top of the footage. Quite straightforward option with the only limitation that variable size blur is not supported. Reviewers: campbellbarton Subscribers: hype, sebastian_k Differential Revision: https://developer.blender.org/D1663
2015-12-15Compositor: Expose track velocity via the Track Position nodeSergey Sharybin
velocity is measured in pixels per frame. It is basically a coordinate difference of track coordinate at current frame and previous one (no future prediction happens). It's not really most intuitive place for such a things, but historically the node was called this way.. Track velocity could be used to face effects like motion blur bu piping it to the vector blur node. Reviewers: campbellbarton Reviewed By: campbellbarton Subscribers: hype, sebastian_k Differential Revision: https://developer.blender.org/D1591
2015-10-27Compositor: Add Invert option to the movie clip stabilization nodeSergey Sharybin
This appears to be really common workflow when you stabilize shot to make compo easier (roto, some effects and so) and then re-introduce the motion back. Surely it's doable with some magic nodes and manual network for transforming but such workflow is too common in VFX to resist adding one small option in single node for this.
2015-09-09Fix T45839 : Regression - Multi-layer image issues when using non-standard namesDalai Felinto
This was introduced in the fix for T44336 . The code is now what it should have been in the first place at the time of multiview commit. ImageUser->passtype is being removed in favour of bringing ImageUser->pass back. Reviewers: sergey Differential Revision: https://developer.blender.org/D1504
2015-09-03Fix T45959: DistanceKey preview used wrong colorsCampbell Barton
Same issue as recent fix in ChannelMatte
2015-09-02Fix second part of T45987: Node preview was still using wrong color spaceSergey Sharybin
2015-08-31Fix T45959: DistanceKey output incorrectCampbell Barton
2015-08-31Fix uninitialized vars in DistanceKey nodeCampbell Barton
2015-08-31Fix incorrect castCampbell Barton
2015-08-28Fix T45736: Channel key error: color spaces modesSergey Sharybin
Was missing conversion back to RGB space.
2015-08-26Fix T45711: Color spill average algorithm brokenCampbell Barton
Thanks to @kevindietrich for finding the cause!
2015-07-25Compositor: Fixes for the debug passSergey Sharybin
This commit fixes issues with wrong socket type being added to the Cycles debug pass compositor operation, which lead to crashes with non-value pass types. This commit also reverts socket renaming thing because while it's was behaving ok on runtime file reload might have loose the links which is annoying.
2015-07-24Compositor: Allow using debug pass output in the compositorSergey Sharybin
Currently only works correct with single float output, RGBA and vector are not supported so if one need to use this passes he'll need to wait a bit still. It is coming, don't worry.
2015-06-19Support half float file format storage for Multilayer EXRSergey Sharybin
Quite straightforward implementation -- all the conversion magic is happening in IMB_exr_write_channels() and remained changes are only needed to pass information whether channels is to be converted to half float or not. Regular file output will use full-float for Z pass, which matches behavior of the single layer EXR files. But when saving happens with File Output node then all the passes are respecting half float settings because it's not possible to distinguish whether we're saving Z pass or not. Reviewers: juicyfruit, campbellbarton Reviewed By: campbellbarton Subscribers: maxon, effstops, fsiddi Differential Revision: https://developer.blender.org/D1353
2015-06-17Cleanup: duplicate includesCampbell Barton
2015-04-29Fix T44132: Crash after open EXR formatSergey Sharybin
Was own mistake on adding Alpha socket for Combined pass.
2015-04-14Multiview: compositor openexr multiview images fully workingDalai Felinto
This is from my original missing-bits/TODO list. Basically multiview openexr was only working when multiview was on.
2015-04-06Multi-View and Stereo 3DDalai Felinto
Official Documentation: http://www.blender.org/manual/render/workflows/multiview.html Implemented Features ==================== Builtin Stereo Camera * Convergence Mode * Interocular Distance * Convergence Distance * Pivot Mode Viewport * Cameras * Plane * Volume Compositor * View Switch Node * Image Node Multi-View OpenEXR support Sequencer * Image/Movie Strips 'Use Multiview' UV/Image Editor * Option to see Multi-View images in Stereo-3D or its individual images * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images I/O * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images Scene Render Views * Ability to have an arbitrary number of views in the scene Missing Bits ============ First rule of Multi-View bug report: If something is not working as it should *when Views is off* this is a severe bug, do mention this in the report. Second rule is, if something works *when Views is off* but doesn't (or crashes) when *Views is on*, this is a important bug. Do mention this in the report. Everything else is likely small todos, and may wait until we are sure none of the above is happening. Apart from that there are those known issues: * Compositor Image Node poorly working for Multi-View OpenEXR (this was working prefectly before the 'Use Multi-View' functionality) * Selecting camera from Multi-View when looking from camera is problematic * Animation Playback (ctrl+F11) doesn't support stereo formats * Wrong filepath when trying to play back animated scene * Viewport Rendering doesn't support Multi-View * Overscan Rendering * Fullscreen display modes need to warn the user * Object copy should be aware of views suffix Acknowledgments =============== * Francesco Siddi for the help with the original feature specs and design * Brecht Van Lommel for the original review of the code and design early on * Blender Foundation for the Development Fund to support the project wrap up Final patch reviewers: * Antony Riakiotakis (psy-fi) * Campbell Barton (ideasman42) * Julian Eisel (Severin) * Sergey Sharybin (nazgul) * Thomas Dinged (dingto) Code contributors of the original branch in github: * Alexey Akishin * Gabriel Caraballo
2015-03-27Compositor: Code cleanup, prepare for strict C++ flagsSergey Sharybin
2015-02-24T43771: FixJeroen Bakker
There is a difference between the socket order of the BokehBlur node and the BokehBlur operation. Socket[2] and Socket[3] have switched their order.
2015-02-11Compositor: Expose Alpha socket for multilayer EXR nodeSergey Sharybin
This way re-mapping scene nodes to EXR files becomes much easier, no extra trickery with separate RGBA setups is needed. Plus makes it more consistent with regular EXR files. This uses EGBA pass to get alpha from.
2015-02-03Compositor: Implement sampled motion blur for plane track deform nodeSergey Sharybin
Quite striaghtforward change, and in theory we can even try supporting motion blur for the corner pin node (which is tricky because coordinates actually coming from sockets, but with some black magic should be doable).
2015-01-26Cleanup: strcmp/strncmp -> STREQ/STREQLEN (in boolean usage).Bastien Montagne
Makes usage of those funcs much more clear, we even had mixed '!strcmp(foo, bar)' and 'strcmp(foo, bar) == 0' in several places...
2015-01-19D627: Memory usage optimization for the compositor.Jeroen Bakker
The compostor used a fixed size of 4 floats to hold pixel data. this patch will select size of a pixel based on its type. It uses 1 float for Value, 3 float for vector and 4 floats for color data types. When benchmarking on shots (opening shot of caminandes) we get a reduction of memory of 30% and a tiny speedup as less data transformations needs to take place (but these are negligable. More information of the patch can be found on https://developer.blender.org/D627 and http://wiki.blender.org/index.php/Dev:Ref/Proposals/Compositor2014_p1.1_TD Developers: jbakker & mdewanchand Thanks for Sergey for his indept review.
2015-01-07Fix for bool flag useCampbell Barton
2014-11-05Code cleanup: Replace magic number with verbose name for math node operationsSergey Sharybin
Should be no functional changes, just much less cryptic code.
2014-10-06Compositor: implement OpenCL backend for gaussian blurSergey Sharybin
Pretty much straightforward change which gives around 30% speedup on my laptop and around 2x speedup on desktop in the BI (which uses gts580). Tested with huge blurs (like 10% of blur) which was rather common during Caminandes. For now OpenCL is only limited for blur size more than 100 pixels. This is a bit experimental still, feedback is welcome. Reviewers: jbakker, lukastoenne Subscribers: ton Differential Revision: https://developer.blender.org/D576
2014-07-26New compositor node "Sun Beams"Lukas Tönne
This allows adding a "fake" sun beam effect, simulating crepuscular rays from light being scattered in a medium like the atmosphere or deep water. Such effects can be created also by renderers using volumetric lighting, but the compositor feature is a lot cheaper and is independent from 3D rendering. This makes it ideally suited for motion graphics. The implementation uses am optimized accumulation method for gathering color values along a line segment. The inner buffer loop uses fixed offset increments to avoid unnecessary multiplications and avoids variables by using compile-time specialization (see inline comments for further details).
2014-07-15Fix T41067: Muted nodes still do data type conversions.Lukas Tönne
Proxy operations from muted nodes would still create conversion operations where the datatypes don't match, which creates unexpected behavior. Arguably datatype conversion could still happen even when the main operation is muted, but this would be a design change and so is disabled now.