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-05-28Code refactor: modify mesh storage to use arrays rather than vectors, ↵Brecht Van Lommel
separate some arrays. Differential Revision: https://developer.blender.org/D2016
2016-05-23Cycles: Fix missing volumes support for feature-adaptive viewport renderSergey Sharybin
2016-04-20Cycles: Stop rendering when bad_alloc happensSergey Sharybin
This is an attempt to gracefully handle out-of-memory events and stop rendering with an error message instead of a crash. It uses bad_alloc exception, and usually i'm not really fond of exceptions, but for such limited use for errors from which we can't recover it should be fine. Ideally we'll need to stop full Cycles Session, so viewport render and persistent images frees all the memory, but that we can support later, since it'll mainly related on telling Blender what to do. General rules are: - Use as less exception handles as possible, try to find a most geenric pace where to handle those. For example, ccl::Session. - Threads needs own handling, exception trap from one thread will not catch exceptions from other threads. That's why BVH build needs own thing. Reviewers: brecht, juicyfruit, dingto, lukasstockner97 Differential Revision: https://developer.blender.org/D1898
2016-04-19Cycles: Improvements and fixes for the resumable renderSergey Sharybin
- Fix wrong current sample reported in the log - Also includes fix for progressive refine log - Explicitly print to the stdout that resumable render is enabled - Print error message and abort when passing wrong values for the resumable render. Never waste someone's compute power for wrong render! Fixes T48185: Cycles resumable num chunks breaks sample counter
2016-03-11Cycles: Do no limit viewport samples to USHRT_MAX when value is at 0.Thomas Dinges
We don't limit manually setting higher values, this was probably overlooked here. Found by @Blendify in IRC.
2015-11-22Cycles: Make branched path tracer covered with requested featuresSergey Sharybin
This gives few percent extra memory saving for the CUDA kernel when using regular path tracing. Still more like an experiment, but will be handy in the future.
2015-11-21Cycles: Make requested features struct aware of subsurface BSDFSergey Sharybin
This way we'll be able to disable SSS for the scene-adaptive kernel.
2015-07-18Cycles: Log requested device featuresSergey Sharybin
Useful to have this always logged because otherwise it's needed to remove cached kernels and check build flags to see which features are enabled.
2015-07-18Cycles; Make baking a feature-specific optionSergey Sharybin
This means render devices now might skip building baking kernels in cases when only actual render-related functionality is used. For now it's only implemented for OpenCL split kernel device and mainly needed to work around some compiler-specific bugs which crashes on building the kernel. Using OpenCL for baking might still crash the driver, but at least there is now higher probability of that GPU will be usable to render the scene. Real fix should actually be done in the driver side.
2015-06-18Cycles: Report currently sampling tile when CPU is working on the last tileSergey Sharybin
This is mainly useful for the render farms output when logging might stop at the "Path Tracing Tile N/N" string, which makes it a bit difficult to follow what exactly is happening (node going crazy, hardware issues or just last tile is too much heavy). This is more like an experiment, might be changed in the future.
2015-06-08Cycles: Make hair, object and motion blur selective compiled into OpenCLSergey Sharybin
This features are now based on the scene settings, so scenes without those features used are rendered even faster. This gives about 30% speedup on the AMD A10 APU here, but at the same time it does not mean such an improvement will happen on all the hardware. That being said, the Tonga device here seems to have no measurable difference. In any case it seems handy to have for the future, when we'll want to support SSS in the kernel or to port selective compilation/split kernel to CUDA devices.
2015-06-01Cycles: Fix wrong max nodes group used for the viewport renderSergey Sharybin
2015-05-19Cycles: Check for validity of the tiles arrays in progressive refineSergey Sharybin
In certain configurations (for example when start resolution is set to small value for background render and progressive refine enabled) number of tiles might change in the tile manager. This situation will confuse progressive refine feature and likely cause crash. We might also add some settings verification in the session constructor, but having an assert with brief explanation about what's wrong should already be much better than nothing.
2015-05-19Cycles: Check for whether update/write callbacks are set prior to calling themSergey Sharybin
This changes the progressive refine part, regular update was already checking for whether callbacks are set.
2015-05-09Cycles: OpenCL kernel splitGeorge Kyriazis
This commit contains all the work related on the AMD megakernel split work which was mainly done by Varun Sundar, George Kyriazis and Lenny Wang, plus some help from Sergey Sharybin, Martijn Berger, Thomas Dinges and likely someone else which we're forgetting to mention. Currently only AMD cards are enabled for the new split kernel, but it is possible to force split opencl kernel to be used by setting the following environment variable: CYCLES_OPENCL_SPLIT_KERNEL_TEST=1. Not all the features are supported yet, and that being said no motion blur, camera blur, SSS and volumetrics for now. Also transparent shadows are disabled on AMD device because of some compiler bug. This kernel is also only implements regular path tracing and supporting branched one will take a bit. Branched path tracing is exposed to the interface still, which is a bit misleading and will be hidden there soon. More feature will be enabled once they're ported to the split kernel and tested. Neither regular CPU nor CUDA has any difference, they're generating the same exact code, which means no regressions/improvements there. Based on the research paper: https://research.nvidia.com/sites/default/files/publications/laine2013hpg_paper.pdf Here's the documentation: https://docs.google.com/document/d/1LuXW-CV-sVJkQaEGZlMJ86jZ8FmoPfecaMdR-oiWbUY/edit Design discussion of the patch: https://developer.blender.org/T44197 Differential Revision: https://developer.blender.org/D1200
2015-05-09Cycles: Communicate number of closures and nodes feature set to the deviceSergey Sharybin
This way device can actually make a decision of how it can optimize the kernel in order to make it most efficient.
2015-05-09Cycles: Add utility function to count maximum number of closures used by sessionSergey Sharybin
This will be used by split kernel in order to compile most optimal kernel. Maximum number of closures is actually being cached in the session, so viewport rendering will not trigger kernel re-loading when number of closures goes down.
2015-05-09Cycles: Pass requested tile size to the device via device taskSergey Sharybin
This is currently unused but crucial for things like calculating amount of device memory required to deal with the tasks. Maybe not really best place to store it, but consider it good enough for now.
2015-05-09Cycles: Change the way how we pass requested capabilities to the deviceSergey Sharybin
Previously we only had experimental flag passed to device's load_kernel() which was all fine. But since we're gonna to have some extra parameters passed there it makes sense to wrap them into a single struct, which will make it easier to pass stuff around.
2015-04-06Cycles: More instant feedback on progressive rendering for first sampleSergey Sharybin
Main purpose of this change is to make material preview appearing more instant after the shader tweaks.
2015-03-27Cycles: Code cleanup, spaces around keywordsSergey Sharybin
This inconsistency drove me totally crazy, it's really confusing when it's inconsistent especially when you work on both Cycles and Blender sides. Shouldn;t cause merge PITA, it's whitespace changes only, Git should be able to merge it nicely.
2015-02-21Cycles: Use lower progressive update timeout for preview renderingSergey Sharybin
This ways previews are refreshing with the same ratio as job was expecting this to happen, giving more instant feedback on the changes.
2015-01-14Cycles: Ignore preprocessing time in ETA calculationLukas Stockner
This patch makes Cycles ignore the time spent in BVH construction etc. when estimating the remaining time. Considering that the remaining time is calculated based on the average time per tile so far, as far as I understand it makes no sense to include the preprocessing time. Reviewers: sergey, #cycles Reviewed By: sergey, #cycles Subscribers: sergey Projects: #cycles Differential Revision: https://developer.blender.org/D895
2014-12-25Cleanup: Fix Cycles Apache header.Thomas Dinges
This was already mixed a bit, but the dot belongs there.
2014-12-05Cycles: Add dedicated Progress::set_error() callSergey Sharybin
Currently it acts the same as set_cancel(), but this way we're able to distinguish situations when rendering was aborted by user demand (for example pressing Esc in standalone renderer) or if something went horribly wrong (for example out of VRAM error).
2014-05-19Fix T40262: cycles GPU bake crash due to kernels not loaded, randomly due to ↵Brecht Van Lommel
thread timing.
2014-05-03Cycles BakeDalai Felinto
Expand Cycles to use the new baking API in Blender. It works on the selected object, and the panel can be accessed in the Render panel (similar to where it is for the Blender Internal). It bakes for the active texture of each material of the object. The active texture is currently defined as the active Image Texture node present in the material nodetree. If you don't want the baking to override an existent material, make sure the active Image Texture node is not connected to the nodetree. The active texture is also the texture shown in the viewport in the rendered mode. Remember to save your images after the baking is complete. Note: Bake currently only works in the CPU Note: This is not supported by Cycles standalone because a lot of the work is done in Blender as part of the operator only, not the engine (Cycles). Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Bake Supported Passes: ----------------- Data Passes * Normal * UV * Diffuse/Glossy/Transmission/Subsurface/Emit Color Light Passes * AO * Combined * Shadow * Diffuse/Glossy/Transmission/Subsurface/Emit Direct/Indirect * Environment Review: D421 Reviewed by: Campbell Barton, Brecht van Lommel, Sergey Sharybin, Thomas Dinge Original design by Brecht van Lommel. The entire commit history can be found on the branch: bake-cycles
2014-04-16Fix cycles standalone file saving not taking number of samples into account ↵Brecht Van Lommel
properly.
2014-04-15Fix cycles standalone not writing images in background mode properly.Brecht Van Lommel
2014-04-14Fix cycles standalone not saving renders in background mode.Brecht Van Lommel
2014-03-26Fix T39420: Cycles viewport/preview flickers, when moving mouse across editorsSergey Sharybin
Issue was caused by the wrong usage of OCIO GLSL binding API. To make it work properly on pre-GLSL-1.3 drivers shader is to be enabled after the texture is binded to the opengl context. Otherwise it wouldn't know the proper texture size. This is actually a regression in 2.70 and to be ported to 'a'.
2013-12-07Cycles: network render code updated for latest changes and improvedMartijn Berger
This actually works somewhat now, although viewport rendering is broken and any kind of network error or connection failure will kill Blender. * Experimental WITH_CYCLES_NETWORK cmake option * Networked Device is shown as an option next to CPU and GPU Compute * Various updates to work with the latest Cycles code * Locks and thread safety for RPC calls and tiles * Refactored pointer mapping code * Fix error in CPU brand string retrieval code This includes work by Doug Gale, Martijn Berger and Brecht Van Lommel. Reviewers: brecht Differential Revision: http://developer.blender.org/D36
2013-09-04Fix a few issues reported by coverity scan.Brecht Van Lommel
2013-08-31Cycles: viewport render now takes scene color management settings into account,Brecht Van Lommel
except for curves, that's still missing from the OpenColorIO GLSL shader. The pixels are stored in a half float texture, converterd from full float with native GPU instructions and SIMD on the CPU, so it should be pretty quick. Using a GLSL shader is useful for GPU render because it avoids a copy through CPU memory.
2013-08-23Cycles: more code refactoring to rename things internally as well. Also changeBrecht Van Lommel
property name back so we keep compatibility.
2013-08-18Cycles: relicense GNU GPL source code to Apache version 2.0.Brecht Van Lommel
More information in this post: http://code.blender.org/ Thanks to all contributes for giving their permission!
2013-08-13Code cleanup:Thomas Dinges
* Some typo fixes.
2013-08-09Cycles / Non-Progressive integrator:Thomas Dinges
* Non-Progressive integrator is now available on the GPU (CUDA, sm_20 and above). Implementation details: * kernel_path_trace() has been split up into two functions: kernel_path_trace_non_progressive() and kernel_path_trace_progressive(). * We compile two CUDA kernel entry functions (in kernel.cu) for the two integrators, they are still inside one .cubin file but due to the kernel separation there should be no performance problem. I tested with the BMW file on my Geforce 540M and the render times were the same for 100 samples (1.57 min in my case). This is part of my GSoC project, SVN merge of r59032 + manual merge of UI changes for this from my branch.
2013-07-20Code cleanup / Cycles:Thomas Dinges
* Use USHRT_MAX rather than manual value, suggested by Campbell.
2013-07-19Fix for [#36216] Viewport render with CMJ sampler and unlimited passes freezes Thomas Dinges
* If Preview Samples are set to 0 (unlimited) it now assumes 65536 instead of INT_MAX. This doesn't affect regular sampling, you can still enter fixed values of 100k or whatever.
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-07Cycles: experimental correlated multi-jittered sampling pattern that can be usedBrecht Van Lommel
instead of sobol. So far one doesn't seem to be consistently better or worse than the other for the same number of samples but more testing is needed. The random number generator itself is slower than sobol for most number of samples, except 16, 64, 256, .. because they can be computed faster. This can probably be optimized, but we can do that when/if this actually turns out to be useful. Paper this implementation is based on: http://graphics.pixar.com/library/MultiJitteredSampling/ Also includes some refactoring of RNG code, fixing a Sobol correlation issue with the first BSDF and < 16 samples, skipping some unneeded RNG calls and using a simpler unit square to unit disk function.
2013-05-15Cycles:Thomas Dinges
* Code cleanup, remove unused "resolution" variable from the DeviceTask class, was never used.
2013-04-16Cycles Hair: Strand Minimum Pixel SizeStuart Broadfoot
Code is added to restrict the pixel size of strands in cycles. It works best with ribbon primitives and a preset for these is included. It uses distance dependent expansion of the strands and then stochastic strand removal to give a fading. To prevent a slowdown for triangle mesh objects in the BVH an extra visibility flag has been added. It is also only applied for camera rays. The strand width settings are also changed, so that the particle size is not included in the width calculation. Instead there is a separate particle system parameter for width scaling.
2013-04-05Fix another part of #34877: cycles progress status text not showing correct withBrecht Van Lommel
per render layer samples in addition to the progress bar. Also fixed job progress bar not working at all on high DPI / retina, was so small the actual progress was not visible.
2013-02-13Correction for fix #34205: Zooming in rendered mode during update out of ↵Sergey Sharybin
sync with intended zoom Didn't initially notice one possibility when GPU render would fail here,
2013-02-12Fix #34205: Cycles: Zooming in rendered mode during update out of sync with ↵Sergey Sharybin
intended zoom Made sure no pause_cond.wait() happens at the same time as session as resetting.
2013-02-07Fix small memory leak in cycles tile render, a few bytes for each tile.Brecht Van Lommel
Reported by "aquo" on IRC.
2013-02-06style cleanup: some warnigs & spelling.Campbell Barton
2013-01-07Cycles / Tile Rendering:Thomas Dinges
* Added new option to chose the tile order. In addition to the "Center" method, 4 new methods are available now, like Top -> Bottom and Right -> Left. Thanks to Sergey for code review and some tweaks!