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
2020-09-05Fix Cycles redefining some Blender macrosBrecht Van Lommel
These changes were accidentally copied over from the Cycles repository, remove them again.
2020-09-04Fix Cycles unsetting most GCC and Clang C++ flagsJulian Eisel
Caused by f04260d8c679. Cycles' CMake defines macros with the same name as Blender, which override the Blender ones. There's however a small difference in the re-defined `remove_cc_flag()`, the Cycles version only takes one flag at a time. So I guess Blender's calls to it would only result in the first flag being removed. Of course Cycles shouldn't override any Blender macros, but I'll leave that up to Brecht to fix properly.
2020-09-04Fix build error on macOS after recent changesBrecht Van Lommel
2020-09-04CMake: refresh building and external library handling of Cycles standaloneBrecht Van Lommel
* Support precompiled libraries on Linux * Add license headers * Refactoring to deduplicate code Includes work by Ray Molenkamp and Grische for precompiled libraries. Ref D8769
2020-09-04Cycles: Cleanup, mark overridden virtual methods as suchSergey Sharybin
Solves strict Clang warnings reported on Linux.
2020-09-03Fix T79803: Wrong Distance To Edge 1D VoronoiOmarSquircleArt
The current 1D Voronoi implementation for the Distance to Edge option computes the distance to the cells instead. This patch fixes that and compute the distance to the edge. Reviewed By: JacquesLucke, brecht Differential Revision: https://developer.blender.org/D8634
2020-09-02Cycles: Support WITH_CYCLES_NATIVE_ONLY with MSVCRay Molenkamp
This change enables the developer option `WITH_CYCLES_NATIVE_ONLY` for MSVC. This allows a developer to just build the cycles CPU kernel for their specific system rather than all kernels, speeding up development. Other platforms have had this option for years, but MSVC lacks the compiler switch to target the host architecture hence it always build all kernels. This change uses a small helper program to detect the required flags. Only AVX/AVX2 are tested, for the following reasons - SSE2 is enabled by default and requires no flags - SSE3/4 have no specific build flags for msvc - AVX512 is not yet supported by cycles Differential Revision: https://developer.blender.org/D8775 Reviewed by: brecht, sergey
2020-09-02Cleanup: Clang-formatRay Molenkamp
2020-09-01Cycles: Separate Embree device for each CPU Device.Stefan Werner
Before, Cycles was using a shared Embree device across all instances. This could result in crashes when viewport rendering and material preview were using Cycles simultaneously. Fixes issue T80042 Maniphest Tasks: T80042 Differential Revision: https://developer.blender.org/D8772
2020-09-01Fix Cycles build error when disabling some kernel featuresImre Palik
Differential Revision: https://developer.blender.org/D8372
2020-09-01Cycles: Fixed Cycles standalone build.Stefan Werner
The node refactor in 429afe0c626a was missing in the standalone code.
2020-09-01Cycles: Followup fixes for node ownership refactor.Stefan Werner
There were some places where nodes still would end up without owners. See D8540 and 429afe0c626a
2020-08-31Cycles: introduce an ownership system to protect nodes from unwanted deletions.Kévin Dietrich
Problem: the Blender synchronization process creates and tags nodes for usage. It does this by directly adding and removing nodes from the scene data. If some node is not tagged as used at the end of a synchronization, it then deletes the node from the scene. This poses a problem when it comes to supporting procedural nodes who can create other nodes not known by the Blender synchonization system, which will remove them. Nodes now have a NodeOwner, which is set after creation. Those owners for now are the Scene for scene level nodes and ShaderGraph for shader nodes. Instead of creating and deleting nodes using `new` and `delete` explicitely, we now use `create_node` and `delete_node` methods found on the owners. `delete_node` will assert that the owner is the right one. Whenever a scene level node is created or deleted, the appropriate node manager is tagged for an update, freeing this responsability from BlenderSync or other software exporters. Concerning BlenderSync, the `id_maps` do not explicitely manipulate scene data anymore, they only keep track of which nodes are used, employing the scene to create and delete them. To achieve this, the ParticleSystem is now a Node, although it does not have any sockets. This is part of T79131. Reviewed By: #cycles, brecht Maniphest Tasks: T79131 Differential Revision: https://developer.blender.org/D8540
2020-08-28Merge branch 'blender-v2.90-release'Philipp Oeser
2020-08-28Fix T80149: Cycles OpenCL baking broken after changes to uses tiles for bakingBrecht Van Lommel
We forgot to update this code as part of D3108. I'd like to include this in 2.90, it's entirely broken now so can't really get any worse. Differential Revision: https://developer.blender.org/D8738
2020-08-26Fix T80129: Cycles shadow catcher viewport error with exposure other than 1Brecht Van Lommel
2020-08-26Merge remote-tracking branch 'origin/blender-v2.90-release'Dalai Felinto
2020-08-25Fix T77298: Cycles multiple object making not working with multiple samplesBrecht Van Lommel
The previous fix loaded the pixels so existing tiles were not overwritten. However the Cycles render buffer is expected to be scaled by the number of sample, which was not taken into account. This is not ideal in that previews could have a mismatched number of samples between multiple objects, though the result will be correct. The better solution would be to bake all objects together per tile, rather than one after the other. But that is a bigger change than we can do in 2.90. Differential Revision: https://developer.blender.org/D8704
2020-08-24Merge branch 'blender-v2.90-release'Pablo Dobarro
2020-08-24Fix T79819: crash with OSL trace() and getmessage() after Embree changesBrecht Van Lommel
The return value of scene_intersect must be checked, the isect struct members can't be assumed to be initialized if that returns false. Differential Revision: https://developer.blender.org/D8692
2020-08-24Fix T80076: Cycles Alembic Motion Blur ProblemKévin Dietrich
The problem occurs when a deforming modifier is added to the object after the MeshSequenceCache modifier. We should only consider the cached velocities if the MeshSequenceCache modifier is the last one on the object and we also need to check for the correct vertex count before adding the motion vertex attribute.
2020-08-24Cycles: cleanup, remove unused parameterKévin Dietrich
This parameter was introduced during a revision of the Alembic motion blur patch, and is not needed anymore.
2020-08-24Cycles: Fix missing dependencies in libcycles_deviceImre Palik
The code uses OpenGL functionality, so is to be linked against OpenGL libraries. This makes it easier to integrate with cycles using CMake. Differential Revision: https://developer.blender.org/D8371
2020-08-19Cycles : add a Volume Geometry NodeKévin Dietrich
This splits the volume related data (properties for rendering and attributes) of the Mesh node into a new `Volume` node type. This `Volume` node derives from the `Mesh` class since we generate a mesh for the bounds of the volume, as such we can safely work on `Volumes` as if they were `Meshes`, e.g. for BVH creation. However such code should still check for the geometry type of the object to be `MESH` or `VOLUME` which may be bug prone if this is forgotten. This is part of T79131. Reviewed By: brecht Maniphest Tasks: T79131 Differential Revision: https://developer.blender.org/D8538
2020-08-18Merge remote-tracking branch 'origin/blender-v2.90-release'Dalai Felinto
2020-08-18Remove (ifdef) RNA for simulation, point cloud and particlesDalai Felinto
For 2.90 release this should not be exposed in the RNA API. In master this needs to be ON by default, that's all. Differential Revision: https://developer.blender.org/D8589
2020-08-18Cycles: add a Pass NodeKévin Dietrich
The Pass struct is now a Node and the passes are moved from the Film class to the Scene class. The Pass Node only has `type` and `name` as sockets as those seem to be the only properties settable by exporters (other properties are implicit and depend on the pass type). This is part of T79131. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8591
2020-08-18Cycles: move some Scene related methods out of SessionKévin Dietrich
This moves `Session::get_requested_device_features`, `Session::load_kernels`, and `Session::update_scene` out of `Session` and into `Scene`, as mentioned in D8544. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8590
2020-08-17Merge branch 'blender-v2.90-release'Philipp Oeser
2020-08-17Fix T77683: Cycles baking crash with motion blur enabled and no cameraPhilipp Oeser
specified Maniphest Tasks: T77683 Differential Revision: https://developer.blender.org/D8593
2020-08-17Cycles: Fix local intersections in Embree for non-instancd geometry.Stefan Werner
Embree's occlusion filter was checking against the wrong object ID and not exiting correctly in case of a mismatch. Fixes T79723
2020-08-17Merge branch 'blender-v2.90-release'Richard Antalik
2020-08-17Fix T79052: Cycles new sky texture fails with sun size zeroBrecht Van Lommel
Clamp to a minimum angle to avoid precision issues.
2020-08-17Cycles: Fix local intersections in Embree for non-instancd geometry.Stefan Werner
Embree's occlusion filter was checking against the wrong object ID and not exiting correctly in case of a mismatch. Fixes T79723
2020-08-17Cleanup: spellingCampbell Barton
2020-08-14Merge branch 'blender-v2.90-release'Julian Eisel
2020-08-14Fix T79769, T79768: crash tweaking volume settings with Cycles viewport renderBrecht Van Lommel
Refitting the BVH does not work in this case, it needs to be fully rebuilt.
2020-08-13Cleanup: clang-formatCampbell Barton
2020-08-12Merge branch 'blender-v2.90-release'Brecht Van Lommel
2020-08-12Fix T79680, T79680: confusing viewport denoise start sample behaviorBrecht Van Lommel
2020-08-12Merge branch 'blender-v2.90-release'Brecht Van Lommel
2020-08-12Fixes T77882: artifacts rendering OpenVDB volumes with multiple grids in CyclesKévin Dietrich
The previous algorithm was not using all of the requested grids to build a mesh around the volume due to limitations regarding the use of a dense buffer to gather information about the volume's topology. This resulted in artefacts during rendering. The mesh generation is now done by merging all of the input grids and using the resulting grid's topology to create the mesh. The generation of the mesh is still done in index space as before, and the vertices are converted to object space by using the merged topology grid indexToWorld transform. To be able to merge the grids together we have to make sure that their transformation matrices and their index spaces match, thus, if they do not match we simply resample the grids. This behaviour should tackle one other limitation of the current algorithm, which is that only one transformation matrix was used to generate the final mesh. If we do not have an OpenVDB grid for the requested volume data, we generate a temporary OpenVDB grid for it. Differential Revision: https://developer.blender.org/D8401
2020-08-07Revert "Cleanup: Cycles, applied Clang-Format"Sybren A. Stüvel
This reverts commit 88cc3f167f7ee404640289ed9cfd6b13f0494d98. It was caused by running Clang-Format version 10, instead of 9 from the precompiled libs directory.
2020-08-07Cleanup: Cycles, applied Clang-FormatSybren A. Stüvel
No functional changes.
2020-08-06Merge branch 'blender-v2.90-release'Antonio Vazquez
2020-08-06Fix T79586: "rendering paused" not shown when viewport render starts pausedBrecht Van Lommel
2020-08-06Merge remote-tracking branch 'origin/blender-v2.90-release'Dalai Felinto
2020-08-06Cycles: load OpenVDB file earlier in Blender exportBrecht Van Lommel
In an upcoming bugfix we'll use OpenVDB data structures directly to build mesh for sparse OpenVDB volumes, loading them OpenVDB grids earlier and removing any references to Blender data structures makes that easier. This also makes changes to Blender volumes to support this, so Cycles can take ownership of a grid without Blender having to keep its own reference to it. This should also be useful in a future Python API. Ref D8401
2020-08-05Merge branch 'blender-v2.90-release'Jeroen Bakker
2020-08-05Fix T78869: denoising performance regression on WindowsBrecht Van Lommel
Optimization was disabled in this function to work around a bug in MSVC, use a different solution that does not come with such a big performance regression.