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-19Fix for OutputFile node, this would crash with unconnected sockets in ↵Lukas Toenne
MultiEXR mode, because it matches sockets and EXR layers by index and was skipping unconnected sockets. Simply create EXR layer info for all sockets now and then ignore unconnected layers when finally writing to file in deinitExecution.
2013-09-19style cleanupCampbell Barton
2013-09-13Fix for #36720 and #36721.Lukas Toenne
This was own error in r60049 which fixed chunk number calculation. This was mixing int and unsigned int values from ExecutionGroup, which leads to huge chunk numbers which are then skipped.
2013-09-13Cleanup and improvements of the compositor debug output.Lukas Toenne
Debug code for graphviz output moved to a dedicated file COM_Debug.h/cpp. The DebugInfo class has only static functions, which are called from a number of places to keep track of what is happening in the compositor. If debugging is disabled these are just inline stubs, so we don't need #ifdefs everywhere and don't get any overhead. The graphviz output is much more useful now. DebugInfo keeps track of node names in a static string map for meaningful names. It uses a number of colors for various special operation classes. ExecutionGroups are indicated in graphviz with clusters. Currently the graphviz .dot files are stored in the BLI_temporary_dir() folder. A separate dot file is generated for each stage of the ExecutionGroup scheduling, this is intended to give some idea of the compositor progress, but could still be improved.
2013-09-11Fix #36700, z-depth not rendering properly at (n*256)+1 dimensions.Lukas Toenne
The chunk indices for scheduling chunks based on a given area were calculated incorrectly. This caused chunks at the very border of the render (pixels 256..257) to be omitted, leading to incorrect values in the Z buffer of the test file, which in turn caused wrong normalization range and the resulting almost-white image. Also added a dedicated executePixel function for Z buffer to avoid any interpolation of Z values.
2013-09-09Fix #36692: crash with split viewer compositing node and rendering. Only one ↵Brecht Van Lommel
viewer node should write to the viewer image, the logic to check this was wrong, now made it the same as the viewer node.
2013-09-06On the second thought, no need to go between straight and premul when doing ↵Sergey Sharybin
AA for plane warp node
2013-09-05code cleanup:Campbell Barton
- add missing headers from cmake (own omission) - quiet rna_test.c unused define warnings. - minor style edits - spelling corrections and ignore all uppercase words with spell checking script.
2013-09-05Code cleanup: use boolean instead of int for colormanagementSergey Sharybin
2013-09-05Compositor cleanup: Merge conversion operations into a single file (see also ↵Lukas Toenne
r59820). Most convert operations can share a common base class with a single socket reader (except channel separate/combine nodes).
2013-09-05Removed unused variables used only in BLI_assert, this triggers compiler ↵Lukas Toenne
warning in release builds.
2013-09-05Fix #36113, Translate's wrapping has 1 pixel gap in X and Y after scale node.Lukas Toenne
The issue with wrapping is that it requires correct interpolation of the border pixels. Since interpolation is done at the far left end of the node tree in buffer/image/etc read operations, the wrapping setting can not be used directly in those operations (otherwise in-line translate operations would cause conflicts). To make wrapping work correctly we need to add a buffer in front of the translate operation, which can then be interpolated correctly based on wrapping. The WrapOperation becomes a variant of ReadBufferOperation, which uses its wrapping setting to determine the correct "extend" mode for interpolation of the buffer.
2013-09-05Extend mode option for MemoryBuffer reading in compositor. This will allow ↵Lukas Toenne
proper interpolation of pixel values when using wrapping in the Translate node. Implemented in inline functions, so won't cause overhead if constant values are passed (as happens with most calls using the default argument).
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 issue with EWA filtering in compositor which disabled alphaSergey Sharybin
It was caused by wrong copy-paste thing, which replaced check "whether alpha channel is enabled" with "whether alpha channel is not zero" (which is always zero in accumulator). Compositor always works with RGBA, so no need to do any special checks here. TODO: Maybe MapUV ode shall ignore alpha channel?
2013-08-19Fix warnings reported by cavity checkerSergey Sharybin
2013-08-17fix for crash in compositor/opencl, the error value of -1001 would read past ↵Campbell Barton
the error-string array.
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-07Another preview fix for SplitViewer nodeSv. Lockal
Use the same logic as in ViewerNode to update preview when backdrop is disabled.
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-08-04Cycles / SSS passes:Thomas Dinges
* Connecting the new passes in the compositor caused a crash, forgot to register the new passes in the compositor operations code.
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-19style cleanup: switch statements, include break statements within braces & ↵Campbell Barton
indent. also indent case's within the switch (we already did both of these almost everywhere)
2013-07-19code cleanup: case & brace placementCampbell Barton
2013-07-17style cleanupCampbell Barton
2013-07-17Possible fix for [#36086] Activating the opencl option in the compositor ↵Thomas Dinges
causes blender crash * Now OCL_init() returns error messages if the OpenCL library cannot be loaded.
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-13Fix #35586: add an option to the Z Combine compositing node to disable the ZBrecht Van Lommel
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-10Fix #36041, Chroma key broken. Compositor node was using wrong socket index ↵Lukas Toenne
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-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-25Buildbot: disable command length workaround for now, seems to give link errors.Brecht Van Lommel
2013-06-25Buildbot: another workaround for the Windows command length limit, this timeBrecht Van Lommel
with the freestyle module which has 242 cpp files.
2013-06-25Attempt to workaround mingw64 buildbot issue with Windows command length limits,Brecht Van Lommel
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-13Fix #35634: weight paint did not do z-buffer culling anymore on Windows ↵Brecht Van Lommel
after recent change to size of bool.
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-12Track Position node now could output absolute position of track at a given frameSergey Sharybin
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-28move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)Campbell Barton
remove MEM_sys_types.h which was a duplicate.