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-11-19Potential fix for T37525: Viewer node causes crashSergey Sharybin
LOCK_DRAW_IMAGE used to be unlocked twice. Now made it so all the thread-unsafe code is inside a single lock/ unlock section.
2013-11-16Fix T37493: Defocus node with angle = 90° rotates bokeh only for ~1.5°Sv. Lockal
2013-11-06Fix #37333: Bad default value in Color Balance. Use independent ↵Lukas Toenne
offset/power/slope variables for the CDL mode in color balance node. This avoids stupid default values in particular for offset, which would be 1 when just using the lift value for it.
2013-11-06Removed the DNA storage for LGG lift and inverse gamma in the color balance ↵Lukas Toenne
node. These values were always calculated at execution time, so there is no need to keep them around in DNA data and no forward compatibility break either. Only reason they were stored in DNA before is that the old compositor had no other means of keeping precomputed values around for every pixel than storing the DNA node data, with new compositor this is no longer necessary (values are stored in operations).
2013-11-04code cleanup: typo in function nameCampbell Barton
2013-10-31code cleanup: spellingCampbell Barton
2013-10-29Code cleanup: use bool instead of int in mask moduleSergey Sharybin
2013-10-28Fix #37221: Multilayer EXR inputs generate pink frame/last displayed frame ↵Sergey Sharybin
when using an image sequence offset generally speaking, if multilayer image fails to load for current frame doesn't mean anything bad. It might be used to make it so image sequence is being alpha-overed somewhere in the middle of scene time. Made it so if the whole file fails to load, image node will deliver black transparent color, the same what happens for regular (non-multilayer images). Also needed to tweak code in load_multilayer_sequwnce to make sure no cached frames are pointing to a freed memory.
2013-10-25Remove duplicate cmake enries in game engine and compositorSergej Reich
2013-10-25code cleanup and add mball select similar into the menuCampbell Barton
2013-10-23Fix #37175, Viewer node issue for newly toggled render passes.Lukas Toenne
The RenderLayers node would use the "combined" image result for all passes which don't have a valid render result yet. This causes problems when the buffer element size is not actually 4 floats (RGBA) as with the 3 float normal passes. Also the result is rather meaningless then, so just keep the image buffer at NULL for unavailable passes, which will return plain (0,0,0) color.
2013-10-23style cleanupCampbell Barton
2013-10-22style cleanupCampbell Barton
2013-10-19Applied patch [#34178] tile rendering for fast gaussian blurJeroen Bakker
Thanks to David M (erwin94) only added some comments. https://projects.blender.org/tracker/?func=detail&aid=34178&group_id=9&atid=127
2013-10-19Compositor: did some inner loop optimizations of the fast gaussian blur.Jeroen Bakker
- At Mind -
2013-10-16Fix #37084, Backdrop not invalidating inside node groups.Lukas Toenne
Extended the is_active_group flag such that both the current edittree as well as the base node tree in Scene do a viewer node update.
2013-10-14code cleanup: correct unsigned int in string formatting and use empty() ↵Campbell Barton
checks for vectors.
2013-10-14code cleanup: remove duplicate assignmentsCampbell Barton
2013-10-11code cleanup: use const's for static arraysCampbell Barton
2013-09-20correct include guards and add checks in check_style_c.py for them.Campbell Barton
2013-09-19Fix #36755, EXR Layers are not fully updated on scene load or image refresh.Lukas Toenne
After discussion with Brecht decided that automatically updating the sockets of the node based on externally modified data (removed EXR file passes) is not desirable behavior. But at least making sure the correct passes are assigned to the output sockets of the Image node is possible. Now the passes are matched by name instead of using the faulty index stored in the socket data, which is more reliable. Still may break if changing pass names externally, but an image reload is highly recommended anyway and will fix that.
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)