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
2021-03-16Revert removal of lambda usage for Python RNA callbacksCampbell Barton
This reverts commits - 476be3746e85b4891189c8d480501905b9400c66 - 8d50a3e19e025ef470132e7edadd7b180db833f5 - 08dbc4f996e4e95f3ab64f7bb3e1193700c585f5 (partially).
2021-03-15Fix T86121: Cycles Attribute returning wrong results with OSLBrecht Van Lommel
Fix uninitialized variable in the OSL shader.
2021-03-15Fix (apparently harmless) Cycles asan warningsBrecht Van Lommel
2021-03-15Cycles: optimize ensure_valid_reflection(), reduces render time by about 1%Mikhail
This is an implementation that is about 1.5-2.1 times faster. It gives a result that is on average 6° different from the old implementation. The difference is because normals (Ng, N, N') are not selected to be coplanar, but instead reflection R is lifted the least amount and the N' is computed as a bisector. Differential Revision: https://developer.blender.org/D10084
2021-03-15Fix T56925: Cycles banding artifacts in dense volumesMikhail Matrosov
Offset the starting point of segments by a random amount to avoid the bounding box shape affecting the result and creating artifacts. Differential Revision: https://developer.blender.org/D10576
2021-03-15Fix Cycles rendering crash on OpenBSDBrecht Van Lommel
Static initialization order was not guaranteed to be correct for node base types. Now wrap all initialization in accessor functions to ensure the order is correct. Did not cause any known bug on Linux/macOS/Windows, but showed up on this platform.
2021-03-15Fix Libmv tests after recent fixSergey Sharybin
Forgot to update regression test to the changed API.
2021-03-15Fix T86262: Tracking backwards fails after gap in trackSergey Sharybin
The issue was caused by a prediction algorithm detecting tracking the wrong way. Solved by passing tracking direction explicitly, so that prediction will always happen correctly regardless of the state of the Tracks context.
2021-03-15Refactor Libmv C-API motion model conversionSergey Sharybin
Mode to an own utility function and guard missing enumerator values with a LOG(FATAL).
2021-03-15Cleanup: Spelling in Libmv commentsSergey Sharybin
2021-03-14CMake/guardedalloc: add header file to TEST_SRCAnkit Meel
2021-03-12Fix T86332: setting Cycles dicing camera fails after recent changesBrecht Van Lommel
Somehow "from __future__ import annotations" and "lambda" are not working together well here, work around it by not using a lambda function.
2021-03-12CLOG: add support for substring matching.Bastien Montagne
So that `--log "*undo*"` matches any log identifier containing `undo`. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D10647
2021-03-12Fix compiler warning when building Cycles without EmbreeBrecht Van Lommel
2021-03-12Alembic procedural: specific result type for cache lookupsKévin Dietrich
This type, CacheLookupResult, holds the data for the current time, or an explanation as to why no data is available (already loaded, or simply nothing available). This is useful to document the behavior of the code but also, in future changes, to respond appropriately for missing data.
2021-03-12Alembic procedural: add support for instancingKévin Dietrich
Inside of the procedural, instances are AlembicObjects which point to the AlembicObject that they instance. In Alembic, an instance is an untyped Object pointing to the original (instanced) one through its source path. During the archive traversal we detect such instances and, only if the instanced object is asked to be rendered, set the instance's AlembicObject to point to the original's AlembicObject. Cycles Object Nodes are created for each AlembicObject, but only for non-instances are Geometries created, which are then shared between Object Nodes. It is supposed, and expected, that all instances share the same shaders, which will be set to be the ones found on the original object. As for caching, the data cache for an AlembicObject is only valid for non-instances and should not be read to or from as it is implicitly shared.
2021-03-12Alembic procedural: move cache building out of object update methodsKévin Dietrich
This will help support instancing as cache building is now decoupled from the logic to update the Nodes' sockets as data (and cache) will need to be shared by different Geometries somehow, and also simplify implementing different data caching methods by centralizing this operation.
2021-03-12Alembic procedural: fix missing attribute updateKévin Dietrich
We need to explicitely tag the Attribute and AttributeSet as modified if we change or add/remove data. This is more of a bandaid until attributes handling is refactored to be able to reuse routines from the Attribute API.
2021-03-12Cleanup: unused variableKévin Dietrich
2021-03-12Alembic procedural: fix potential zero scale matrix generationKévin Dietrich
This can happen during user edits or with files missing the global scale property.
2021-03-11Cleanup: spellingCampbell Barton
2021-03-11Cycles: Change device-only memory to actually only allocate on the devicePatrick Mours
This patch changes the `MEM_DEVICE_ONLY` type to only allocate on the device and fail if that is not possible anymore because out-of-memory (since OptiX acceleration structures may not be allocated in host memory). It also fixes high peak memory usage during OptiX acceleration structure building. Reviewed By: brecht Maniphest Tasks: T85985 Differential Revision: https://developer.blender.org/D10535
2021-03-10Fix wrong white point of Linear ACES in config reading and the bundled configBrecht Van Lommel
The Blender/Cycles XYZ color space has a D65 white point instead of E, and this was not correctly accounted for both in the OpenColor config reading code and the bundled config. This meant that since the OpenColorIO v2 upgrade, the Linear ACES color space was not working correctly, and other OpenColorIO configs defining aces_interchange were not interpreted correctly.
2021-03-09macOS/Ghost: Simplify pasteboard and screen count codeCorbin Dunn
Reviewed By: #platform_macos, sebbas, ankitm Differential Revision: https://developer.blender.org/D10616
2021-03-09macOS/Ghost: Remove unnecessary nil checks.Corbin Dunn
Reviewed By: #platform_macos, sebbas, ankitm Differential Revision: https://developer.blender.org/D10616
2021-03-09macOS/Ghost: Replace NSAutoreleasePool with @autoreleasepoolCorbin Dunn
- Automatic and guaranteed cleanup. - Improves readability and reduces chances of errors by removing `[pool drain]` statements. Reviewed By: #platform_macos, sebbas, ankitm Differential Revision: https://developer.blender.org/D10616
2021-03-08Fix Cycles CUDA build error with Visual Studio 2019 v16.9Brecht Van Lommel
Something in this update broke the floor() function in CUDA, instead use floorf() like we do everywhere else in the kernel code. Thanks to Ray Molenkamp for identifying the solution.
2021-03-07Cleanup: do not pass class member to class methodsKévin Dietrich
2021-03-07Alembic procedural: fix missing update when only the transforms changeKévin Dietrich
The missing update has two sources: The TimeSampling used for looking up transformations in the cache was uninitialized. To fix this, simply use the TimeSampling from the last transformation in the hierarchy (that is the object's parent), which should also contain the time information for all of its parents. The objects are not tagged for update when their trasformations change.
2021-03-07Alembic procedural: fix infinite update loop when modifying Object level ↵Kévin Dietrich
properties
2021-03-05Cleanup: Libmv, clang-formatSergey Sharybin
Is based on Google style which was used in the Libmv project before, but is now consistently applied for the sources of the library itself and to C-API. With some time C-API will likely be removed, and it makes it easier to make it follow Libmv style, hence the diversion from Blender's style. There are quite some exceptions (clang-format off) in the code around Eigen matrix initialization. It is rather annoying, and there could be some neat way to make initialization readable without such exception. Could be some places where loss of readability in matrix initialization got lost as the change is quite big. If this has happened it is easier to address readability once actually working on the code. This change allowed to spot some missing header guards, so that's nice. Doing it in bundled version, as the upstream library needs to have some of the recent development ported over from bundle to upstream. There should be no functional changes.
2021-03-05Cleanup: spellingCampbell Barton
2021-03-05Cleanup: maintain include order without disabling clang formatCampbell Barton
2021-03-05Fix T86185: Win32 Multiple Monitor Window PositionHarley Acheson
Because of D10469 we can now not force child windows onto parent's monitor and allow them to go where they wish. Differential Revision: https://developer.blender.org/D10593 Reviewed by Ray Molenkamp
2021-03-05Windows/CLog: Support color logging on Win 10Jacob Møller
Windows 10 supports V100 on all consoles given you enable the ENABLE_VIRTUAL_TERMINAL_PROCESSING flag for the console. This patch enables color logging only on windows 10 and only if the log is not being redirected to a file. Differential Revision: https://developer.blender.org/D10546
2021-03-04macOS/Ghost: Opt out of AppKit’s automatic window tabbingCorbin Dunn
Since Blender is single-tabbed, this will prevent extraneous tab-related options from appearing in "Window" menu in case AppKit's internals change. Reviewed By: #platform_macos, sebbas, ankitm Differential Revision: https://developer.blender.org/D10606
2021-03-03macOS/Ghost: Remove redundant nil check after initWithContentRectCorbin Dunn
AppKit’s NSWindow.h has NS_ASSUME_NONNULL_BEGIN, and only methods/ properties explicitly marked nullable will ever return nil. Reviewed By: #platform_macos, sebbas Differential Revision: https://developer.blender.org/D10603
2021-03-03macOS/Ghost: Fix memory leak.Corbin Dunn
`new` allocates a new object that needs to be autoreleased. Reviewed By: #platform_macos, sebbas, ankitm Maniphest Tasks: T86222 Differential Revision: https://developer.blender.org/D10597
2021-03-02Cleanup: spelling, minor correctionsCampbell Barton
Also use doxygen comments for sculpt functions.
2021-03-01GLog: Lower default logging severity to INFOSergey Sharybin
Before this change messages of ERROR and above were printed. This change makes it so LOG(INFO), LOG(WARNING), LOG(ERROR) and LOG(FATAL) will be printed to the console by default (without --debug-libmv and --debug-cycles). On a user level nothing is changed because neither INFO nor WARNING severity are used in our codebase. For developers this change allows to use LOG(INFO) to print relevant for debugging information. Bering able to see WARNING messages is also nice, since those are not related to debugging, but are about some detected "bad" state. After this change the LOG(INFO) is really treated as a printf. Why not to use printf to begin with? Because it is often more annoying to print non-scalar types. Why not to use cout? Just a convenience, so that all type of logging is handled in the same way. When one is familiar with Glog used in the area, it is easy to use same utilities during development. Also, it is easy to change LOG(INFO) to VLOG(2) when development is done and one wants to keep the log print but make it only appear when using special verbosity flags. The initial reason why default severity was set to maximum possible value is because of misuse of VLOG with verbosity level 0, which is the same as LOG(INFO). This is also why back in the days --debug-libmv was introduced. Now there is some redundancy between --debug-libmv, --debug-cyles and --verbose, but changes in their meaning will cause user level side effects. Differential Revision: https://developer.blender.org/D10513
2021-03-01Libmv: Avoid use of LOG(INFO) in solverSergey Sharybin
Usage of LOG(INFO) actually went against own guidelines in the logging.h: the INFO is for messages which are to be printed regardless of debug/verbosity settings.
2021-03-01Fix Cycles build error without Embree on WindowsBrecht Van Lommel
Don't use ssize_t, it's not available in MSVC.
2021-03-01Cleanup: spellingCampbell Barton
2021-02-26Cleanup: unused class memberKévin Dietrich
2021-02-25Fix T85926: Cycles missing viewport updates when making materials single userKévin Dietrich
This issue seems to be caused by the reallocation flag not being set on the device shader data array so it was never updated on the GPU although the host memory was modified.
2021-02-24Cmake/deps: Update OSL to 1.11.10.0Ray Molenkamp
This bumps OSL to 1.11.10.0. OSL Has a new build time dependency: Clang, and more importantly it expects clang and llvm to share a library folder, which it previously for us did not. This patch changes: -OSL Update to 1.11.10.0 -refactor the llvm/clang/clang-tools-extra builds into the llvm build using the llvm-project tarball for building that has all of the subprojects in it. -update ispc/openmp builds since clang no longer its own dependency and they have to depend on the llvm build now. -Update the windows builder to use the 64 bit host tools since it ran out of ram linking clang -Since OSL now needs clang to link successfully a findclang.cmake has been provided for linux/OSX Differential Revision: https://developer.blender.org/D10212 Reviewed By: brecht, sebbas, sybren
2021-02-24Revert Automatic Tablet API dynamic fallback.Nicholas Rishel
Removes fallback to Windows Ink when Wintab reports no devices present. Returns to old behavior of using only Wintab if Wintab.dll exists.
2021-02-24Fix T85844: high pressure at start of line.Nicholas Rishel
m_tabletInRange is no longer set for Wintab after 2e81f2c01abd21fdbc reverted Wintab changes. This reverts most button processing to behavior present in 2.91.2. Left in place is a bugfix for Windows Ink: button events while a Windows Ink pen is in range should still be processed. Events processed by Windows Ink and not passed to DefWindowProc do not create WM_*BUTTON events, but button events from e.g. tablet pad express keys do create WM_*BUTTON events and should be handled.
2021-02-24Revert high fequency mouse input for Windows.Nicholas Rishel
Windows mouse history function GetMouesMovePointsEx has well documented bugs where it receives and returns 32 bit screen coordinates, but internally truncates to unsigned 16 bits. For mouse (relative position) input this is not a problem as motion events and the resulting screen coordinates reliably fit within 16 bit precision. For tablets (absolute position) the 16 bit truncation results in corrupt history when tablet drivers use mouse_event or SendInput from the Windows API to move the mouse cursor. Both of these functions take absolute mouse position as singed 32 bit value on the range of 0-65535 (or 0x0-0xFFFF) inclusive. Values larger than 0x7FFF (the largest signed 16 bit value) are reliably corrupt when retrieved from GetMouesMovePointsEx history. This is true regardless of whether mouse history is retrieved using display resolution (GMMP_USE_DISPLAY_POINTS) or high resolution points (GMMP_USE_HIGH_RESOLUTION_POINTS), the latter of which should return points in range 0-65535. Reviewed By: brecht Maniphest Tasks: T85874 Differential Revision: https://developer.blender.org/D10507
2021-02-23WM_MOUSEMOVE cleanup.Nicholas Rishel