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
path: root/intern
AgeCommit message (Collapse)Author
2022-02-04Merge branch 'blender-v3.1-release'Clément Foucault
2022-02-04Fix T93851: Cycles wrong glossy indirect pass with volumesBrecht Van Lommel
2022-02-04Guarded allocator: Document non-obvious initialization with MEM_new()Julian Eisel
Initialization with `MEM_new()` depends a lot on the initialization rules of C++, which are not obvious. Calling it with no arguments to be passed to the constructor may cause the resulting object to be implicitly 0 initialized (or parts of it). This can have an impact on performance sensitive code, so it's something to document. Alternatively we could enforce default initialization (as opposed to the value initalization that happens now), but this could cause uninitialized memory in a way that isn't obvious either. This is a possible source of bugs, so Jacques and I decided against it.
2022-02-03Curves: Changes to the new curves data-blockHans Goudey
This patch refactors the "Hair" data-block, which will soon be renamed to "Curves". The larger change is switching from an array of `HairCurve` to find indices in the points array to simply storing an array of offsets. Using a single integer instead of two halves the amount of memory for that particular array. Besides that, there are some other changes in this patch: - Split the data-structure to a separate `CurveGeometry` DNA struct so it is usable for grease pencil too. - Update naming to be more aligned with newer code and the style guide. - Add direct access to some arrays in RNA -- Radius is now retrieved as a regular attribute in Cycles. -- `HairPoint` has been renamed to `CurvePoint` -- `HairCurve` has been renamed to `CurveSlice` - Add comments to the struct in DNA. The next steps are renaming `Hair` -> `Curves`, and adding support for other curve types: Bezier, Poly, and NURBS. Ref T95355 Differential Revision: https://developer.blender.org/D13987
2022-02-03Merge branch 'blender-v3.1-release'Brecht Van Lommel
2022-02-03Cleanup: clang-formatBrecht Van Lommel
2022-02-03Fix T93565: revert Cycles to old normal behavior for point lightsSebastian Herholz
This patch reverts the normal behavior of the spotlights. In the last fix, the returned normal of a spot light was equal to its direction. This broke some texturing methods used by artists. Differential Revision: https://developer.blender.org/D13991
2022-02-03Merge branch 'blender-v3.1-release'Thomas Dinges
2022-02-03Fix wrong function call in Cycles acceleration UI poll.Thomas Dinges
Thanks to Sergey for spotting this mistake.
2022-01-31Fix Cycles assert in light samplingBrecht Van Lommel
There is no object transform on lights.
2022-01-31XR: Print OpenXR SDK version in --debug-xr modePeter Kim
Helps with version validation when updating the OpenXR dependency.
2022-01-31Cleanup: spelling in commentsCampbell Barton
2022-01-31Cleanup: use our own conventions for tags in commentsCampbell Barton
2022-01-30Cleanup: Cmake: remove unnecessary definitions for internationalizationAaron Carlisle
Previously, macros were ifdefed using the cmake option `WITH_INTERNATIONAL` However, the is unnecessary as withen the functions themselves have checks for building without internationalization. This also means that many `add_definitions(-DWITH_INTERNATIONAL)` are also unnecessary. Reviewed By: mont29, LazyDodo Differential Revision: https://developer.blender.org/D13929
2022-01-29Fix T62651: Win32 Multiple Adapters WarningHarley Acheson
Show a more instructive error message for users who have plugged multiple monitors into multiple display adapters. And do not exit if unable to open a child window when in this state. See D13885 for more details Differential Revision: https://developer.blender.org/D13885 Reviewed by Ray Molenkamp
2022-01-29Fix T93626: Win IME Chinese Numpad DecimalHarley Acheson
Allow Windows IME Pinyin, when in Chinese mode, to use numpad decimal key to enter decimal point. See D13902 for more details. Differential Revision: https://developer.blender.org/D13902 Reviewed by Brecht Van Lommel
2022-01-28Win32: Initialize GHOST_WindowWin32 MembersHarley Acheson
Initialize m_Bar, m_dropTarget, & m_hWnd members of GHOST_WindowWin32 in constructor's member initializer list. This ensures they are are set or NULL in destructor if constructor does not complete. See D13886 for more details. Differential Revision: https://developer.blender.org/D13886 Reviewed by Jesse Yurkovich
2022-01-28Fix Cycles assert in light samplingBrecht Van Lommel
There is no object transform on lights.
2022-01-28Fix insufficient CPU flags checks for Cycles OIDNSergey Sharybin
Sometime throughout development some checks got lost during refactor. This change makes it so that if OIDN is not supported on the current CPU Cycles will report an error and stop rendering. This behavior is similar to when an OptiX denoiser is requested and there is no OptiX compatible device available. The easiest way to verify this change is to force return false from the `openimagedenoise_supported()`. Fixes Cycles part of the T94127. Differential Revision: https://developer.blender.org/D13944
2022-01-28Cleanup: indentation for CMake filesCampbell Barton
Also minor white-space & case changes.
2022-01-26Cycles: remove ray offsettingWilliam Leeson
Remove small ray offsets that were used to avoid self intersection, and leave that to the newly added primitive object/prim comparison. These changes together significantly reduce artifacts on small, large or far away objects. The balance here is that overlapping primitives are not handled well and should be avoided (though this was already an issue). The upside is that this is something a user has control over, whereas the other artifacts had no good manual solution in many cases. There is a known issue where the Blender particle system generates overlapping objects and in turn leads to render differences between CPU and GPU. This will be addressed separately. Differential Revision: https://developer.blender.org/D12954
2022-01-26Cycles: explicitly skip self-intersectionWilliam Leeson
Remember the last intersected primitive and skip any intersections with the same primitive. Ref D12954
2022-01-26Cycles: compute triangle location from barycentric instead of re-intersectingWilliam Leeson
This is a bit more efficient than what we did before. Ref D12954
2022-01-26Revert "CMake: include BROTLI_LIBRARIES in FREETYPE_LIBRARIES on UNIX"Campbell Barton
This reverts commit 086f1911698154edd4cc19dc966e966bb0060917. There was apparently a problem using APPEND which wasn't referenced in the commit log. Added comment noting the reason for the discrepancy.
2022-01-26Fix: OSL not recognizing UVTILE imagesJesse Yurkovich
The OSL image compilation step needed to be taught about the new UVTILE format for UDIM textures. A small missing feature from OIIO[1] means this is a bit uglier than it needs to be. Once we update to a version of OIIO with the fix we can remove the string replace part. [1] https://github.com/OpenImageIO/oiio/commit/35cb6a83e28d77bd9eb30e153abd9df4248863c5 Differential Revision: https://developer.blender.org/D13912
2022-01-26Cleanup: spelling in commentsCampbell Barton
2022-01-26CMake: include BROTLI_LIBRARIES in FREETYPE_LIBRARIES on UNIXCampbell Barton
This was already done for APPLE & WIN32, which would reference these libraries twice. Now append BROTLI_LIBRARIES to FREETYPE_LIBRARIES when they're required for linking. No functional changes as all references to FREETYPE_LIBRARIES also used BROTLI_LIBRARIES.
2022-01-25Cleanup: Remove leftover hair fade code in Cycles.Thomas Dinges
2022-01-25Cycles: Reorganize Acceleration Structure UI panel.Thomas Dinges
Only show options that are valid for the used device (CPU, GPU, Multi). Note: The panel isn't shown for OPTIX anymore, unless Multi device is used. Reference: https://developer.blender.org/D13592
2022-01-25Cycles: Make Embree compact BVH optionalThomas Dinges
Make the Embree RTC_SCENE_FLAG_COMPACT flag optional and enabled per default. Disabling it makes CPU rendering a bit faster in some scenes at the cost of a higher memory usage. Barbershop renders about 3% faster, victor about 4% on CPU with compact BVH disabled. Differential Revision: https://developer.blender.org/D13592
2022-01-25Cycles: add Point Info nodeBrecht Van Lommel
With (center) position, radius and random value outputs. Eevee does not yet support rendering point clouds, but an untested implementation of this node was added for when it does. Ref T92573
2022-01-25CMake/Linux: find Brotli library the proper waySybren A. Stüvel
Use a `FindBrotli.cmake` module instead of manually appending library paths. This is just for Linux; Windows and macOS will be reviewed separately.
2022-01-25Cleanup: Remove unused pixel buffer in read_render_tileJesse Yurkovich
A left over remnant from rB1a134c4c30a643ada1b9a7a037040b5f5c173a28 Differential Revision: https://developer.blender.org/D13901
2022-01-24Fix T94355: Cycles wrong GPU bake with adaptive samplingBrecht Van Lommel
2022-01-24Fix T94651: Cycles error with pointcloud vector attributeBrecht Van Lommel
2022-01-23Fix Cycles crash collecting render statsKévin Dietrich
2022-01-21Cmake/Deps: Freetype 2.11.0 / brotli 1.0.9Ray Molenkamp
The UI team requested adding woff2 support to freetype. this required a new dependency brotli. This changes adds brotili to the builder and bumps freetype to version 2.11.0 As freetype now depends on other libraries, for consistency all use of ${FREETYPE_LIBRARY} in cmake has been updated to use ${FREETYPE_LIBRARIES} adjustments have been made in the windows platform file, all other platforms use cmake's FindFreeType.cmake which already sets this variable. reviewed by: brecht Differential Revision: https://developer.blender.org/D13448
2022-01-21Cycles: add pointcloud implementation for Metal RTBrecht Van Lommel
This is not currently working, with an internal compiler error. However we are currently using BVH2 instead of Metal RT. So this has no effect for users, it's being committed to avoid the code getting outdated. Ref T92573, T92212 Differential Revision: https://developer.blender.org/D13632
2022-01-21Fix T93711: Cycles diffuse/glossy baking does not write alphaBrecht Van Lommel
With the change to use render passes internally the alpha channel got lost. Add support for these render passes to output an alpha channel for baking.
2022-01-20Fix T94457: random result using sky texture in light objectBrecht Van Lommel
Still not well defined, but should not longer use uninitialized values that gave different results between CPU/GPU and subsequent renders.
2022-01-20Fix T94698: artifacts in light passes with mixed volumes and surfacesBrecht Van Lommel
2022-01-20Fix T94712: Cycles missing colorspace transform on grayscale imagesBrecht Van Lommel
2022-01-20Fix T94582: Cycles mapping shader node incorrectly skipped in Normal modeBrecht Van Lommel
Even if no rotation or scale is specified, we must still always normalize the output.
2022-01-20Cleanup: Remove OpenCL workaround in volume_sample_channel().Thomas Dinges
2022-01-20Cycles: Fix bvh2 gen on Apple Silicon and use it to speed up rendersMichael Jones
This patch fixes a correctness issue discovered in the `int4 select(...)` function on Apple Silicon machines, which causes bad bvh2 builds. Although the generated bvh2s give correct renders, the resulting runtime performance is terrible. This fix allows us to switch over to bvh2 on Apple Silicon giving a significant performance uplift for many of the standard benchmarking assets. It also fixes some unit test failures stemming from the use of MetalRT, and trivially enables the new pointcloud primitive. Ref T92212 Reviewed By: brecht Maniphest Tasks: T92212 Differential Revision: https://developer.blender.org/D13877
2022-01-20Cleanup: Remove unused python helper function.Thomas Dinges
Branched Path has been removed with the Cycles X merge.
2022-01-20Subdivision: add support for vertex creasingKévin Dietrich
This adds vertex creasing support for OpenSubDiv for modeling, rendering, Alembic and USD I/O. For modeling, vertex creasing follows the edge creasing implementation with an operator accessible through the Vertex menu in Edit Mode, and some parameter in the properties panel. The option in the Subsurf and Multires to use edge creasing also affects vertex creasing. The vertex crease data is stored as a CustomData layer, unlike edge creases which for now are stored in `MEdge`, but will in the future also be moved to a `CustomData` layer. See comments for details on the difference in behavior for the `CD_CREASE` layer between egdes and vertices. For Cycles this adds sockets on the Mesh node to hold data about which vertices are creased (one socket for the indices, one for the weigths). Viewport rendering of vertex creasing reuses the same color scheme as for edges and creased vertices are drawn bigger than uncreased vertices. For Alembic and USD, vertex crease support follows the edge crease implementation, they are always read, but only exported if a `Subsurf` modifier is present on the Mesh. Reviewed By: brecht, fclem, sergey, sybren, campbellbarton Differential Revision: https://developer.blender.org/D10145
2022-01-20Cleanup: spelling in commentsCampbell Barton
2022-01-20Cleanup: clang-formatCampbell Barton
2022-01-19Cycles: Fix T94736: Crash when modifying strength of world environment textureMichael Jones
This patch fixes crash T94736 on Metal in which the launch_params were not being updated to reflect destruction of MetalMem objects. Reviewed By: brecht Differential Revision: https://developer.blender.org/D13875