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-17Cleanup: trailing space for freestyleCampbell Barton
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
2016-12-29Freestyle: fix typo in console message.Bastien Montagne
Patch D2270 by Anthony Edlin (@krash), thanks.
2016-09-18BLI_listbase: Add/use utility to move link (BLI_listbase_link_move)Julian Eisel
We were calling BLI_remlink and then BLI_insertlinkbefore/after quite often. BLI_listbase_link_move simplifies code a bit and makes it easier to follow. It also returns if link position has changed which can be used to avoid unnecessary updates. Added it to a number of list reorder operators for now and made use of return value. Behavior shouldn't be changed. Also some minor cleanup.
2016-05-05Fix T48320: Freestyle renders wrong edges of objects which in the other ↵Tamito Kajiyama
RenderLayer. FSAA sample files in EXR format are no longer always updated (after some changes between 2.73 and 2.74 releases), and the reported bug was caused by old samples from a previous frame that were being merged by mistake. The present revision addresses the documented issue by entirely skipping the rendering of auto-generated scenes when there are no Freestyle strokes to render, which suppresses sample merging of the render layers that were not rendered.
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-12-28Fix T47045: add some missing UI i18n translations to texture buttons and ↵Bastien Montagne
freestyle render messages.
2015-11-23Cleanup: use single struct for freestyle globalsCampbell Barton
Was shadowing local vars.
2015-11-09Cleanup: avoid incrementing/decrementing id->us outside of BKE_library.Bastien Montagne
We have callbacks for that, they also do some checks and help ensure things are done correctly. Only place where this is assumed not true is blenloader (since here we may affect refcount of library IDs as well...).
2015-05-16Fix T44691 Freestyle render crashes when Views is on (Blender Internal).Tamito Kajiyama
In pipeline.c the function add_freestyle() was supposed to be called once per frame, but after the Multi-view merge the function are called as many as the number of views. There were however a few Freestyle parameters that have to be initialized per frame, and initializing one of the parameters for each view was causing double freeing of allocated memory which was enough to result in a crash.
2015-05-09Freestyle: Partial fix for a crash with Save Buffers option enabled.Tamito Kajiyama
Prevents null pointer references in the case of the Save Buffers option enabled. This is a regression likely due to rBd5f1b9c22233.
2015-04-28Compilation error fixes for strict compiler flagsSergey Sharybin
2015-04-28Fix T44404: freestyle crashes blender.Tamito Kajiyama
The reported crash case seems to be caused by freeing compiled Python objects in a thread. Now this issue is avoided by allocating a buffer to store a Python script and using BPY_string_exec() to run the script. This makes it unnecessary to repeatedly create and destroy Text data blocks. Many thanks to Campbell Barton for his help on the bug fix.
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-27Freestyle: Code cleanup, prepare for strict C++ flagsSergey Sharybin
2015-01-17Fix T43090: Cycles + Freestyle + border render = black render.Tamito Kajiyama
The reported problem was due to a special case where there are no strokes to be rendered. Since rendering an empty scene is a waste of time, the issue was addressed here by skipping the stroke rendering process entirely.
2014-10-29Cleanup: warnings, typosCampbell Barton
2014-10-02Fix freestyle/bplayer build (usual stub stuff).Bastien Montagne
2014-10-02Freestyle: View map caching.Tamito Kajiyama
New render layer option named "View map cache" is added to reuse a previously computed view map for subsequent rendering. The cache is automatically updated when the mesh geometry of the input 3D scene has been changed. This functionality offers a major performance boost for Freestyle animation rendering when camera-space mesh geometry is static, as well as for repeated still renders with updates of line stylization options. Although the "View map cache" toggle is a render layer option, the cache memory is shared by all render layers and scenes. This means that if Freestyle is used for two or more render layers (possibly in different scenes through the compositor), then the cached view map for one render layer is replaced by a new view map for another render layer and hence no performance gain is expected.
2014-08-12Freestyle: Removed the stored bContext from the Controller class.Tamito Kajiyama
The stored context object was used for creation of shade nodes. A closer look at the node system showed that the context is not actually used when shader nodes are added to a shader node tree. Relying on this fact, now a NULL pointer is passed to nodeAddStaticNode() instead of the stored bContext pointer.
2014-08-12Fix for SCENE_OT_freestyle_stroke_material_create not respecting "use_nodes" ↵Tamito Kajiyama
line style prop.
2014-08-12Freestyle: Fix for error handling in SCENE_OT_freestyle_stroke_material_create.Tamito Kajiyama
2014-08-12Freestyle: Fix for an increasing reference count of images in copied Image ↵Tamito Kajiyama
Texture shader nodes.
2014-08-12Freestyle: an improved workflow of line style shading nodes.Tamito Kajiyama
Removed the previous changes for passing a line style through the Controller, and revised the BlenderTextureShader to assign the shader node tree of a line style (if specified) to strokes. This way the assignment of shading nodes can be done through both the Freestyle GUI and Python scripting.
2014-08-12WIP commit just for a record of a working snapshot of code revisions for ↵Tamito Kajiyama
node-based textured strokes.
2014-08-12Fix for renamed API functions in rB415af0b.Tamito Kajiyama
2014-08-12Follow-up to rB647969f9b617: Renamed CTX_data_linestyle_from_scene() to ↵Tamito Kajiyama
BKE_get_linestyle_from_scene().
2014-08-12Freestyle: Added preliminary support for textured strokes in Cycles.Tamito Kajiyama
Now the shader node tree of a line style ID datablock is used to define textures as well as their mapping and influence. TODO: Textures alpha channel mapping and influence. TODO: Blend mode in the Output Line Style shader node.
2014-08-12Added new operator "Create Freestyle Stroke Material" for testing.Tamito Kajiyama
2014-07-01Second attempt to fix T40833: Crash when rendering with freestyle.Tamito Kajiyama
The cause of the crash was identified in an uninitialized member variable `Main->lock`. Now that struct Main has a few member variables whose values are dynamically allocated, per-render Freestyle-specific Main data structures will be allocated and released using `BKE_main_new()` and `BKE_main_free()`, respectively. This revision complements the commit rB6135556f4556.
2014-06-26Reverted part of my previous commit causing a crash.Tamito Kajiyama
2014-06-26Freestyle: code cleanup: removed unused (outdated) static variables.Tamito Kajiyama
2014-06-20Implement resolution divider in the Blender InternalSergey Sharybin
Currently resolution divider is not exposed to the interface yet, and i'm not even sure it needs to be exposed because it's somewhat weird configuration. Need to check how often artists are changing start resolution in Cycles. Pretty much straightforward implementation with the only weak part: render result is getting re-allocated and upscaled when current resolution is finished. Not sure how to make it faster actually. Maybe it's just a matter of making upscale fast enough. Needed to fix some possible memory leak happening in Freestyle when canceling rendering on a special stage -- it was missing temp bmain free, Reviewers: campbellbarton, dingto CC: sebastian_k, fsiddi, venomgfx Differential Revision: https://developer.blender.org/D609
2014-05-11Freestyle: Fix for the active line set index possibly invalidated after ↵Tamito Kajiyama
deleting a line set.
2014-05-11Added BKE_freestyle_lineset_delete() by generalizing ↵Tamito Kajiyama
FRS_delete_active_lineset().
2014-02-05Code cleanup: use bool for static methodsCampbell Barton
2014-01-15Fix collada and freestyle module compile errors after recent commit, forgot toBrecht Van Lommel
compile with those enabled.
2013-09-30more fixes relating to [#36878], freestyle was only checking for NULL ↵Campbell Barton
linestyles in some places.
2013-06-11Fix #35561: freestyle + read full sample layers = crash.Tamito Kajiyama
Now add_freestyle() in pipeline.c takes a second argument to enable/disable stroke rendering. When stroke rendering is disabled, the function allocates data structures but does not perform stroke rendering. The allocated data structures (mostly left unpopulated with data elements) are intended to allow for the Read Full Sample Layers (Shift-R) command in the compositor.
2013-05-01remove headers from FRS_freestyle.hCampbell Barton
2013-04-18Make freestyle use local Main for temporary objectsSergey Sharybin
This means main database is no longer pollutes with temporary scene and objects needed for freestyle render. Actually, there're few of separated temporary mains now. Ideally it's better to use single one, but it's not so much trivial to pass it to all classes. Not so big deal actually. Required some changes to blender kernel, to make it possible to add object to a given main, also to check on mesh materials for objects in given main. This is all straightforward changes. As an additional, solved issue with main database being infinitely polluted with text blocks created by create_lineset_handler function. This fixes: - #35003: Freestyle crashes if user expands objects in FRS1_Scene - #35012: ctrl+f12 rendering crashes when using Freestyle
2013-04-09Attempt to fix a potential name conflict between Freestyle and the compositor.Tamito Kajiyama
A crash in the Freestyle renderer was reported by Ton on IRC with a stack trace below. Note that #2 is in Freestyle, whereas #1 is in the compositor. The problem was observed in a debug build on OS X 10.7 (gcc 4.2, openmp disabled, no llvm). ---------------------------------------------------------------------- Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: 13 at address: 0x0000000000000000 [Switching to process 72386 thread 0xf303] 0x0000000100c129f3 in NodeBase::~NodeBase (this=0x10e501c80) at COM_NodeBase.cpp:43 43 delete (this->m_outputsockets.back()); Current language: auto; currently c++ (gdb) where #0 0x0000000100c129f3 in NodeBase::~NodeBase (this=0x10e501c80) at COM_NodeBase.cpp:43 #1 0x0000000100c29066 in Node::~Node (this=0x10e501c80) at COM_Node.h:49 #2 0x000000010089c273 in NodeShape::~NodeShape (this=0x10e501c80) at NodeShape.cpp:43 #3 0x000000010089910b in NodeGroup::destroy (this=0x10e501da0) at NodeGroup.cpp:61 #4 0x00000001008990cd in NodeGroup::destroy (this=0x10e5014b0) at NodeGroup.cpp:59 #5 0x00000001008990cd in NodeGroup::destroy (this=0x114e18da0) at NodeGroup.cpp:59 #6 0x00000001007e6602 in Controller::ClearRootNode (this=0x114e19640) at Controller.cpp:329 #7 0x00000001007ea52e in Controller::LoadMesh (this=0x114e19640, re=0x10aba4638, srl=0x1140f5258) at Controller.cpp:302 #8 0x00000001008030ad in prepare (re=0x10aba4638, srl=0x1140f5258) at FRS_freestyle.cpp:302 #9 0x000000010080457a in FRS_do_stroke_rendering (re=0x10aba4638, srl=0x1140f5258) at FRS_freestyle.cpp:600 #10 0x00000001006aeb9d in add_freestyle (re=0x10aba4638) at pipeline.c:1584 #11 0x00000001006aceb7 in do_render_3d (re=0x10aba4638) at pipeline.c:1094 #12 0x00000001006ae061 in do_render_fields_blur_3d (re=0x10aba4638) at pipeline.c:1367 #13 0x00000001006afa16 in do_render_composite_fields_blur_3d (re=0x10aba4638) at pipeline.c:1815 #14 0x00000001006b04e4 in do_render_all_options (re=0x10aba4638) at pipeline.c:2021 ---------------------------------------------------------------------- Apparently a name conflict between the two Blender modules is taking place. The present commit hence intends to address it by putting all the Freestyle C++ classes in the namespace 'Freestyle'. This revision will also prevent potential name conflicts with other Blender modules in the future. Special thanks to Lukas Toenne for the help with C++ namespace.
2013-04-03Use of text datablocks for storing Python style modules.Tamito Kajiyama
Suggested by Brecht Van Lommel and Campbell Barton through code review comments. Previously style modules were external Python script files whose absolute paths were kept in .blend files. Now style modules are stored in .blend files as text datablocks. Style modules are configured in three steps: 1. Open an external style module file (or create a new text datablock) in the Text Editor in Blender. 2. Add a style module to the list of style modules (by pressing the "Add" button) in the Render Layer properties window. 3. Click the name entry and select the style module from the drop-down menu.
2013-03-31remove blender foundation copyright from freestyle files.Campbell Barton
this can be added back on case-by-case basis, but better not assume ownership of another projects work by default.
2013-03-24Removed a Freestyle-specific function call from bf_windowmanager.Tamito Kajiyama
Suggested by Sergey Sharybin through a code review of the branch.
2013-03-23A major code update for making the DNA file specification of Freestyle settingsTamito Kajiyama
and RNA for it independent of the build flag for enabling Freestyle. Suggested by Sergey Sharybin through a code review of the branch. * Many #ifdef WITH_FREESTYLE blocks were removed to always have Freestyle-specific DNA file specification and RNA for it built in Blender. This will allow Freestyle setting survive even when a non-Freestyle build is used for loading and saving files. It is noted that operations are still conditionally built through #ifdef WITH_FREESTYLE blocks. * To this end, new blenkernel files BKE_freestyle.h and intern/freestyle.c have been added. All API functions in FRS_freestyle_config.h as well as some of those in FRS_freestyle.h were moved to the new files. Now the relocated API functions have BKE_ prefix instead of FRS_.
2013-03-22Fix for default values different from the factory settings.Tamito Kajiyama
Suggested by IRIE Shinsuke through a code review of the branch.
2013-03-19quiet warnings by making undeclared vars staticCampbell Barton
2013-03-08A big code clean-up patch from Bastien Montagne, many thanks!Tamito Kajiyama
2013-03-03Code clean-up: used copy_m4_m4() and unit_m4() instead of verbose loops.Tamito Kajiyama
Based on review comment from Campbell.