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
2021-10-26Cycles: changes to source code folders structureBrecht Van Lommel
* Split render/ into scene/ and session/. The scene/ folder now contains the scene and its nodes. The session/ folder contains the render session and associated data structures like drivers and render buffers. * Move top level kernel headers into new folders kernel/camera/, kernel/film/, kernel/light/, kernel/sample/, kernel/util/ * Move integrator related kernel headers into kernel/integrator/ * Move OSL shaders from kernel/shaders/ to kernel/osl/shaders/ For patches and branches, git merge and rebase should be able to detect the renames and move over code to the right file.
2021-10-26Cycles: add additive AO support through Fast GI settingsBrecht Van Lommel
Add a Fast GI Method, either Replace for the existing behavior, or Add to add ambient occlusion like the old world settings. This replaces the old Ambient Occlusion settings in the world properties.
2021-10-26Cycles: restore Denoising Depth pass, when enabling Denoising Data passesBrecht Van Lommel
This is still useful in some cases even if not used by OpenImageDenoise. In the future this may be replaced with a more generic system to control render passes and filtering, but for now this just does what it did before.
2021-10-25Cleanup: clang-tidy, spellingCampbell Barton
2021-10-25Fix T92073: Cycles flicker when panning in camera view with border renderSergey Sharybin
Panning in camera view makes the border to be modified, which was causing the Cycles display to believe the rendered result is unusable. The solution is to draw the render result at the display parameters it was updated for. This allows to avoid flickering during panning, zooming, and camera FOV changes. The suboptimal aspect of this is that it has some jelly effect, although it is on the same level as jelly effect of object outline so it is not terrible. Differential Revision: https://developer.blender.org/D12970
2021-10-22Cycles: various fixes for HIP and compilation of HIP binariesSayak Biswas
* Additional structs added to the hipew loader for device props * Adds hipRTC functions to the loader for future usage * Enables CPU+GPU usage for HIP * Cleanup to the adaptive kernel compilation process * Fix for kernel compilation failures with HIP with latest master Ref T92393, D12958
2021-10-22Cycles: improve communication of supported GPUs in preferencesBrecht Van Lommel
Mention required CUDA and OptiX compute capability and minimum driver version. For HIP there is a placeholder until we know the supported architectures.
2021-10-20Fix T62325, T91990: changing Cycles presets does not update the Blender UIBrecht Van Lommel
2021-10-19Cycles: improve sampling pattern description regarding adaptive samplingBrecht Van Lommel
2021-10-15Fix T92032: Cycles panoramic cameras do not support shiftBrecht Van Lommel
2021-10-15Fix Cycles Python error with pinned materials in properties editorBrecht Van Lommel
2021-10-13Fix Cycles viewport after session resetSergey Sharybin
Happens i.e. when changing compute device. A more proper follow-up to the on-demand display driver creation change.
2021-10-13Fix Cycles assert in viewport after recent changeSergey Sharybin
Create display early on, so that ready_to_reset() passes assert test for use for display actually configured.
2021-10-13Fix: Stops assert when baking in debug mode.William Leeson
When baking in a debug build running gdb it kept asserting because a GL context was being created outside the main thread. To fix this the patch only creates the GL context is only created for rendering (when it is actually used). Reviewed By: sergey Differential Revision: https://developer.blender.org/D12767
2021-10-11Fix T92056: empty sampling pattern in Cycles when opening some existing filesBrecht Van Lommel
2021-10-11Cycles: restore Christensen-Burley SSSBrecht Van Lommel
There is not enough time before the release to improve Random Walk to handle all cases this was used for, so restore it for now. Since there is no more path splitting in cycles-x, this can increase noise in non-flat areas for the sample number of samples, though fewer rays will be traced also. This is fundamentally a trade-off we made in the new design and why Random Walk is a better fit. However the importance resampling we do now does help to reduce noise. Differential Revision: https://developer.blender.org/D12800
2021-10-08Fix T90666: Toggling motion blur while persistent data is enabled results in ↵Patrick Mours
artifacts Enabling or disabling motion blur requires rebuilding the BVH of affected geometry and uploading modified vertices to the device (since without motion blur the transform is applied to the vertex positions, whereas with motion blur this is done during traversal). Previously neither was happening when persistent data was enabled, since the relevant node sockets were not tagged as modified after toggling motion blur. The change to blender_object.cpp makes it so `geom->set_use_motion_blur()` is always called (regardless of motion blur being toggled on or off), which will tag the geometry as modified if that value changed and ensures the BVH is updated. The change to hair.cpp/mesh.cpp was necessary since after motion blur is disabled, the transform is applied to the vertex positions of a mesh, but those changes were not uploaded to the device. This is fixed now that they are tagged as modified. Maniphest Tasks: T90666 Differential Revision: https://developer.blender.org/D12781
2021-10-08Cleanup: Explicit specifier for single argument constructorSergey Sharybin
2021-10-08Cleanup: Else after return in CyclesSergey Sharybin
2021-10-05Fix adaptive sampling artifacts on tile boundariesSergey Sharybin
Implement an overscan support for tiles, so that adaptive sampling can rely on the pixels neighbourhood. Differential Revision: https://developer.blender.org/D12599
2021-10-04Fix Cycles render time pass being available in UI, but it was removedBrecht Van Lommel
This previously only work for CPU rendering, and isn't that practical to get working in the new architecture.
2021-10-04Cleanup: Redundant space at the end of commentSergey Sharybin
2021-10-04Fix T91867: Error reading tiles with Persistent Data ONSergey Sharybin
2021-10-03Cleanup: spelling in commentsCampbell Barton
2021-09-30Cycles: refactor API for render outputBrecht Van Lommel
* Add OutputDriver, replacing function callbacks in Session. * Add PathTraceTile, replacing tile access methods in Session. * Add more detailed comments about how this driver should be implemented. * Add OIIOOutputDriver for Cycles standalone to output an image. Differential Revision: https://developer.blender.org/D12627
2021-09-30Cycles: refactor API for GPU displayBrecht Van Lommel
* Split GPUDisplay into two classes. PathTraceDisplay to implement the Cycles side, and DisplayDriver to implement the host application side. The DisplayDriver is now a fully abstract base class, embedded in the PathTraceDisplay. * Move copy_pixels_to_texture implementation out of the host side into the Cycles side, since it can be implemented in terms of the texture buffer mapping. * Move definition of DeviceGraphicsInteropDestination into display driver header, so that we do not need to expose private device headers in the public API. * Add more detailed comments about how the DisplayDriver should be implemented. The "driver" terminology might not be obvious, but is also used in other renderers. Differential Revision: https://developer.blender.org/D12626
2021-09-30Nodes: Add Float Curve for GN and Shader nodes.Charlie Jolly
Replacement for float curve in legacy Attribute Curve Map node. Float Curve defaults to [0.0-1.0] range. Reviewed By: JacquesLucke, brecht Differential Revision: https://developer.blender.org/D12683
2021-09-30Fix Cycles viewport flickeringSergey Sharybin
Caused by a lack of synchronization between update process which sets clear flag and the draw code checking the flag outside of a lock.
2021-09-29Cleanup: trailing space, newlines at EOFCampbell Barton
2021-09-29Cleanup: spelling in commentsCampbell Barton
2021-09-28Cycles: add HIP device support for AMD GPUsBrian Savery
NOTE: this feature is not ready for user testing, and not yet enabled in daily builds. It is being merged now for easier collaboration on development. HIP is a heterogenous compute interface allowing C++ code to be executed on GPUs similar to CUDA. It is intended to bring back AMD GPU rendering support on Windows and Linux. https://github.com/ROCm-Developer-Tools/HIP. As of the time of writing, it should compile and run on Linux with existing HIP compilers and driver runtimes. Publicly available compilers and drivers for Windows will come later. See task T91571 for more details on the current status and work remaining to be done. Credits: Sayak Biswas (AMD) Arya Rafii (AMD) Brian Savery (AMD) Differential Revision: https://developer.blender.org/D12578
2021-09-28Cycles: Improve handling of tile file errorSergey Sharybin
Expose them to the interface, and stop rendering as soon as possible. Differential Revision: https://developer.blender.org/D12617
2021-09-27Fix part of T91516: Cycles not rendering geometry nodes instancesBrecht Van Lommel
Part of the fix is by Jacques. This fixes the most obvious case, but it's still not clear how to deal with non-mesh geometry instances or how to handle motion blur for such instances.
2021-09-27Cleanup: fix (harmless) uninitialized variable usageBrecht Van Lommel
2021-09-24Fix Cycles memory leak in baking, after recent changesBrecht Van Lommel
2021-09-24Fix T91660: Cycles remaining render time does not take into account time limitBrecht Van Lommel
2021-09-24Cleanup: clang formatPhilipp Oeser
2021-09-24Hair Info Length AttributeJeroen Bakker
Goal is to add the length attribute to the Hair Info node, for better control over color gradients or similar along the hair. Reviewed By: #eevee_viewport, brecht Differential Revision: https://developer.blender.org/D10481
2021-09-23Cycles: improve Auto Tile option descriptionBrecht Van Lommel
Ref T91645
2021-09-23Fix last Cycles tile highlighted while file from disk is being processedSergey Sharybin
2021-09-23Cleanup: spelling in commentsCampbell Barton
2021-09-22Fix T91608: Cycles crash with tile size 0Brecht Van Lommel
2021-09-22Fix T91600: Cycles viewport not updaing on metaball changesBrecht Van Lommel
2021-09-22Fix bad image drawing during rendering on certain GPUsSergey Sharybin
Reported by Thomas DInges: the default cube render in Cycles has jagged edges during rendering. Happens on AMD Radeon RX 5500 XT. Force linear interpolation at zoom level 1 and less. Reviewed by @fclem
2021-09-22Cleanup: spelling in commentsCampbell Barton
2021-09-21Cycles: merge of cycles-x branch, a major update to the rendererBrecht Van Lommel
This includes much improved GPU rendering performance, viewport interactivity, new shadow catcher, revamped sampling settings, subsurface scattering anisotropy, new GPU volume sampling, improved PMJ sampling pattern, and more. Some features have also been removed or changed, breaking backwards compatibility. Including the removal of the OpenCL backend, for which alternatives are under development. Release notes and code docs: https://wiki.blender.org/wiki/Reference/Release_Notes/3.0/Cycles https://wiki.blender.org/wiki/Source/Render/Cycles Credits: * Sergey Sharybin * Brecht Van Lommel * Patrick Mours (OptiX backend) * Christophe Hery (subsurface scattering anisotropy) * William Leeson (PMJ sampling pattern) * Alaska (various fixes and tweaks) * Thomas Dinges (various fixes) For the full commit history, see the cycles-x branch. This squashes together all the changes since intermediate changes would often fail building or tests. Ref T87839, T87837, T87836 Fixes T90734, T89353, T80267, T80267, T77185, T69800
2021-09-10Modifiers: export motion blur velocity through attributeBrecht Van Lommel
Previously fluid simulation and Alembic modifiers had a dedicated function to query the velocity for motion blur. Now use a more generic system where those modifiers output a velocity attribute. Advantages: * Geometry and particle nodes can output velocity through the same mechanism, or read the attribute coming from earlier modifiers. * The velocity can be preserved through modifiers like subdivision surface or auto smooth. * USD and Alembic previously only output velocity from fluid simulation, now they work with velocity from other sources too. * Simplifies the code for renderers like Cycles and exporters like Alembic and USD. This breaks compatibility: * External renderers and exporters accessing these velocities through the Python API now need to use the attribute instead. * Existing modifier node setups that create an attribute named "velocity" will render differently with motion blur. Differential Revision: https://developer.blender.org/D12305
2021-09-06Geometry Nodes: support for geometry instancingJacques Lucke
Previously, the Point Instance node in geometry nodes could only instance existing objects or collections. The reason was that large parts of Blender worked under the assumption that objects are the main unit of instancing. Now we also want to instance geometry within an object, so a slightly larger refactor was necessary. This should not affect files that do not use the new kind of instances. The main change is a redefinition of what "instanced data" is. Now, an instances is a cow-object + object-data (the geometry). This can be nicely seen in `struct DupliObject`. This allows the same object to generate multiple geometries of different types which can be instanced individually. A nice side effect of this refactor is that having multiple geometry components is not a special case in the depsgraph object iterator anymore, because those components are integrated with the `DupliObject` system. Unfortunately, different systems that work with instances in Blender (e.g. render engines and exporters) often work under the assumption that objects are the main unit of instancing. So those have to be updated as well to be able to handle the new instances. This patch updates Cycles, EEVEE and other viewport engines. Exporters have not been updated yet. Some minimal (not master-ready) changes to update the obj and alembic exporters can be found in P2336 and P2335. Different file formats may want to handle these new instances in different ways. For users, the only thing that changed is that the Point Instance node now has a geometry mode. This also fixes T88454. Differential Revision: https://developer.blender.org/D11841
2021-08-26Cleanup, quiet compile warningsKévin Dietrich
2021-08-26Cleanup: warningsCampbell Barton