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-08-21Cleanup: spelling in comments & minor cleanupCampbell Barton
Also hyphenate 'mouse-move' use doxy sections in render_update.c & move function comment from the header to the source.
2021-08-20Fix T90804: small grammatical error in noise threshold descriptionAlaska
Differential Revision: https://developer.blender.org/D12277
2021-08-20Alembic Procedural: basic cache control settingsKévin Dietrich
This adds a setting to enable data caching, and another one to set the maximum cache size in megabytes. When caching is enabled we load the data for the entire animation in memory, as we already do, however, if the data exceeds the memory limit, render is aborted. When caching is disabled, we simply load the data for the current frame in memory. Ref D10197 Reviewed By: brecht Differential Revision: https://developer.blender.org/D11163
2021-08-20Fix memory leak while processing mouse eventGermano Cavalcante
Assignment missed.
2021-08-20Alembic Procedural: only subdivide if subsurf modifier is presentKévin Dietrich
As subdivision objects are first class citizens in Alembic, to differentiate them with non-subdivided polygon meshes, the Alembic Procedural automatically sets up subdivision properties on the generated Cycles Mesh. However, for real-time playback subdivision is far too slow, so this modifies the detection of a MeshSeqCache modifier used to activate the procedural to allow for a Subsurf modifier right after the cache one. If present, the procedural will tag the object for subdivision, if absent, the object will be treated as a regular mesh. This is a temporary measure for until subdivision surface settings are part of the Mesh datablock (see T68891). Reviewed By: brecht Differential Revision: https://developer.blender.org/D11162
2021-08-19Cycles: missing case for ignoring subdivision vertex normalsKévin Dietrich
This was missing from rBb8ecdbcd964a.
2021-08-19Fix T90776: Cycles normal map node produces artifactsKévin Dietrich
This is caused by a typo in rBb8ecdbcd964a `sd->prim` is the primitive index, but was used to discriminate the primitive type (stored in `sd- >type`).
2021-08-19Fix error rendering Cycles shader nodes from before 2013Brecht Van Lommel
After the recent changes to use socket identifiers instead of names.
2021-08-19Cycles: experimental integration of Alembic procedural in viewport renderingKévin Dietrich
This patch exposes the Cycles Alembic Procedural through the MeshSequenceCache modifier in order to use and test it from Blender. To enable it, one has to switch the render feature set to experimental and activate the Procedural in the modifier. An Alembic Procedural is then created for each CacheFile from Blender set to use the Procedural, and each Blender object having a MeshSequenceCache modifier is added to list of objects of the right procedural. The procedural's parameters derive from the CacheFile's properties which are already exposed in the UI through the modifier, although more Cycles specific options might be added in the future. As there is currently no cache controls and since we load all the data at the beginning of the render session, the procedural is only available during viewport renders at the moment. When an Alembic procedural is rendered, data from the archive are not read on the Blender side. If a Cycles render is not active and the CacheFile is set to use the Cycles Procedural, bounding boxes are used to display the objects in the scene as a signal that the objects are not processed by Blender anymore. This is standard in other DCCs. However this does not reduce the memory usage from Blender as the Alembic data was already loaded either during an import or during a .blend file read. This is mostly a hack to test the Cycles Alembic procedural until we have a better Blender side mechanism for letting renderers load their own geometry, which will be based on import and export settings on Collections (T68933). Ref T79174, D3089 Reviewed By: brecht, sybren Maniphest Tasks: T79174 Differential Revision: https://developer.blender.org/D10197
2021-08-18Alembic procedural: remove Generated attribute creationKévin Dietrich
The main reason for this is to speed up updates by avoid unnecessary copies as the Generated coordinates are a copy of the vertices. Creating this attribute may become optional in the future, with UI parameters to select which attribute to use from the Alembic archive as reference.
2021-08-18Cycles: use object coordinates when generated coordinates are missingKévin Dietrich
This modifies the attribute lookup to use object coordinates if no generated coordinates are found on the geometry. This is useful to avoid creating and copying this attribute, thus saving a bit of time and memory. Reviewed By: brecht Differential Revision: https://developer.blender.org/D12238
2021-08-18Cycles: avoid copying vertex normals attribute twice to the devicesKévin Dietrich
Vertex normals are needed for normals maps and therefore are packed and send to the device alongside the other float3 attributes. However, we already pack and send vertex normals through `DeviceScene.tri_vnormal`. This removes the packing of vertex normals from the attributes buffer, and reuses `tri_vnormal` in the kernel for normals lookup for normal maps, which reduces memory usage a bit, and speeds up device updates. This also fixes potential missing normals updates following rB12a06292af86, since the need for vertex normals for normals maps was overlooked. Reviewed By: brecht Differential Revision: https://developer.blender.org/D12237
2021-08-18UDIM: Support tile sets that do not start at 1001Jesse Yurkovich
Removes the artificial requirement that UDIM tile sets start at 1001. Blender was already capable of handling sparse tile sets (non-contiguous tiles) so the restriction around starting at 1001 was unnecessary in general. This required fixing a few UDIM-related python bugs around manually updating the `tile_number` field on images as well. See the differential for details. No script changes are necessary but they will now work, correctly, in many more cases. Differential Revision: https://developer.blender.org/D11859
2021-08-17Fix T77307: Particle Info Node Does Not Consider Time RemappingKévin Dietrich
`frame_current_final()` should be used to access the Scene time after remapping, which also matches how the particles system handles time. Reviewed By: brecht Maniphest Tasks: T77307 Differential Revision: https://developer.blender.org/D12239
2021-08-17Fix T82336: Cycles standard attributes missing in displacement shadersKévin Dietrich
Standard attributes are not added to the attributes requests when shaders only have displacement. This is because nodes are only considering the case when the surface socket is connected. To support this, added `Shader.has_surface_link()` which checks for both cases (`has_surface` and `has_displacement`) and replaces all checks on `Shader.has_surface`. Reviewed By: brecht Differential Revision: https://developer.blender.org/D12240
2021-08-16Fix T90689, T90705: Cycles math node with 3 inputs broken after recent changesBrecht Van Lommel
Thanks Charlie Jolly for finding the fix.
2021-08-16Cleanup: spellingCampbell Barton
2021-08-16XR: Color Depth AdjustmentsPeter Kim
This addresses reduced visibility of scenes (as displayed in the VR headset) that can result from the 8-bit color depth format currently used for XR swapchain images. By switching to a swapchain format with higher color depth (RGB10_A2, RGBA16, RGBA16F) for supported runtimes, visibility in VR should be noticeably improved. However, current limitations are lack of support for these higher color depth formats by some XR runtimes, especially for OpenGL. Also important to note that GPU_offscreen_create() now explicitly takes in the texture format (eGPUTextureFormat) instead of a "high_bitdepth" boolean. Reviewed By: Julian Eisel, Clément Foucault Differential Revision: http://developer.blender.org/D9842
2021-08-13Cleanup: Unused function parameter warningSergey Sharybin
2021-08-12Fix T88386: Continuous Grab occasionally jumping on Arm64 MacOSGermano Cavalcante
During the processing of a continuous drag event, other mouse move events may be in the queue waiting to be processed. But when a mouse wrapping happens, these waiting mouse move events become out of date as they report a mouse position prior to wrapping. The current code ignores these events by comparing their `timestamp` to the time recorded in the last mouse wrapping. The bug happens because the computed value in `mach_absolute_time() * 1e-9` for some reason is incompatible with the value of `[event timestamp]`. Since macOS 10.6, we have a new way to get the amount of time the system has been awake. `[[NSProcessInfo processInfo] systemUptime]`. Using this updated method fixed the problem. Differential Revision: https://developer.blender.org/D12202
2021-08-12Cleanup: use C++ style comments for disabled codeCampbell Barton
2021-08-11Cycles: OSL metadata support for UI labels and checkboxesPedro A
To improve the presentation of nodes in the node editor. Recognize the following metadata from the OSL specification: * [[ string label = "UI Label" ]] * [[ string widget = "checkBox" ]] * [[ string widget = "boolean" ]] Ref T89741 Differential Revision: https://developer.blender.org/D12074
2021-08-11Cleanup: use socket identifier instead of names in Cycles shader exportBrecht Van Lommel
Will be required when we support setting different names and identifiers for OSL. Ref D12074
2021-08-10Win32 IME: Replace Usage of Language IDsHarley Acheson
This is a slight refactoring of the Win32 IME code to remove the use of Language IDs, which is now strongly deprecated. Instead this uses the new recommended Locale Names, ie ISO-639-1 2-letter abbreviated names like "en" for English rather than ID 0x09. See D12143 for more details. Differential Revision: https://developer.blender.org/D12143 Reviewed by Ray Molenkamp
2021-08-09Fix T90511: Cycles preview does not update once preview is doneSergey Sharybin
Caused by 4f64fa4f8628. Was a bad backport from the Cycles X branch: the fact that CPU and GPU has different reset code paths was not taken into account.
2021-08-07Cleanup: unnecessary double pointers in XR modulePeter Kim
No functional changes.
2021-08-06Cycles: Fix for possible viewport dead-lockSergey Sharybin
This is a backport of recent development in the Cycles X branch. Fixes possible dead-lock in viewport rendering when exiting at an exact bad moment (couldn't reproduce in master branch, but in the cycles-x branch it was happening every now and then). Differential Revision: https://developer.blender.org/D12154
2021-08-06Cleanup: Use conventional naming for private Session membersSergey Sharybin
Makes it consistent with the guidelines and the Cycles X branch, and allows to backport fix for the viewport update from the branch. Will cause a merge conflict, which should be simple accept-ours in the branch.
2021-08-05Xcode: support cmake options for grouping in foldersGermano Cavalcante
The Xcode IDE can also benefit from the options: - WINDOWS_USE_VISUAL_STUDIO_SOURCE_FOLDERS - WINDOWS_USE_VISUAL_STUDIO_PROJECT_FOLDERS So add suport to these options and also renames them as they are no longer limited to just Windows and Visual Studio. Reviewed By: brecht, ankitm Differential Revision: https://developer.blender.org/D12132
2021-08-05Cleanup: comment blocks & spellingCampbell Barton
2021-08-05Render: move Cycles visibility, holdout and shadow catcher properties to BlenderBrecht Van Lommel
The immediate reason for this is that we want to be able to initialize them to different defaults for light objects, which is hard with Python properties. But in general it is useful to be able to share these with other renderers. As a side effect, Eevee now supports a per-object holdout instead of only per-collection. Differential Revision: https://developer.blender.org/D12133
2021-08-05XR Controller Support Step 2: Action MapsPeter Kim
Addresses the remaining portions of T77137 (Python API for Controller Interaction), which was partially completed by D10942. Adds an XR "action maps" system for loading XR action data from a Python script. Action maps are accessible via the Python API, and are used to pass default actions to the VR session during the xr_session_start_pre() callback. Since action maps are stored only as runtime data, they will be cleaned up with the rest of the VR runtime data on file read or exit. Reviewed By: Julian Eisel, Hans Goudey Differential Revision: https://developer.blender.org/D10943
2021-08-05Cleanup: remove redundant parenthesisCampbell Barton
2021-08-05XR: Action Binding ImprovementsPeter Kim
Provides several important improvements to the runtime action bindings operation and internal API. Moves input-specific action data (input thresholds, input regions, pose offsets/spaces) from actions to more granular action bindings. This allows a single action to be mapped to a variety of inputs, without having to share a single input threshold, region, or space. Also removes the need for action space creation API, as spaces for pose actions will be automatically created with the bindings. The correct action data for the current inputs is set by calling xrGetCurrentInteractionProfile() to get the current profile and then retrieving the corresponding mapped data. Does not bring about any changes for users since only internal runtime functionality is currently affected. Reviewed By: Julian Eisel Differential Revision: http://developer.blender.org/D12077
2021-08-05Win32 IME: Rename SetInputLanguage()Harley Acheson
GHOST_ImeWin32::SetInputLanguage() has a confusing name because it does not set the input language. It actually retrieves the current input locale from the OS and caches the value of the current input language ID. Therefore this patch renames it to "UpdateInputLanguage" Differential Revision: https://developer.blender.org/D12134 Reviewed by Ray Molenkamp
2021-08-04Win32 IME: Remove ime_status_Harley Acheson
This removes one member of GHOST_ImeWin32 that is not used and cannot be used in the future. It is holding the result of ImmIsIME, which is whether an input language supports IME. It does not indicate that one is in use, turned on, composing, in English mode, etc. see D12131 for more information. Differential Revision: https://developer.blender.org/D12131 Reviewed by Ray Molenkamp
2021-08-04Cycles: make object Fast GI Approximation panel a subpanel of ShadingBrecht Van Lommel
2021-08-04Fix Cycles material slots list being too shortRomain Toumi
Bring it in line with Eevee. Differential Revision: https://developer.blender.org/D11982
2021-08-04Cycles: More flexible GI Approximation AO distance controlSergey Sharybin
The goal: allow to easily use AO approximation in scenes which combines both small and large scale objects. The idea: use per-object AO distance which will allow to override world settings. Instancer object will "propagate" its AO distance to all its instances unless the instance defines own distance (this allows to modify AO distance in the shot files, without requiring to modify props used in the shots. Available from the new Fats GI Approximation panel in object properties. Differential Revision: https://developer.blender.org/D12112
2021-08-04Cleanup: use C comments for descriptive textCampbell Barton
2021-08-03Cleanup: use C++ comments or 'if 0' for commented codeCampbell Barton
2021-08-02Cleanup: Remove unused/unecessary OpenVDB C APIHans Goudey
This commit uses OpenVDB more directly for the voxel remesher, without the extra indirection of copying to a Blender API. This makes the code simpler, shorter, and easier to understand (though I didn't observe any performance improvement). This also removes the rest of the unused and undocumented OpenVDB C API, which was written when Blender's code didn't really use C++, and doesn't serve a purpose anymore. Those features will be implemented as nodes in the future anyway (see D12100). Differential Revision: https://developer.blender.org/D12097
2021-08-02Cleanup: spellingCampbell Barton
2021-08-01IME Win32: Fix Duplicated Initial CharacterTakahiro Shizuki
When entering characters using IME on Windows, Japanese and Chinese will both usually result in the first keystroke being duplicated. The problem is that we are informed too late, after the first key is pressed, that we are IME composing. This patch ensures we are entering non-English characters using ImmGetConversionStatus() and then deals with editing keys (like arrows and backspace) on a per-language basis. see D11929 for more details. Differential Revision: https://developer.blender.org/D11929 Reviewed by Brecht Van Lommel
2021-07-30Cleanup: Simplify logic, follow style guide for integer typesHans Goudey
- Use `int` instead of `unsigned int` for mesh indices - Use C++ types (Array, float3, IndexRange) - Use range based for loops
2021-07-30Fix EGL version being printed on every startupBrecht Van Lommel
After the switch to enable EGL over GLX. No need to print this debugging information always.
2021-07-30Cleanup: clarify license and origin of voronoi and dithering codeBrecht Van Lommel
2021-07-30Cleanup: missing leading '*' from comment blocksCampbell Barton
2021-07-30Cleanup: workaround for unstable formatting in clang-formatCampbell Barton
Running multiple times would re-indent differently.
2021-07-30Cleanup: clang-format (re-run after v12 version bump)Campbell Barton