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
2019-02-11Merge branch 'blender2.7'Brecht Van Lommel
2019-02-11Cycles: refactor Blender device settings handling into own file.Brecht Van Lommel
2019-02-06Merge branch 'blender2.7'Brecht Van Lommel
2019-02-06Cycles: prefilter feature passes separate from denoising.Lukas Stockner
Prefiltering of feature passes will happen during rendering, which can then be used for denoising immediately or written as a render pass for later (animation) denoising. The number of denoising data passes written is reduced because of this, leaving out the feature variance passes. The passes are now Normal, Albedo, Depth, Shadowing, Variance and Intensity. Ref D3889.
2019-01-30Merge branch 'blender2.7'Brecht Van Lommel
2019-01-29Cycles: delay CUDA and OpenCL initialization to avoid driver crashes.Brecht Van Lommel
We've had many reported crashes on Windows where we suspect there is a corrupted OpenCL driver. The purpose here is to keep Blender generally usable in such cases. Now it always shows None / CUDA / OpenCL in the preferences, and only when selecting one will it reveal if there are any GPUs available. This should avoid crashes when opening the preferences or on startup. Differential Revision: https://developer.blender.org/D4265
2018-12-28Cycles: restore old sample and material override settings for view layers.Brecht Van Lommel
Since there will be no view layer overrides in 2.80, this is needed still.
2018-12-21RNA: naming, user-preferences -> preferencesCampbell Barton
2018-12-13RNA: revert recent rename 'updated' -> 'dirty'Campbell Barton
Partially reverts 45fdf41be87f & 6d38d824377c, added comment why term 'updated' is used in this case.
2018-11-30Merge branch 'master' into blender2.8Campbell Barton
2018-11-30Correct missing semicolon in recent commitCampbell Barton
2018-11-29Merge branch 'master' into blender2.8Campbell Barton
2018-11-29Cycles: Add sample-based runtime profiler that measures time spent in ↵Lukas Stockner
various parts of the CPU kernel This commit adds a sample-based profiler that runs during CPU rendering and collects statistics on time spent in different parts of the kernel (ray intersection, shader evaluation etc.) as well as time spent per material and object. The results are currently not exposed in the user interface or per Python yet, to see the stats on the console pass the "--cycles-print-stats" argument to Cycles (e.g. "./blender -- --cycles-print-stats"). Unfortunately, there is no clear way to extend this functionality to CUDA or OpenCL, so it is CPU-only for now. Reviewers: brecht, sergey, swerner Reviewed By: brecht, swerner Differential Revision: https://developer.blender.org/D3892
2018-11-15Cycles: Cleanup, code styleSergey Sharybin
2018-11-07Merge branch 'master' into blender2.8Stefan Werner
2018-11-07Cycles: Added Embree as BVH option for CPU renders.Stefan Werner
Note that this is turned off by default and must be enabled at build time with the CMake WITH_CYCLES_EMBREE flag. Embree must be built as a static library with ray masking turned on, the `make deps` scripts have been updated accordingly. There, Embree is off by default too and must be enabled with the WITH_EMBREE flag. Using Embree allows for much faster rendering of deformation motion blur while reducing the memory footprint. TODO: GPU implementation, deduplication of data, leveraging more of Embrees features (e.g. tessellation cache). Differential Revision: https://developer.blender.org/D3682
2018-10-30Merge branch 'master' into blender2.8Brecht Van Lommel
2018-10-29Cycles: Support generating Denoising passes without actually denoisingLukas Stockner
Needed for the animation denoiser since the denoising filter is done separately there. Reviewers: brecht, sergey Reviewed By: brecht Differential Revision: https://developer.blender.org/D3833
2018-10-28Merge branch 'master' into blender2.8Brecht Van Lommel
2018-10-28Cycles: Added Cryptomatte output.Stefan Werner
This allows for extra output passes that encode automatic object and material masks for the entire scene. It is an implementation of the Cryptomatte standard as introduced by Psyop. A good future extension would be to add a manifest to the export and to do plenty of testing to ensure that it is fully compatible with other renderers and compositing programs that use Cryptomatte. Internally, it adds the ability for Cycles to have several passes of the same type that are distinguished by their name. Differential Revision: https://developer.blender.org/D3538
2018-10-26Cycles: Expose noisy image pass by default when rendering with denoiserLukas Stockner
Apparently quite a few users would like to have the noisy pass available when using the denoiser, and since it's being generated anyways we might as well expose it by default. Reviewers: brecht Differential Revision: https://developer.blender.org/D3608
2018-08-30Merge branch 'master' into blender2.8Sergey Sharybin
2018-08-30Cycles: Cleanup, whitespace after keywordSergey Sharybin
2018-08-29Merge branch 'master' into blender2.8Sergey Sharybin
2018-08-29Cycles: Add BVH8 and packeted triangle intersectionSergey Sharybin
This is an initial implementation of BVH8 optimization structure and packated triangle intersection. The aim is to get faster ray to scene intersection checks. Scene BVH4 BVH8 barbershop_interior 10:24.94 10:10.74 bmw27 02:41.25 02:38.83 classroom 08:16.49 07:56.15 fishy_cat 04:24.56 04:17.29 koro 06:03.06 06:01.45 pavillon_barcelona 09:21.26 09:02.98 victor 23:39.65 22:53.71 As memory goes, peak usage raises by about 4.7% in a complex scenes. Note that BVH8 is disabled when using OSL, this is because OSL kernel does not get per-microarchitecture optimizations and hence always considers BVH3 is used. Original BVH8 patch from Anton Gavrikov. Batched triangles intersection from Victoria Zhislina. Extra work and tests and fixes from Maxym Dmytrychenko.
2018-08-28Merge branch 'master' into blender2.8Brecht Van Lommel
2018-08-25Cycles: Add Denoising Clean to the debugging denoising passesLukas Stockner
2018-08-21Fix missing color management in Cycles viewport on macOS.Brecht Van Lommel
The half float extension is not supported on macOS, rather it's simply part of OpenGL core so we don't need to check.
2018-08-12Merge branch 'master' into gsoc-2018-many-light-samplingErik Englesson
2018-08-12Cycles: light_tree_pdf() now accounts for splittingErik Englesson
For the MIS calculations we need to be able to calculate the probability to sample a light using the light tree. This did not account for splitting so if splitting was used the probability would be wrong. This has now been fixed. Also, if we are in PATH mode then the splitting threshold is set to zero.
2018-08-10Cycles: Added more comments and renamed variablesErik Englesson
More code comments have been added to all code related to the light tree. I also renamed all uses of "light BVH" to use light tree instead to keep everything consistent. Functions and variable names that used the camel case naming convention has been changed to follow Blender's code style. Also, unneeded includes were removed.
2018-07-30Fix missing viewport update when toggling light BVH option.Brecht Van Lommel
2018-07-25Cleanup: mark missing Cycles view layer override features with TODO.Brecht Van Lommel
2018-07-18Cycles: Fix missing nested particle systems when instanced multiple timesSergey Sharybin
Was only visible when doing command line, since it was happening due to cache-free policy which was aimed to bring memory usage down. The issue is that if object with particle system is used as a nested duplicator multiple times, it will only generate children first time, and after that its caches are freed. After that duplication system can not generate any instances, since the path cache is lost. Now we delay caches free to after all objects are synchronized, which ensures all instances are generated. This will increase a memory peak a bit during object synchronization time, but overall it shouldn't be that bad, since memory footprint after synchronization will stay the same as before this change. The ultimate thing to do here would be to drop the whole dependency graph away, but this will require: - API on engine side, to inform it to drop the dependency graph. - Changes in Cycles report system to NOT use evaluated scene to get scene name (evaluated scene will be gone with dependency graph).
2018-07-06UI/Python: rename Lamps to Lights, to follow more standard terminology.Brecht Van Lommel
Internally it's still mostly named lamps, though some modules like Cycles were already calling them lights.
2018-07-06Merge branch 'master' into blender2.8Campbell Barton
2018-07-06Cleanup: strip trailing space for cyclesCampbell Barton
2018-07-06Cycles: missed when renaming updated RNACampbell Barton
2018-07-06Cycles: First iteration on split traversalErik Englesson
This makes it possible to sample and evaluate several lights in a single tree traversal. Should sample highly specular lights better too. Can only be used in branched path tracing. This commit contains the following: * GUI for setting the splitting threshold * Recursive split traversal - Split method based on solid angle and BSDF peak - At leafs the path radiance is accumulated to L - Have created a simplified GGX eval that is not currently being used. * Refactor of common code This is in development.
2018-06-25Cycles: Cleanup, indentationSergey Sharybin
2018-06-08Cycles: Added a checkbox in Blender's GUI to turnErik Englesson
on/off the new light sampling method. The checkbox can be found at the bottom of the sampling section in the Render tab. The method is not used by default.
2018-05-30Depsgraph API: renaming, more granular update information.Brecht Van Lommel
* depsgraph.ids: all evaluated datablocks in the depsgraph * depsgraph.objects: all evaluated objects in the depsgraph * depsgraph.object_instances: all object instances to display or render * depsgraph.updates: list of updates to datablocks
2018-05-30Fix missing Cycles 3D viewport updates when editing materials, lamps.Brecht Van Lommel
This introduces a new depsgraph API for getting updated datablocks, rather than getting it from bpy.data. * depsgraph.ids_updated gives a list of all datablocks in the depsgraph which have been updated. * depsgraph.id_type_updated('TYPE') is true if any datablock of the given type has been added, removed or modified. More API updates are coming to properly handle multiple depsgraphs and finer update granularity, but this should make Cycles work again.
2018-05-23Cycles/Render API: changes for better copy-on-write support.Sergey Sharybin
Mainly just passing the depsgraph and evaluated scene and camera, instead of the original one. Patch by Sergey, further modifications by Brecht.
2018-04-25Depsgraph: Clarify python APISergey Sharybin
Follow same naming convention as for C: - Original data is named without any extra prefix/suffix. - Evaluated data is named with _eval suffix.
2018-02-28Fix Cycles to mostly work with render layer / depsgraph changes.Brecht Van Lommel
Point density texture and motion blur are still broken, and many more changes are needed in general to used evaluated datablocks.
2018-02-28Refactor depsgraph/render logic to serve evaluated depsgraph to enginesDalai Felinto
User notes ---------- Compositing, rendering of multi-layers in Eevee should be fully working now. Development notes ----------------- Up until now we were still using the same depsgraph for rendering and viewport evaluation. And we had to go out of our ways to be sure the depsgraphs were updated. Now we iterate over the (to be rendered) view layers and create a depsgraph to each one, fully evaluated and call the render engines (Cycles, Eevee, ...) with this viewlayer/depsgraph/evaluation context. At this time we are not handling data persistency, Depsgraph is created from scratch prior to rendering each frame. So I got rid of most of the partial update calls we had during the render pipeline. Cycles: Brecht Van Lommel did a patch to tackle some of the required Cycles changes but this commit mark these changes as TODOs. Basically Cycles needs to render one layer at a time. Reviewers: sergey, brecht Differential Revision: https://developer.blender.org/D3073
2018-01-23Merge branch 'master' into blender2.8Campbell Barton
2018-01-22Cycles: Replace use_qbvh boolean flag with an enum-based propertySergey Sharybin
This was we can introduce other types of BVH, for example, wider ones, without causing too much mess around boolean flags. Thoughs: - Ideally device info should probably return bitflag of what BVH types it supports. It is possible to implement based on simple logic in device/ and mesh.cpp, rest of the changes will stay the same. - Not happy with workarounds in util_debug and duplicated enum in kernel. Maybe enbum should be stores in kernel, but then it's kind of weird to include kernel types from utils. Soudns some cyclkic dependency. Reviewers: brecht, maxim_d33 Reviewed By: brecht Differential Revision: https://developer.blender.org/D3011
2018-01-13Merge branch 'master' into blender2.8Brecht Van Lommel