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.
2016-11-15Atomics: Make naming more obvious about which value is being returnedSergey Sharybin
2015-12-29More from T47045: Add i18n translations to render status from compo.Bastien Montagne
Also fix inconsistency for freestyle translation - we use IFACE_ everywhere (TIP_ may be more suited, but let's be consistent first!).
2015-10-08Cleanup: headersCampbell Barton
2015-06-17Cleanup: duplicate includesCampbell Barton
2015-06-17Compositor: Fix stupid type in incrementing number of finished tilesSergey Sharybin
2015-06-12Fix compilation error on WindowsSergey Sharybin
The issue was caused by conflicting declaration of HKEY happening in our WM code and somewhere deeper in atomic operations headers hierarchy.
2015-06-11Compositor: Use atomics to update finished tiles progressSergey Sharybin
Integer is not safe for incremental by multiple threads and if one is unlucky enough that could cause progress re[reports to go totally nuts.
2015-04-14Cleanup: warningsCampbell Barton
2015-03-27Compositor: Code cleanup, prepare for strict C++ flagsSergey Sharybin
2015-03-27Compositor: Cleanup, don't pollute namepace with all symbols from stdSergey Sharybin
2015-03-27Compositor: Improve reports to the interface about what's going onSergey Sharybin
The functionality was got lost when new compositor system was landed and it wasn't always clear what's causing the hicucps. Now it's nicely reported to the stats line.
2014-04-15Building with C++ guarded alloc works againCampbell Barton
2014-04-15Structural cleanup and improvements for the compositor.Lukas Tönne
Many parts of the compositor are unnecessarily complicated. This patch aims at reducing the complexity of writing nodes and making the code more transparent. == Separating Nodes and Operations == Currently these are both mixed in the same graph, even though they have very different purposes and are used at distinct stages in the compositing process. The patch introduces dedicated graph classes for nodes and for operations. This removes the need for a lot of special case checks (isOperation etc.) and explicit type casts. It simplifies the code since it becomes clear at every stage what type of node we are dealing with. The compiler can use static typing to avoid common bugs from mixing up these types and fewer runtime sanity checks are needed. == Simplified Node Conversion == Converting nodes to operations was previously based on "relinking", i.e. nodes would start with by mirroring links in the Blender DNA node trees, then add operations and redirect these links to them. This was very hard to follow in many cases and required a lot of attention to avoid invalid states. Now there is a helper class called the NodeConverter, which is passed to nodes and implements a much simpler API for this process. Nodes can add operations and explicit connections as before, but defining "external" links to the inputs/outputs of the original node now uses mapping instead of directly modifying link data. Input data (node graph) and result (operations graph) are cleanly separated. == Removed Redundant Data Structures == A few redundant data structures have been removed, notably the SocketConnection. These are only needed temporarily during graph construction. For executing the compositor operations it is perfectly sufficient to store only the direct input link pointers. A common pointer indirection is avoided this way (which might also give a little performance improvement). == Avoid virtual recursive functions == Recursive virtual functions are evil. They are very hard to follow during debugging. At least in the parts this patch is concerned with these functions have been replaced by a non-virtual recursive core function (which might then call virtual non-recursive functions if needed). See for example NodeOperationBuilder::group_operations.
2014-01-09Code Cleanup: styleCampbell 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-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-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-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-03-29misc minor edits.Campbell Barton
- pass string size to BLI_timestr() to avoid possible buffer overrun. - quiet warning for mingw. - include guards for windows utf conversion funcs. - fix for mistage in edge-angle-selection check. - some style cleanup.
2013-03-20When using border rendering, use the same border for compositorSergey Sharybin
This makes compositing as fast as it's possible in this case. The only thing is border render+crop will still give funcy results. This is the next thing to be solved in compositor.
2013-03-13Report timing compositor statistics when running in background mode.Sergey Sharybin
This would help figuring out time spent on compositing, helpful for render farms.
2013-03-12Print compositor execution statistics when in background modeSergey Sharybin
This will print memory usage, mapped memory usage, memory peak, compositing tree name and number of finished tiles to stdout when blender is rendering in background mode. This makes compositor a less blackbox and should help trouble shooting issues happening during 4K ToS project.
2013-03-09Fix for recent compo border commitSergey Sharybin
Viewer operations shall be aware of border as well, otherwise CPU would be busy for a while full compo isn't done for just a small preview image in a node.
2013-03-07Border for compositor viewer node featureSergey Sharybin
This adds border option to compositor, which affects on a backdrop and viewer nodes, which is useful for faster previews and tweaks. Final compositing still happens for the whole frame, but if it'll be needed it's not so difficult to support it as well. To use border there's Ctrl-B shortcut in the compositor editor, which i used to define region you want to restrict compositing to. There's also "Viewer Border" option in the N-panel in case you'll want to disable border compositing. Some areas could be cleaned a bit, like ideally it shall not be viewer image clearing in viewer_border_update RNA callback, but currently it's not so much clear how to make it the same fast as simple memset and glue it somehow to compositor. Will think of nicer solution a bit later.
2012-11-30Final render wouldn't set compositor's update_draw callback, so added NULL checkSergey Sharybin
Seems no extra notifiers should be added here.
2012-11-30Compositor should never add notifiers by himself, notifiers should be addedSergey Sharybin
from main thread using job update callback. Added new execution-time callback to bNodeTree which marks job to be updated. The code here could be a bit not so obvious because in some cases job update callback need to merge local tree, but it's only needed for old compositor system which is gonna to be removed soon, so decided not to bother with cleanup now. Removing old compositor system will also allow to drop stats_draw callback from bNodeTree. This should fix following bugs:
2012-10-23Solve unresolved call of min(int&, unsigned int&)Sergey Sharybin
Alternative could be using unsigned ints for min/max chunks.
2012-10-23use min_ max_ functions in more places.Campbell Barton
also fix minor error in MOD decimate when the modifier did nothing the reported face count would be wrong.
2012-10-21style cleanup: trailing tabs & expand some non prefix tabs into spaces.Campbell Barton
2012-08-18style cleanup: also correct some doxy commentsCampbell Barton
2012-08-16compositor: replace C++ new/delete with guardedalloc.Campbell Barton
2012-08-14fix [#32324] regression: node group with missing ID crashes new tile node ↵Campbell Barton
system. node groups with no ID now output magenta so it doesnt silently fail.
2012-08-10use define for bokeh blur size, also define size of determineResolution args.Campbell Barton
2012-07-12add bli rect funcs BLI_rctf_init_minmax, BLI_rcti_init_minmaxCampbell Barton
2012-07-11Compositor read buffers work directly on the memory buffer. Jeroen Bakker
This way we can remove the memoryBuffers parameter in the executePixels, and (de)initializeTileData methods
2012-07-05Change order of inclusion to stop MinGW from complainingAntony Riakiotakis
2012-07-04Highlight nodes that are being processedJeroen Bakker
2012-07-02Limit out of screen tiles to be scheduled.Jeroen Bakker
2012-06-26quiet all -Wshadow warnings in the compositor.Campbell Barton
2012-06-26rename remaining class members with m_ prefix.Campbell Barton
2012-06-17code cleanup: includes, also correct some py example typosCampbell Barton
2012-06-15style cleanup: remaining nodes in intern/Campbell Barton
2012-06-15fix for using un-initialized memory in the new compositor for the split view ↵Campbell Barton
node.
2012-06-13 * optimized threadingJeroen Bakker
* break out with glare node * Added OpenCL kernels compatible with AMD still need some testing.
2012-06-12 * FIX forJeroen Bakker
- [#31777] Border Crop gives black - [#31768] Crash when connecting a Math node to a translate node in Tiles comp - [#31638] View node in new node compo system crashes when inside a group * make sure a very fast vignette can be made by using a EliipseMask + Fast Gaussian blur
2012-06-10Applied and completed a compositor patch by Brecht to use signalling and ↵Lukas Toenne
waiting in scheduling and worker threads instead of continuous loops with sleep times. This should help reduce unnecessary wait times in Tile.
2012-06-08 * Added OpenCL kernel for bokeh blurJeroen Bakker
* Uncomment COM_OPENCL_ENABLED from COM_defines.h to test