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-26Fix: Inverted normal for one curve to mesh capHans Goudey
2021-10-26Geometry Nodes: Only create instance IDs when they existHans Goudey
Instance IDs serve no purpose for rendering when they aren't stable from one frame to the next, and if the index is used in the end anyway, there is no point in storing a vector of IDs and copying it around. This commit exposes the `id` attribute on the instances component, makes it optional-- only generated by default with the distribute points on faces node. Since the string to curves node only added the index as each instance's ID, I removed it. This means that it would be necessary to add the ID data manually if the initial index actually helps (when deleting only certain characters, for example). Differential Revision: https://developer.blender.org/D12980
2021-10-26Geometry Nodes: Support instances in the remove attribute nodeHans Goudey
This node is still hidden, but allowing removing the `id` attribute is useful for testing, and possibly optimization in the future.
2021-10-263D View, Objects menu: Always show Assets sub-menuSybren A. Stüvel
Now that object assets are no longer considered experimental, the Assets submenu can always be shown (regardless of the Extended Asset Browser experimental feature).
2021-10-26Assets: Enable object asset support by defaultJulian Eisel
The two blocking issues for object assets are addressed, see T92111 and T90198. So now, objects can be marked as assets and be used in the Asset Browser.
2021-10-26Don't deselect assets in `ED_fileselect_activate_by_id`Sybren A. Stüvel
`ED_fileselect_activate_by_id()` activates an asset (i.e. marks it as the active asset in the asset browser). To avoid an "active but not selected" state, it also selects it. Before this commit, the function would also deselect all other assets, but that's considered doing too much. If deselection is required, the `ED_fileselect_deselect_all()` function can be called. Manifest Task: T92152
2021-10-26Drop object assets and associated objects at the cursor locationCampbell Barton
When dropping asset objects, place them under the mouse-cursor along with any other objects they link in. Ref D12935 Reviewed By: Severin
2021-10-26Add Assets menu to 3D View's Object menuSybren A. Stüvel
In the 3D Viewport, add an "Assets" submenu to the Objects menu, for the same operators as available in the outliner: Mark as Asset, Clear Asset, Clear Asset (Set Fake User). Since object assets are still considered experimental, the menu is only shown when the Extended Asset Browser experimental feature is enabled.
2021-10-26Asset Browser: Show disabled-hint when dragging external assets over catalogJulian Eisel
There's now a message displayed in red next to the cursor explaining that only assets from the current file can be moved between catalogs. The previous commit prepared this.
2021-10-26UI: Support disabled-hint for dropping in the tree-view APIJulian Eisel
A tree-view item's drop controller can now return a message for the user explaining why dropping isn't possible with the dropped data. This is then displayed in red text next to the cursor. This isn't actually used yet, the follow up commit will do that.
2021-10-26Assets: allow Mark/Clear Asset operators from 3D ViewportSybren A. Stüvel
Make it possible to run `ASSET_OT_mark` and `ASSET_OT_clear` operators from the 3D Viewport. There is no menu entry, just compatibility with pressing F3 and executing the operators from the operator search.
2021-10-26Cleanup: 3D View context, early returns for clearer flowSybren A. Stüvel
Refactor `view3d_context()` to use early `return`s instead of a bundle of `if`/`else if`/`else`, some of which had `return`s and some not. No functional changes.
2021-10-26Cleanup: 3D View context, use enum valuesSybren A. Stüvel
Use explicit enum values instead of returning 0/1 from `view3d_context()`. No functional changes.
2021-10-263D View context: return "ok" when fetching view3d context dirSybren A. Stüvel
`view3d_context()` would return `-1` ("found but not available") when fetching the context dir. This is incorrect; it should return 1 ("ok"). This is a semantic change in preparation of further cleanup of the code.
2021-10-26Eevee: support accessing custom mesh attributesKévin Dietrich
This adds generic attribute rendering support for meshes for Eevee and Workbench. Each attribute is stored inside of the `MeshBufferList` as a separate VBO, with a maximum of `GPU_MAX_ATTR` VBOs for consistency with the GPU shader compilation code. Since `DRW_MeshCDMask` is not general enough, attribute requests are stored in new `DRW_AttributeRequest` structures inside of a convenient `DRW_MeshAttributes` structure. The latter is used in a similar manner as `DRW_MeshCDMask`, with the `MeshBatchCache` keeping track of needed, used, and used-over-time attributes. Again, `GPU_MAX_ATTR` is used in `DRW_MeshAttributes` to prevent too many attributes being used. To ensure thread-safety when updating the used attributes list, a mutex is added to the Mesh runtime. This mutex will also be used in the future for other things when other part of the rendre pre-processing are multi-threaded. `GPU_BATCH_VBO_MAX_LEN` was increased to 16 in order to accommodate for this design. Since `CD_PROP_COLOR` are a valid attribute type, sculpt vertex colors are now handled using this system to avoid to complicate things. In the future regular vertex colors will also use this. From this change, bit operations for DRW_MeshCDMask are now using uint32_t (to match the representation now used by the compiler). Due to the difference in behavior for implicit type conversion for scalar types between OpenGL and what users expect (a scalar `s` is converted to `vec4(s, 0, 0, 1)` by OpenGL, vs. `vec4(s, s, s, 1)` in Blender's various node graphs) , all scalar types are using a float3 internally for now, which increases memory usage. This will be resolved during or after the EEVEE rewrite as properly handling this involves much deeper changes. Ref T85075 Reviewed By: fclem Maniphest Tasks: T85075 Differential Revision: https://developer.blender.org/D12969
2021-10-26Geometry Nodes: Handle multiple grids in the volume to mesh nodeHans Goudey
In future use cases, a volume can contain many grids that represent the density information. In this case, it's better if the volume to mesh node creates a mesh based on all of the grids in the volume. This is also a benefit to share-ability, since one doesn't have to specify the grid name in the node. Instead, in the future we can have a way to split particular grids into separate volumes, if only one grid should be considered. The code changes are relatively simple: - Move the old volume to mesh node to the legacy folder. - Run the volume to mesh node on all instance geometry, like elsewhere. - Make the blenkernel's volume to mesh API a bit more specific. Differential Revision: https://developer.blender.org/D12997
2021-10-26UI: Let object drop operator display hint why it's disabledJulian Eisel
When dragging an object in non-object mode into a 3D View, there will now be red text explaining that this is only possible in object mode. The previous commit enabled this.
2021-10-26UI: Improved feedback when dropping is not possible on drag 'n dropJulian Eisel
* Allow operators to show a "disabled hint" in red text explaining why dropping at the current location and in current context doesn't work. Should greatly help users to understand what's the problem. * Show a "stop" cursor when dropping isn't possible, like it's common on OSes. Differential Revision: https://developer.blender.org/D10358
2021-10-26LineArt: Trimming edges right at the image borderYimingWu
This option allows the edge to end right at the border instead of extending beyond. Useful when having multiple camera setup where you want the border to be clean. Also moved overscan option down inside "Composition" sub panel so it makes more sense. Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D12126
2021-10-26UI: Improve node editor breadcrumbs displayHans Goudey
This patch upgrades node editor breadcrumbs to have slightly more visual weight, to including the base path of object/modifier/world, etc, have more visually pleasing spacing, and contain icons. In the code, a generic "context path" is added to interface code. The idea is that this could be used to draw other breadcrumbs in areas like the property editor or the spreadsheet, and features could be added to all of those areas at the same time. Ideally we would be able to control the color of the breadcrumbs with a specific theme color, but since they are drawn with the regular layout system, that is not easily possible. Thanks to @fabian_schempp for the original patch. Differential Revision: https://developer.blender.org/D10413
2021-10-26Fix: Assert on startup from incorrect float property minHans Goudey
2021-10-26Fix T92505: previewing specific node outputs did not work anymoreJacques Lucke
This was missing from my refactor in rB5bfe09df2244cb9de0b6554a378eecef77b1e75d.
2021-10-26LineArt: Custom CameraYimingWu
Allows line art camera to be different from scene active camera, useful when baking multiple shots in different angle as well as for motion graphics effect. Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D12047
2021-10-26LineArt: Fix prop range for stroke_depth_offset.YimingWu
2021-10-26LineArt: Stroke offset towards camera.YimingWu
Allows the user to turn off in_front option for grease pencil object and offset strokes towards camera to allow depth interaction of the rest of the scene. Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D12046
2021-10-26Geometry Nodes: Add Brick Texture nodeCharlie Jolly
Port brick shader node to GN Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D12783
2021-10-26Cleanup: clang-formatBrecht Van Lommel
2021-10-26Fix Cycles runtime GPU kernel compilation after recent refactorBrecht Van Lommel
2021-10-26Cleanup: remove files that should not have been added in file renamesBrecht Van Lommel
2021-10-26Distance Scrambling for for Cycles X - Sobol versionWilliam Leeson
Cycles:Distance Scrambling for Cycles Sobol Sampler This option implements micro jittering an is based on the INRIA research paper [[ https://hal.inria.fr/hal-01325702/document | on micro jittering ]] and work by Lukas Stockner for implementing the scrambling distance. It works by controlling the correlation between pixels by either using a user supplied value or an adaptive algorithm to limit the maximum deviation of the sample values between pixels. This is a follow up of https://developer.blender.org/D12316 The PMJ version can be found here: https://developer.blender.org/D12511 Reviewed By: leesonw Differential Revision: https://developer.blender.org/D12318
2021-10-26Fix T92502: Position Pass brokenSergey Sharybin
The kernel was writing it for the first sample only, while the film accessor was thinking it needs to be filtered.
2021-10-26Nodes: support transparency for link highlight colorDorian
Node links that are connected to selected nodes are highlighted using the Wire Select theme color. Now it is possible to change the transparency of this color to allow the actual link color to be visible through the highlight (or to turn of the highlight entirely). Differential Revision: https://developer.blender.org/D12973
2021-10-26Cleanup: skip unnecessary OIIO image setup when not using tiled renderBrecht Van Lommel
2021-10-26Cleanup: silence address sanitizer warning about NULL + 0Brecht Van Lommel
2021-10-26Cleanup: compiler warning when building without OpenSubdivBrecht Van Lommel
2021-10-26Cleanup: remove useless WITH_CYCLES_DEVICE_MULTIBrecht Van Lommel
2021-10-26Cycles: remove prefix from source code file namesBrecht Van Lommel
Remove prefix of filenames that is the same as the folder name. This used to help when #includes were using individual files, but now they are always relative to the cycles root directory and so the prefixes are redundant. 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: 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-26Cleanup: compiler warningsBrecht Van Lommel
2021-10-26Geometry Nodes: remove reference to anonymous attributes in tooltipsJacques Lucke
This changes socket inspection for fields according to T91881. Differential Revision: https://developer.blender.org/D13006
2021-10-26Fix drop of dimensionless objects in 3DViewGermano Cavalcante
The matrix and location were not being calculated in this case.
2021-10-26UI: Use text highlight theme color for active tabPablo Vazquez
Currently, both inactive and active tabs are using the `Region Text` theme property. This patch makes it so active tabs use `Region Text Highlight`. Since this check is done in other places already but was simply missing in this case, I believe this was just an oversight and not a design decision. Top is master, bottom is this patch: {F11520838, size=full} This allows this kind of tab highlight, not possible before since all tabs would have white text. {F11520873, size=full} Reviewed By: #user_interface, Severin Differential Revision: https://developer.blender.org/D13003
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-26Cycles: change Position render pass to be not antialiasedBrecht Van Lommel
Similar to the Depth, for compositing the interpolated values between a far and near object can be non-sensical.
2021-10-26Fix custom property editing with Python 3.10Campbell Barton
2021-10-26Cleanup: spelling in commentsCampbell Barton
2021-10-26BlenLib: Add JSON Serialization/Deserialization Abstraction Layer.Jeroen Bakker
Adds an abstraction layer to switch between serialization formats. Currently only supports JSON. The abstraction layer supports `String`, `Int`, `Array`, `Null`, `Boolean`, `Float` and `Object`. This feature is only CPP complaint. To write from a stream, the structure can be built by creating a value (any subclass of `blender::io::serialize::Value` can do, and pass it to the `serialize` method of a `blender::io::serialize::Formatter`. The formatter is abstract and there is one implementation for JSON (`JsonFormatter`). To read from a stream use the `deserialize` method of the formatter. {D12693} uses this abstraction layer to read/write asset indexes. Reviewed By: Severin, sybren Maniphest Tasks: T91430 Differential Revision: https://developer.blender.org/D12544
2021-10-26Geometry Nodes: don't log full fields when not necessaryJacques Lucke
Previously, the field on every socket was logged for later use. This had two main negative consequences: * Increased memory usage, because the fields may contain a lot of data under some circumstances (e.g. a Ray Cast field contains the target geometry). * Decreased performance, because anonymous attributes could not be removed from geometry automatically, because there were still fields that referenced them. Now most fields are not logged anymore. Only those that are viewed by a spreadsheet and constant fields. The required inputs of a field are still logged in string form to keep socket inspection working.
2021-10-26Animation UI: Make Ctrl+F use textbox instead of pop-upbird_d
Avoid blocking the UI when searching for animation channels with Ctrl+F. Instead of showing a single text input in a blocking popup, Ctrl+F now just focuses the search box above the channel list. It feels nicer to use and has the niceties that come from using that textbox, like searching per keystroke, compared to the old pop-up method. As the behaviour of the operator has changed considerably, this also changes the operator name from `anim.channels_find` to `anim.channels_select_filter` and updates the keymaps. Reviewed By: ChrisLend, sybren Differential Revision: https://developer.blender.org/D12146