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
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-18Objects: add Volume object type, and prototypes for Hair and PointCloudBrecht Van Lommel
Only the volume object is exposed in the user interface. It is based on OpenVDB internally. Drawing and rendering code will follow in another commit. https://wiki.blender.org/wiki/Source/Objects/Volume https://wiki.blender.org/wiki/Reference/Release_Notes/2.83/Volumes Hair and PointCloud object types are hidden behind a WITH_NEW_OBJECT_TYPES build option. These are unfinished, and included only to make it easier to cooperate on development in the future and avoid tricky merges. https://wiki.blender.org/wiki/Source/Objects/New_Object_Types Ref T73201, T68981 Differential Revision: https://developer.blender.org/D6945
2020-03-16Nodes: Display bl_icon of custom nodes in node headerJacques Lucke
This is D1578 by Philipp Oeser with small modifications.
2020-03-13Cleanup: pass const args (mostly Scene & RenderData)Campbell Barton
2020-03-12Fix T73212: Gizmo's are still interactive when behind nodesCampbell Barton
2020-03-10Fix T73369: corner pin & sun-beam nodes gizmos are too bigCampbell Barton
Note that dragging isn't working well, however this was an issue in previous releases.
2020-03-09Cleanup: Replace ABS/SQUARE/CUBE with function callsSergey Sharybin
While it might be handy to have type-less functionality which is similar to how C++ math is implemented it can not be easily achieved with just preprocessor in a way which does not have side-effects on wrong usage. There macros where often used on a non-trivial expression, and there was at least one usage where it was causing an actual side effect/bug on Windows (see change around square_f(sh[index++]) in studiolight.c). For such cases it is handy to have a function which is guaranteed to have zero side-effects. The motivation behind actually removing the macros is that there is already a way to do similar calculation. Also, not having such macros is a way to guarantee that its usage is not changed in a way which have side-effects and that it's not used as an inspiration for cases where it should not be used. Differential Revision: https://developer.blender.org/D7051
2020-03-06Cleanup: Rename ARegion variables from ar to regionJulian Eisel
The old convention was easy to confuse with ScrArea. Part of https://developer.blender.org/T74432. This is mostly a batch rename with some manual fixing. Only single word variable names are changed, no prefixed/suffixed names. Brecht van Lommel and Campbell Barton both gave me a green light for this convention change. Also ran clan clang format on affected files.
2020-03-06Nodes: Support storing socket link limits in bNodeSocketTypeJacques Lucke
Currently the link limit of sockets is stored in bNodeSocket->limit. This allows for a lot of flexibility, but is also very redundant. In every case I've had to deal with so far, it would have "more correct" to set the link limit per socket type and not per socket. I did not enforce this constraint yet, because the link limit is exposed in the Python API, which I did not want to break here. In the future it might even make sense to only support only three kinds of link limits: a) no links, b) at most one link, c) an arbitrary number links links. The other link limits usually don't work well with tools (e.g. which link should be removed when a new one is connected?) and is not used in practice. However, that is for another day. Eventually, I would like to get rid of bNodeSocket->limit completely and replace it either with fixed link limits or a callback in bNodeSocketType. This patch consists of three parts: **1. Support defining link limit in socket type** This introduces a new `nodeSocketLinkLimit` function that serves as an indirection to hide where the link limit of a socket is defined. **2. Define link limits for builtin sockets on socket type** Data sockets: one input, many outputs Virtual sockets: one input, one output Undefined sockets: many inputs, many outputs (to avoid that links are removed when the type of the socket is not known) **3. Remove `bNodeSocketTemplate->limit`** This wasn't used anymore after the second commit. Removing it simplifies socket definitions in hundreds of places and removes a lot of redundancy. Differential Revision: https://developer.blender.org/D7038 Reviewers: brecht
2020-03-06Cleanup: rename 'verify' to 'ensure' for BKE_image_viewer functionsCampbell Barton
2020-03-04UI: rename View Selected" to "Frame Selected"Asad-ullah Khan
Addresses T74331
2020-03-02Shading: Add invert option to Vector Rotate NodeCharlie Jolly
Checkbox to invert rotation angle, suggested by @simonthommes Differential Revision: https://developer.blender.org/D6932
2020-02-28UI: add theme option for grid levels to display in node editor backgroundPawel Franitza
Differential Revision: https://developer.blender.org/D6916
2020-02-25UI: fix wrong button padding on high DPI displays in a few placesYevgeny Makarov
Differential Revision: https://developer.blender.org/D6928
2020-02-17Cycles: Vector Rotate Node using Axis and Angle methodCharlie Jolly
This node provides the ability to rotate a vector around a `center` point using either `Axis Angle` , `Single Axis` or `Euler` methods. Reviewed By: #cycles, brecht Differential Revision: https://developer.blender.org/D3789
2020-02-17Shading: add direction modes and phase offset to wave texture nodeBartosz Moniewski
* Direction mode X, Y and Z to align with axes rather than diagonal or spherical as previously. X is the new default, existing files will use diagonal or spherical for compatibility. * Phase offset to offset the wave along its direction, for purposes like animation and distortion. https://developer.blender.org/D6382
2020-02-15Cleanup: mixed camel/snake caseCampbell Barton
2020-02-12Cleanup: clang-formatCampbell Barton
2020-02-11Nodes: Add dynamic label support for Math NodesCharlie Jolly
Reviewed By: brecht Differential Revision: https://developer.blender.org/D6375
2020-02-11Node Editor: node resize can now be cancelled, like other operatorsMatthias Ellerbeck
Differential Revision: https://developer.blender.org/D6800
2020-02-10Cleanup/refactor: Rename `BKE_library` files to `BKE_lib`.Bastien Montagne
Note that `BKE_library.h`/`library.c` were renamed to `BKE_lib_id.h`/`lib_id.c` to avoid having a too generic name here. Part of T72604.
2020-02-07Cleanup: use of 'unsigned'Campbell Barton
- Replace 'unsigned' used on it's own with 'uint'. - Replace 'unsigned const char' with 'const uchar'.
2020-02-06Cleanup: refactor default materials and shader nodesBrecht Van Lommel
2019-12-10Cycles: support for custom shader AOVsLukas Stockner
Custom render passes are added in the Shader AOVs panel in the view layer settings, with a name and data type. In shader nodes, an AOV Output node is then used to output either a value or color to the pass. Arbitrary names can be used for these passes, as long as they don't conflict with built-in passes that are enabled. The AOV Output node can be used in both material and world shader nodes. Implemented by Lukas, with tweaks by Brecht. Differential Revision: https://developer.blender.org/D4837
2019-12-07Fix ShaderNodeCustomGroup.copy method being called too oftenBrecht Van Lommel
This is only supposed to happen when copying nodes that are part of the user editable database, not temporary copies for the dependency graph. The LIB_ID_COPY_LOCALIZE test was wrong because it is a combination of multiple bitflags as pointed out by Bastien, and was actually redundant anyway since LIB_ID_CREATE_NO_MAIN is part of it.
2019-12-07Shader Nodes: Add Interpolation modes to Map Range nodeCharlie Jolly
Modes: Linear interpolation (default), stepped linear, smoothstep and smootherstep. This also includes an additional option for the **Clamp node** to switch between **Min Max** (default) and **Range** mode. This was needed to allow clamping when **To Max** is less than **To Min**. Reviewed By: JacquesLucke, brecht Differential Revision: https://developer.blender.org/D5827
2019-11-25UI: Allow label for Template-ID (respecting property split layout)Julian Eisel
Adds a `text` parameter to `bpy.types.uiLayout.template_ID()` which causes a label to be added, as usual. Adding the label also makes the template respect the `bpy.types.uiLayout.use_property_split` option. Also fixes wrong layout being used in the template-ID, although I think that didn't cause issues in practice. Sergey requested this for usage in the Movie Clip Editor.
2019-11-18WM: remove view operators from the undo stackAlessio Monti di Sopra
2019-10-07Cleanup: clang-formatCampbell Barton
2019-10-04Node Editor: Use new operator utilities for node selection and draggingJulian Eisel
Previous commit moved most of this code into more general/generic utility functions, so we can use that in the Node Editor now.
2019-10-04GPU: Platform Support LevelJeroen Bakker
Adds a check when starting blender if your platform is supported. We use a blacklist as drivers are updated more regular then blender (stable releases). The mechanism detects if the support level changed or has been validated by the user previously. Changes can happen due to users updating their drivers, but also when we change the support level in our code base. When the user has seen the limited support level message it is saved in the user config. It would be better to have a system specific config section, but currently not clear what could benefit from that. When the platform is unsupported or has limited support a dialog box will appear including a link to our user manual describing what to do. **Windows** Windows uses the MessageBox that is provided by the windows kernel. **X11** We use a very lowlevel messagebox for X11. It is very limited in use and can be fine tuned when needed. **SDL/APPLE** There is no implementation for SDL or APPLE at this moment as the platform support feature targets mostly Windows users. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5955
2019-10-04Fix T70504: Moving nodes in the node editor stops after hotkey is liftedPhilipp Oeser
This basically reverts 540eb2dc1e57 for an alternative solution that only enforforces release_confirm [ignoring the preference] on mouse for the node editor. Approved by @brecht in T70504.
2019-10-04Fix T70454: Environment Texture Node Properties "reload" and "packing" not ↵Philipp Oeser
working The bug was basically just caused by a missing 'edit_image' and 'edit_image_user' pointer in context for 'node_shader_buts_tex_environment_ex'. So adding the following there would be enough to fix the bug: uiLayoutSetContextPointer(layout, "edit_image", &imaptr); uiLayoutSetContextPointer(layout, "edit_image_user", &iuserptr); However, I would suggest using the full-flegged uiTemplateImage (just as 'node_shader_buts_tex_image_ex' does -- instead of a "handmade" subset) for the following consistency reasons: - Layout was using single column for image textures, but not environment textures - Save / Discard feature on editing the image was there for image textures, but not environment textures - Environment textures: Color Space was displayed on node (but not properties) - Environment textures: Animation / Sequence settings were displayed on node (but not properties) Cant think of a reason for _not_ displaying the whole set for environment textures (just as for regular image textures)? Maniphest Tasks: T70454 Differential Revision: https://developer.blender.org/D5988
2019-10-03Fix T69288: release confirms preference should not affect node editorBrecht Van Lommel
Was missing from new macro operators.
2019-10-02Fix T70331 Node group passthrough is brokenClément Foucault
2019-10-02Workaround for NVidia broken driverClément Foucault
This disable the indirect drawcall on all Nvidia hardware. This has to be until nvidia fixes their drivers or instruct us how to correctly fix the issue. Related to T70011 Various display issues on NVIDIA after draw call batching.
2019-10-01Cleanup: simplify node modal select implementationBrecht Van Lommel
Ref T63994
2019-10-01Nodes: discard hidden sockets when grouping a single node.Miguel Porces
At the moment, grouping a single node that has hidden sockets, exposes all sockets in the node group. This patch just filters hidden sockets, so that the node group's interface remains the same as the node being grouped. Differential Revision: https://developer.blender.org/D5533
2019-09-30Cleanup: spellingCampbell Barton
2019-09-29Fix T70345: wrong transforms of objects after recent NVIDIA workaroundBrecht Van Lommel
This reverts commit 44d042094e21b519b38a3d78761b64bb5ceeb350 and adds a simpler workaround for just the node links display issue. There are other issues though so this is not a full workaround.
2019-09-26WM: clean up cursors constants and codeBrecht Van Lommel
There was a mix of old and new constants. Now have one list of WM_CURSOR_* cursor types, using GHOST standard cursors when available and otherwise falling back to our custom cursors. Ref D5197
2019-09-13Cleanup: unused headers (GPU)Campbell Barton
2019-09-12Shading: Add Vertex Color node.OmarSquircleArt
This patch adds a new Vertex Color node. The node also returns the alpha of the vertex color layer as an output. Reviewers: brecht Differential Revision: https://developer.blender.org/D5767
2019-09-12Shading: Add More Features To The Voronoi Node.OmarSquircleArt
This patch allows the Voronoi node to operate in 1D, 2D, and 4D space. It also adds a Randomness input to control the randomness of the texture. Additionally, it adds three new modes of operation: - Smooth F1: A smooth version of F1 Voronoi with no discontinuities. - Distance To Edge: Returns the distance to the edges of the cells. - N-Sphere Radius: Returns the radius of the n-sphere inscribed in the cells. In other words, it is half the distance between the closest feature point and the feature point closest to it. And it removes the following three modes of operation: - F3. - F4. - Cracks. The Distance metric is now called Euclidean, and it computes the actual euclidean distance as opposed to the old method of computing the squared euclidean distance. This breaks backward compatibility in many ways, including the base case. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5743
2019-09-11Depsgraph: Pass bmain to depsgraph object creationSergey Sharybin
Currently unused, but will allow to keep of an owner of the depsgraph. Could also simplify other APIs in the future by avoiding to pass bmain explicitly to relation update functions and things like that.
2019-09-09Shading: Extend Musgrave node to other dimensions.OmarSquircleArt
This patch extends Musgrave noise to operate in 1D, 2D, 3D, and 4D space. The Color output was also removed because it was identical to the Fac output. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5566
2019-09-07Cleanup: use post increment/decrementCampbell Barton
When the result isn't used, prefer post increment/decrement (already used nearly everywhere in Blender).
2019-09-06Fix: Rename the dimensions property in Noise nodes.OmarSquircleArt
The `dimensions` property of the noise nodes has been renamed to `noise_dimensions` because it conflicted with and overwrote the `dimensions` property of the base node. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5705
2019-09-05Depsgraph: Free user code from worry about updates flushSergey Sharybin
2019-09-05Depsgraph: Pass bmain to evaluation functionSergey Sharybin
Currently unused, makes code ready for an upcoming change.