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
2022-09-08fixtemp-geometry-nodes-evaluator-refactorJacques Lucke
2022-09-08cleanupJacques Lucke
2022-09-08cleanupJacques Lucke
2022-09-08bring back used named attributes overlayJacques Lucke
2022-09-08cleanupJacques Lucke
2022-09-08improve compute context docsJacques Lucke
2022-09-07fix attribute searchJacques Lucke
2022-09-07move context stacks to separate headerJacques Lucke
2022-09-07use fewer allocatorsJacques Lucke
2022-09-07cleanupJacques Lucke
2022-09-07support logging field in viewer againJacques Lucke
2022-09-07actually log data in viewer nodeJacques Lucke
2022-09-07cleanup loggingJacques Lucke
2022-09-07progressJacques Lucke
2022-09-06progressJacques Lucke
2022-09-06add lazy function for viewer nodeJacques Lucke
2022-09-06simplify namingJacques Lucke
2022-09-06cleanup + add initial side effect providerJacques Lucke
2022-09-04make logging optionalJacques Lucke
2022-09-04show more detailed socket inspectionJacques Lucke
2022-09-04log more information of valuesJacques Lucke
2022-09-04log less unnecessary dataJacques Lucke
2022-09-02add logger to lazy function graph executorJacques Lucke
2022-09-02log converted valuesJacques Lucke
2022-09-01fix multi input socket with muted linkJacques Lucke
2022-09-01refactor lazy function graph generationJacques Lucke
2022-09-01cleanup namingJacques Lucke
2022-08-31fixesJacques Lucke
2022-08-31Merge branch 'master' into temp-geometry-nodes-evaluator-refactorJacques Lucke
2022-08-31Nodes: move NodeTreeRef functionality into node runtime dataJacques Lucke
The purpose of `NodeTreeRef` was to speed up various queries on a read-only `bNodeTree`. Not that we have runtime data in nodes and sockets, we can also store the result of some queries there. This has some benefits: * No need for a read-only separate node tree data structure which increased complexity. * Makes it easier to reuse cached queries in more parts of Blender that can benefit from it. A downside is that we loose some type safety that we got by having different types for input and output sockets, as well as internal and non-internal links. This patch also refactors `DerivedNodeTree` so that it does not use `NodeTreeRef` anymore, but uses `bNodeTree` directly instead. To provide a convenient API (that is also close to what `NodeTreeRef` has), a new approach is implemented: `bNodeTree`, `bNode`, `bNodeSocket` and `bNodeLink` now have C++ methods declared in `DNA_node_types.h` which are implemented in `BKE_node_runtime.hh`. To make this work, `makesdna` now skips c++ sections when parsing dna header files. No user visible changes are expected. Differential Revision: https://developer.blender.org/D15491
2022-08-24cleanupJacques Lucke
2022-08-23socket value logging progressJacques Lucke
2022-08-23progressJacques Lucke
2022-08-23Merge branch 'master' into temp-geometry-nodes-evaluator-refactorJacques Lucke
2022-08-22I18n: disambiguate a few translationsDamien Picard
- Keying (keyframe insertion) - Roughness (particle children) - New image, collection, text (in menus) - Parents (particles) - Wrap (text) - Light (add menu) - Empty (volume add menu) - Empty (empty add menu) - Cycles (f-curve modifier) - Drag (workspace tool type) - Power (light intensity) - Power (math nodes) This last change also moves all math operations in nodes to the ID_nodetree context. It's needed only for some operations, but we can't be more granular here. Also... - Fix context extraction for interpolation mode headers in F-Curves and GPencil interpolation operator - Enable new translation: "Slot %d" in image editor - Fix an English message in the node editor: "Replace the input image's alpha channels by..." -> channel Ref. T43295 Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15694
2022-07-23Fix T99905: wrong toposort when the node tree is cyclicJacques Lucke
2022-07-23Fix T99830: missing update after reordering node group socketsJacques Lucke
2022-07-22Curves: support sculpting on deformed curvesJacques Lucke
Previously, curves sculpt tools only worked on original data. This was very limiting, because one could effectively only sculpt the curves when all procedural effects were turned off. This patch adds support for curves sculpting while looking the result of procedural effects (like deformation based on the surface mesh). This functionality is also known as "crazy space" support in Blender. For more details see D15407. Differential Revision: https://developer.blender.org/D15407
2022-07-19improve namingJacques Lucke
2022-07-18improve namingJacques Lucke
2022-07-18fixJacques Lucke
2022-07-08Geometry Nodes: new geometry attribute APIJacques Lucke
Currently, there are two attribute API. The first, defined in `BKE_attribute.h` is accessible from RNA and C code. The second is implemented with `GeometryComponent` and is only accessible in C++ code. The second is widely used, but only being accessible through the `GeometrySet` API makes it awkward to use, and even impossible for types that don't correspond directly to a geometry component like `CurvesGeometry`. This patch adds a new attribute API, designed to replace the `GeometryComponent` attribute API now, and to eventually replace or be the basis of the other one. The basic idea is that there is an `AttributeAccessor` class that allows code to interact with a set of attributes owned by some geometry. The accessor itself has no ownership. `AttributeAccessor` is a simple type that can be passed around by value. That makes it easy to return it from functions and to store it in containers. For const-correctness, there is also a `MutableAttributeAccessor` that allows changing individual and can add or remove attributes. Currently, `AttributeAccessor` is composed of two pointers. The first is a pointer to the owner of the attribute data. The second is a pointer to a struct with function pointers, that is similar to a virtual function table. The functions know how to access attributes on the owner. The actual attribute access for geometries is still implemented with the `AttributeProvider` pattern, which makes it easy to support different sources of attributes on a geometry and simplifies dealing with built-in attributes. There are different ways to get an attribute accessor for a geometry: * `GeometryComponent.attributes()` * `CurvesGeometry.attributes()` * `bke::mesh_attributes(const Mesh &)` * `bke::pointcloud_attributes(const PointCloud &)` All of these also have a `_for_write` variant that returns a `MutabelAttributeAccessor`. Differential Revision: https://developer.blender.org/D15280
2022-07-01show node timingsJacques Lucke
2022-07-01initial node timings supportJacques Lucke
2022-06-30cleanup logger namingJacques Lucke
2022-06-26progressJacques Lucke
2022-06-26progressJacques Lucke
2022-06-26cleanupJacques Lucke
2022-06-26show node warnings againJacques Lucke
2022-06-09fixJacques Lucke