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
2013-09-05Merge some operations into a single fileSergey Sharybin
This merges all mix operations into a COM_MixBaseOperation (naming could be better, but this way it corresponds to what's going on with math operations. Same was done with RenderLayers operations. Overall this gives 20% of bf_compositor library compilation time decrease. And it was rather annoying to have tens of files with just a single-line constructors anyway. TODO: - All Convert operations could also be merged into a single file, but that would require adding some ConvertBaseOperation to reduce code duplication (ideally). Leaving it unchanged for now. - Some operations' headers seems to be wrongly including MixOperation header, they need to include NodeOperation instead it seems. This is rather harmless, but would be nice to doublecheck on this eventually.
2013-08-19Fix warnings reported by cavity checkerSergey Sharybin
2013-08-16Remove ifdef-ed code, it's still in SVn anyway.Sergey Sharybin
2013-08-16Tweaks to MapUV and PlaneTrack nodes to make results less doggySergey Sharybin
This disables crazy adaptive sampling happening in diagonal direction. This still gives some doggyness, but it's much less dramatic now, and behavior is pretty damn the same as EWA filtering when rendering textures with Blender Internal.
2013-08-16Fix for #36468, "Buffer Groups" option changes compositing output.Lukas Toenne
Problem is that the read/write buffer operations only work with actual image inputs. If a singular value is used as group input no actual buffer will be created, the write operation does not schedule any chunks and the ReadBufferOperation subsequently returns zero (MemoryBuffer::read). The fix uses the (0,0) resolution to detect single value input of the WriteBufferOperation. The actual resolution is then clamped to (1,1) to ensure we have a single pixel to store the value in. A m_single_value flag is also set, so we can reliably distinguish this from genuine image resolutions without having to check m_width/m_height later on. The ReadBufferOperation copies this flag from the associated WriteBufferOperation and if set will always return the single value from pixel (0,0).
2013-08-16Make byte-float conversion threaded in compositorSergey Sharybin
In fact, there's no need to get float buffer at all, conversion could be done in pixel processor level after interpolation. It might give slightly worse interpolation results (which i'm not sure would be visible by eye) but it gives more than 2x speedup on my laptop on node setups used for warping image. -- svn merge -r58988:58989 ^/branches/soc-2011-tomato
2013-08-16Merge plane track feature from tomato branchSergey Sharybin
This commit includes all the changes made for plane tracker in tomato branch. Movie clip editor changes: - Artist might create a plane track out of multiple point tracks which belongs to the same track (minimum amount of point tracks is 4, maximum is not actually limited). When new plane track is added, it's getting "tracked" across all point tracks, which makes it stick to the same plane point tracks belong to. - After plane track was added, it need to be manually adjusted in a way it covers feature one might to mask/replace. General transform tools (G, R, S) or sliding corners with a mouse could be sued for this. Plane corner which corresponds to left bottom image corner has got X/Y axis on it (red is for X axis, green for Y). - Re-adjusting plane corners makes plane to be "re-tracked" for the frames sequence between current frame and next and previous keyframes. - Kayframes might be removed from the plane, using Shit-X (Marker Delete) operator. However, currently manual re-adjustment or "re-track" trigger is needed. Compositor changes: - Added new node called Plane Track Deform. - User selects which plane track to use (for this he need to select movie clip datablock, object and track names). - Node gets an image input, which need to be warped into the plane. - Node outputs: * Input image warped into the plane. * Plane, rasterized to a mask. Masking changes: - Mask points might be parented to a plane track, which makes this point deforming in a way as if it belongs to the tracked plane. Some video tutorials are available: - Coder video: http://www.youtube.com/watch?v=vISEwqNHqe4 - Artist video: https://vimeo.com/71727578 This is mine and Keir's holiday code project :)
2013-08-06code cleanup: remove lock from ViewerOperation classCampbell Barton
2013-08-05SplitViewer node:Sv. Lockal
- fix thumbnail preview (previously it showed only one input) - make SplitViewer node update even if the second input is not connected - now it works when the first socket is connected to a zero-sized node tree (e. g. Color Input node) - SplitViewer node is now based on 2 operations: SplitOperation and ViewerOperation. - ViewerBaseOperation was removed as a redundant one. Any future viewer style node can use the same principle and prepare the output before passing to an actual ViewerOperation. Thanks Lukas Toenne for reviewing this patch and giving me get few pieces of advice.
2013-07-22fix [#36248] Crash using factor input on color mix node.Campbell Barton
2013-07-21code cleanup: add break statements in switch ()'s, (even at the last case).Campbell Barton
2013-07-15Fix #36058: Displace Modifier errors using a baked Image and displace baking ↵Sergey Sharybin
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-15replace strncpy with BLI_strncpy for cases we expect the string to be NULL ↵Campbell Barton
terminated.
2013-07-13fix for missing break with compositor levels (blue passed through to luminance)Campbell Barton
2013-07-04Fix non-conditional out-of-bounds memory access in DoubleEdgeMask nodeSv. Lockal
2013-07-03Fix deadlock in coordinate wrapping operation with zero dimensionSergey Sharybin
2013-06-30Fix forJeroen Bakker
* [#35922] RGB Input Node doesn't work properly
2013-06-13Fix crash in movie clip node when ibuf fails to load.Sergey Sharybin
Was a stupid mistake in another fix here :(
2013-06-12Remove magic constants from Track Position node RNA code.Sergey Sharybin
2013-06-08Fix for bug [#35400] Dilate Erode Feather Bug - feathering wraps around imageMonique Dewanchand
2013-06-02Fix #35599: MovieClip node crashes when using multilayer exrSergey Sharybin
Multilayer EXR is not supported as a source for movie clip yet, but there's no excuse to crash!
2013-05-28bmo_subdivide_edgering.c now builds with release+debuginfo, also remove ↵Campbell Barton
unused defines and correct include guards.
2013-05-20Math Node:Thomas Dinges
* Added a Modulo operation to the math node, available in Compositor, Shader and Texture Nodes.
2013-05-18Comment out coordinates mapping made in rev55469Sergey Sharybin
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-17Fix #35369: Crop node or FileOutput node bug.Sergey Sharybin
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-14style cleanupCampbell Barton
2013-05-13Fix #35330: Blur node crash due to size overflowSergey Sharybin
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-13Fix #35327: compositing Z combine node was not giving the same result as ↵Brecht Van Lommel
previous versions when the Z values were the same, Also was inconsistent between full sample on/off.
2013-04-08style cleanupCampbell Barton
2013-04-07freestyle lineset `tag` attribute was defined but not used, also some code ↵Campbell Barton
cleanup.
2013-04-05code cleanup: quiet some warnings and styleCampbell Barton
2013-04-04Fix for 34703 Mix node (Hue, Saturation) update and rendering errorJeroen Bakker
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-03-25code cleanup:Campbell Barton
- remove unused defines. - quiet some shadow warnings. - bevel, ifdef out some asserts that are too common. - style
2013-03-24fix for struct definition building with msvc2008 and some style cleanup.Campbell Barton
2013-03-22code cleanup: use booleans and const's for operator vars.Campbell Barton
2013-03-21Render border + crop will be handled correct in compositor nowSergey Sharybin
This commit simply implements mapping from centered cropped canvas to a full-frame coordinates, so operations like alpha-overing render result on top of image will be properly aligned.
2013-03-20Changes to compositor output nodeSergey Sharybin
Make it so compositor output node wouldn't be calculated when Render Result image is not visible on the screen. This makes compositor tree editing more friendly and faster. Also, if there's no viewer image visible on the screen viewer nodes wouldn't be handled. Final rendering keeps unchanged for now. This solves issues when for performance artists are disconnecting compo output node before tweaking values in compositor and forgets to attach compo output node before sending file to the farm.
2013-03-20Fix #34694. This was actually a bug in the compositor's Bokeh Blur ↵Lukas Toenne
operation. It was writing outside of allocated memory in case of (0, 0) size buffers, with the usual unpredictable results.
2013-03-19change to variable size bokeh blue, dont blur larger areas then the current ↵Campbell Barton
pixel defines. caused nasty looking errors with DOF.
2013-03-19Added alpha output to movie clip compositor nodeSergey Sharybin
Pretty much straightforward change, made in the same way as texture input node. Shall not be any regressions or crashes when mixing usage of 2.66 and current trunk.
2013-03-18Merge of the PyNodes branch (aka "custom nodes") into trunk.Lukas Toenne
PyNodes opens up the node system in Blender to scripters and adds a number of UI-level improvements. === Dynamic node type registration === Node types can now be added at runtime, using the RNA registration mechanism from python. This enables addons such as render engines to create a complete user interface with nodes. Examples of how such nodes can be defined can be found in my personal wiki docs atm [1] and as a script template in release/scripts/templates_py/custom_nodes.py [2]. === Node group improvements === Each node editor now has a tree history of edited node groups, which allows opening and editing nested node groups. The node editor also supports pinning now, so that different spaces can be used to edit different node groups simultaneously. For more ramblings and rationale see (really old) blog post on code.blender.org [3]. The interface of node groups has been overhauled. Sockets of a node group are no longer displayed in columns on either side, but instead special input/output nodes are used to mirror group sockets inside a node tree. This solves the problem of long node lines in groups and allows more adaptable node layout. Internal sockets can be exposed from a group by either connecting to the extension sockets in input/output nodes (shown as empty circle) or by adding sockets from the node property bar in the "Interface" panel. Further details such as the socket name can also be changed there. [1] http://wiki.blender.org/index.php/User:Phonybone/Python_Nodes [2] http://projects.blender.org/scm/viewvc.php/trunk/blender/release/scripts/templates_py/custom_nodes.py?view=markup&root=bf-blender [3] http://code.blender.org/index.php/2012/01/improving-node-group-interface-editing/
2013-03-14There was a regression in recent bugfix which touched Mix node.Sergey Sharybin
This commit hopefully fixes that regression.
2013-03-13Disable viewer nodes and previews when rendering in background modeSergey Sharybin
This node and operations are not useful in background mode anyway, but calculating them could be really time-consuming especially when working on 4K frames.
2013-03-12Fix for crash in special cases when mixing translate node with otherSergey Sharybin
Issue was caused by calling ensureDelta from initexecution, which will read pixels from an input and it could read from non-initialized operations. Issue was originally introduced in svn rev54235 which added ensureDelta to translate's initExecution, but since rev54349 this call seems to be doing nothing.
2013-03-12Fix #34599: Mask nodes stop working if output is later piped through HSV nodeSergey Sharybin
Issue was caused by the fix for #33650 which changed way to check whether operation resolution is set or not from checking dimensions are zero to setResolution was ever called. Such change lead to conflict with MixBase operation (used for Mix node) which uses temporary zero resolution to check whether input socket resolution is known. This leads to zero resolution setting to that branch of tree. After this resolution will never set to it's actual value. For now solved by changing logic how MixBase operation detects resolution. Namely instead of using trick with temporary zero resolution and calling determineResolution for all inputs, and then call base class's method to determine resolution just once again, check whether input socket is connected and if so use it's resolution. Shall not be regressions for real-life trees, but keeping an eye on this and doing more tests is for sure welcome.
2013-03-04Fix #34475: Weird noise bug with Texture nodesSergey Sharybin
Made Texture compositor input node single-threaded since texture trees are not thread-safe. Also fixed texture being flipped horizontally and vertically. Why nobody noticed this for 3 releases already??
2013-02-27Fix various warnings with clang build, and adjust cmake clang warnings flagsBrecht Van Lommel
to include a few more that gcc is using too.
2013-02-18Correction to r54600Sergey Sharybin
Calculate dependent area based on distortion model rather than using 15% of image resolution for this. Some assumptions here: - We're assuming real-life camera calibration is used here - Maximal undistortion delta would be achieved on frame boundary - Distortion fully goes inside frame This makes it possible to approximate margin for distortion by checking undistortion delta across frame boundary and use it for dependent area of interest. We do not use any formula-based equation here because we're likely support other distortion models and in that case it'll be stupid to try detecting formula here.
2013-02-17code cleanup: change order of args in void ↵Campbell Barton
BKE_object_where_is_calc_time_ex() so extra arg is at the end (loose convention for *_ex() funcs). also some style cleanup.
2013-02-17Fix for [#34182] Movie Distortion and Bilateral Blur doesn't work togetherJeroen Bakker
* added area of interest based on a radius around the input tile. If someone can implement a correct formula (based on K1, K2 and K3) and send it to me, I will be happy to apply it! - At Mind -