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
2016-01-23Vector Transform node support for GLSL mode and the internal rendererAlexander Romanov
The Vector Transform node is a useful node which is present in the Cycles renderer. {F144283} This patch implements the Vector Transform node for GLSL mode and the internal renderer. Example: {F273060} Alexander (Blend4Web Team) Reviewers: brecht, campbellbarton, sergey Reviewed By: campbellbarton, sergey Subscribers: psy-fi, duarteframos, RobM, lightbwk, sergey, AlexKowel, valentin_b4w, Evgeny_Rodygin, yurikovelenov Projects: #bf_blender:_next Differential Revision: https://developer.blender.org/D909
2015-11-16Speedup OpenGL sequencer animation renderingSergey Sharybin
The idea is to avoid having roundtrip from byte to float and back to byte buffer and use render result's byte buffer to store result of sequencer rendering. This actually matches to what regular render pipeline is doing and this gives around 2-3 times speedup of sequencer export on a simple scenes.
2015-11-16Remove unused arguments from RE_WriteRenderViewsMovie()Sergey Sharybin
2015-10-23Cleanup: use int for view_id's & view countCampbell Barton
`size_t` is useful for memory sizes or offsets, the number of views wont realistically exceed an int.
2015-10-23Comments for link-list typesCampbell Barton
2015-09-21Render: Free persistent image storage when loading new fileSergey Sharybin
2015-07-25Compositor: Fixes for the debug passSergey Sharybin
This commit fixes issues with wrong socket type being added to the Cycles debug pass compositor operation, which lead to crashes with non-value pass types. This commit also reverts socket renaming thing because while it's was behaving ok on runtime file reload might have loose the links which is annoying.
2015-07-24Deduplicate some logic around debug passesSergey Sharybin
2015-06-12Cycles: Add debug pass which shows number of instance pushes during camera ↵Sergey Sharybin
ray intersection TODO: We might want to refactor debug passes into PASS_DEBUG and some debug_type (similar to Blender's side passes) to avoid issue of running out of bits.
2015-06-11Cycles: Add debug pass showing average number of ray bounces per pixelSergey Sharybin
Quite straightforward implementation, but still needs some work for the split kernel. Includes both regular and split kernel implementation for that. The pass is not exposed to the interface yet because it's currently not really easy to have same pass listed in the menu multiple times.
2015-05-18Multi-View: small cleranup/refactor with RE_pass_find_by_type and ↵Dalai Felinto
RE_RenderLayerGetPass
2015-04-29Multi-View cleanup: using RenderResult->rect* only for temporary RenderResultsDalai Felinto
Originally I wanted to get rid of RenderResult->rect* entirely, but it's convenient to have for temporary structs. This patch makes sure they are used only when really needed, which should help clearing the code out. (they are needed when using RE_AcquireResultImage() - which produces a RenderResult with no RenderView) Reviewers: sergey Differential Revision: https://developer.blender.org/D1270
2015-04-29Multi-View: new util functions RE_RenderViewGetById() and ↵Dalai Felinto
RE_RenderViewGetByName() Both functions try to find a valid RenderView and if they can't they fallback to the first RenderView of the RenderResult
2015-04-21Stamp refactoring:Antony Riakiotakis
Write those on render result during rendering, so we can cleanly write a render result image after rendering.
2015-04-17Fix T44336: Unable to select cycles-specific passes in UV/image editorDalai Felinto
This approach gets rid of iuser->pass for good. Also, I'm commenting out the pass increase/decrease. This was broken since multiview. I will fix it later (before 2.75), but I didn't want to get this patch mangled with that fix. Thanks Sergey Sharybin for the review and feedbacks. Reviewers: sergey Differential Revision: https://developer.blender.org/D1232
2015-04-09Fix regression after multiview, basically we appended the wrong framesAntony Riakiotakis
to movie file. We have to resort to use crappy workarounds with preview arguments again since preview range is only for OpenGL preview.
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
2014-12-05Render API: Add RenderEngine.error_set() functionSergey Sharybin
This function sets an error message which would be displayed after rendering is over and info space lost the link to the engine.
2014-10-04Cycles: Add support for debug passesSergey Sharybin
Currently only summed number of traversal steps and intersections used by the camera ray intersection pass is implemented, but in the future we will support more debug passes which would help checking what things makes the scene slow. Example of such extra passes could be number of bounces, time spent on the shader tree evaluation and so. Implementation from the Cycles side is pretty much straightforward, could only mention here that it's a build-time option disabled by default. From the blender side it's implemented as a PASS_DEBUG with several subtypes possible. This way we don't need to create an extra DNA pass type for each of the debug passes, saving us a bits. Reviewers: campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D813
2014-08-19Fix T41457: Viewport resolution divider does freestyle for every resolutionSergey Sharybin
Now freestyle would be rendered for the final resolution only, making it so viewport navigation is really interactive.
2014-08-12Proof-of-concept implementation of Freestyle support for Cycles.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-02Fix T39985: crash while rendering a scene with compositing nodes using ↵Sergey Sharybin
another scene The issue was caused by the wrong scene used to acquire render result for. Now made it so render pipeline reports currently rendering scene to the job via special callback. This also solves missing tile highlight issue when rendering multiple scenes in the compositor.
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-02-26Nicer solution to T38846: Split off the render layer forcing from theLukas Tönne
validity check for render operator. This way scene DNA can stay read-only there, cleaner and we don't have to pass an awkward bool pointer around.
2014-02-26Fix T38846: Render layer checkbox is not refreshed.Lukas Tönne
The render operator invoke checks render layers, which can force the render layer to be activated. This requires a notifier, which has to be done in the operator itself (can't do this inside pipeline code).
2014-02-04Code cleanup: declarations for removed functionsCampbell Barton
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2014-01-29Option to lock the interface while renderingSergey Sharybin
Added function called WM_set_locked_interface which does two things: - Prevents event queue from being handled, so no operators (see below) or values are even possible to run or change. This prevents any kind of "destructive" action performed from user while rendering. - Locks interface refresh for regions which does have lock set to truth in their template. Currently it's just a 3D viewport, but in the future more regions could be considered unsafe, or we could want to lock different parts of interface when doing different jobs. This is needed because 3D viewport could be using or changing the same data as renderer currently uses, leading to threading conflict. Notifiers are still allowed to handle, so render progress is seen on the screen, but would need to doublecheck on this, in terms some notifiers could be changing the data. For now interface locking happens for render job only in case "Lock Interface" checkbox is enabled. Other tools like backing would also benefit of this option. It is possible to mark operator as safe to be used in locked interface mode by adding OPTYPE_ALLOW_LOCKED bit to operator template flags. This bit is completely handled by wm_evem_system, not with operator run routines, so it's still possible to run operators from drivers and handlers. Currently allowed image editor navigation and zooming. Reviewers: brecht, campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D142
2014-01-25Fix T38353: some EXR files from other applications not loading correctly.Brecht Van Lommel
* EXR layers with names like 'Z' without any pass name were not loaded at all and would break the Combined pass as well. * EXR pass names longer than 16 characters where writing past the end of the array and getting invalid names.
2014-01-01Fix deadlock happening when using Save Buffers for renderSergey Sharybin
Summary: Issue was caused by the same tile being written twice to the EXR file. This was happening because of partial update of work-in-progress tiles was merging result to the final render result in order to make color management pipeline happy. We need to avoid such a merges and keep memory usage as low as possible when Save Buffers is enabled. Now render pipeline will allocate special display buffer in render layer which will contain combined pass in the display space. This keeps memory usage as low as we can do at this moment. There's one weak thing which is changing color management settings during rendering would lead to lossy conversion. This is because render result's display buffer uses color space from the time when rendering was invoked. This is actually what was happening in previous release already actually so not a big issue. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D162
2013-12-17Changes to partial update during renderingSergey Sharybin
Summary: Mainly addressed to solve old TODO with color managed fallback to CPU mode when displaying render result during rendering. That fallback was caused by the fact that partial image update was always acquiring image buffer for composite output and was only modifying display buffer directly. This was a big issue for Cycles rendering which renders layers one by one and wanted to display progress of each individual layer. This lead to situations when display buffer was based on what Cycles passes via RenderResult and didn't take layer/pass from image editor header into account. Now made it so image buffer which partial update is operating with always corresponds to what is set in image editor header. To make Cycles displaying progress of all the layers one by one made it so image_rect_update switches image editor user to newly rendering render layer. It happens only once when render engine starts rendering next render layer, so should not be annoying for navigation during rendering. Additional change to render engines was done to make it so they're able to merge composite output to final result without marking tile as done. This is done via do_merge_result argument to end_result() callback. This argument is optional so should not break script compatibility. Additional changes: - Partial display update for Blender Internal now happens from the same thread as tile rendering. This makes it so display conversion (which could be pretty heavy actually) is done in separate threads. Also gives better UI feedback when rendering easy scene with small tiles. - Avoid freeing/allocating byte buffer for render result if it's owned by the image buffer. Only mark it as invalid for color management. Saves loads of buffer re-allocations in cases when having several image editors opened with render result. This change in conjunction with the rest of the patch gave around 50%-100% speedup of render time when displaying non-combined pass during rendering on my laptop. - Partial display buffer update was wrong for buffers with number of channels different from 4. - Remove unused window from RenderJob. - Made image_buffer_rect_update static since it's only used in single file. Reviewers: brecht Reviewed By: brecht CC: dingto Differential Revision: http://developer.blender.org/D98
2013-11-20Blender Internal:Thomas Dinges
* Remove Stars feature. This was a quite minimalistic feature and there are better alternatives with more control (particles for example). Removal discussed during BCon13 developer meeting and already years before, time to do it.. Reviewed By: brecht Differential Revision: http://developer.blender.org/D17
2013-10-12code cleanup: use const's for vector args.Campbell Barton
2013-10-10Support for baking vertex colors to textures.Antony Riakiotakis
It allows effects such as baking vertex dirt maps to textures. Also vertex based painting painting may be faster in the future, so this is useful to have. Thanks to Sergey for the review!
2013-10-09Derivative map bakerSergey Sharybin
Added support for derivative map baking, which is accessable as a dedicated baker type. Works pretty much the same as displacement map baker, but gives you derivative map. In fact, inernally this baker is just a filter which applies on the result of displacement map. Both regular and multires baking are supported. Patch by Morten Mikkelsen and self.
2013-09-12Different implementation of patch #36430: use layer froms scene directly forBrecht Van Lommel
rendering, in case some script wants to set it in the render_pre callback. In case of decoupled 3d view layers or local view it will still override this though.
2013-07-08Fix #35960, #36044: blender internal viewport rendering crash while editing ↵Brecht Van Lommel
data. Now the viewport rendering thread will lock the main thread while it is exporting objects to render data. This is not ideal if you have big scenes that might block the UI, but Cycles does the same, and it's fairly quick because the same evaluated mesh can be used as for viewport drawing. It's the only way to get things stable until the thread safe dependency graph is here. This adds a mechanism to the job system for jobs to lock the main thread, using a new 'ticket mutex lock' which is a mutex lock that gives priority to the first thread that tries to lock the mutex. Still to solve: undo/redo crashes.
2013-06-25Render stats text: show elapsed time for blender internal, hide useless ↵Brecht Van Lommel
"Single Layer" at the start, more clearly indicate what the render time of the last frame was, some other tweaks for consistency.
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-123D viewport render preview:Ton Roosendaal
- Put it available as a default now (no debug value needed) - Fixed viewport size error, viewport was badly set (visible with border render, property regions) - Fixed hanging lock in conflict between drawing and initialize new renders.
2013-04-18style cleanupCampbell Barton
2013-04-16Blender Internal Render in viewportTon Roosendaal
Because of our release soon, feature has been added behind the Debug Menu. CTRL+ALT+D and set it to -1. Or commandline --debug-value -1. When debug set to -1, you can put the viewport to 'render' mode, just like for Cycles. Notes for testers: (and please no bugs in tracker for this :) - It renders without AA, MBlur, Panorama, Sequence, Composite - Only active render layer gets rendered. Select another layer will re-render. - But yes: it works for FreeStyle renders! - Also does great for local view. - BI is not well suited for incremental renders on view changes. This only works for non-raytrace scenes, or zoom in ortho or camera mode, or for Material changes. In most cases a full re-render is being done. - ESC works to stop the preview render. - Borders render as well. (CTRL+B) - Force a refresh with arrow key left/right. A lot of settings don't trigger re-render yet. Tech notes: - FreeStyle is adding a lot of temp objects/meshes in the Main database. This caused DepsGraph to trigger changes (and redraws). I've prepended the names for these temp objects with char number 27 (ESC), and made these names be ignored for tag update checking. - Fixed some bugs that were noticable with such excessive re-renders, like for opening file window, quit during renders.
2013-04-04svn merge ^/trunk/blender -r55700:55776Campbell Barton
2013-04-03code cleanup: unused functionsCampbell Barton
2013-03-26Merging r55547 through r55594 from trunk into soc-2008-mxcurioniSergey Sharybin
2013-03-26style cleanup:Campbell Barton
also rename mesh_getVertexCos() --> BKE_mesh_vertexCos_get() to match curve function.
2012-12-20Another big patch set by Bastien Montagne, thanks a lot!Tamito Kajiyama
* Made Freestyle optional (turned on by default). * Fix for missing bpath.c updates in the previous merge of trunk changes.
2012-12-19Merged changes in the trunk up to revision 53146.Tamito Kajiyama
Conflicts resolved: release/datafiles/startup.blend source/blender/blenkernel/CMakeLists.txt source/blender/blenlib/intern/bpath.c source/blender/blenloader/intern/readfile.c
2012-12-11define the size of matrix args for both rows/cols.Campbell Barton