Age | Commit message (Collapse) | Author |
|
As in the old Blender Internal baking code, this still relies on there being a
good mapping to the original vertices.
|
|
When popping ID-property groups/arrays,
ID-property was removed but not freed.
Now the value is converted to a native Python type and freed.
|
|
|
|
The id-property iterator referenced a PyObject pointer without
increasing it's user count - allowing for errors if the value
goes out of scope during iteration.
|
|
Looping over IDProperty keys or calling iteritems leaked memory.
Error in original Python idproperty support from
8768707610fbc1cea2bde069cdfd6d3f3e2fc522
|
|
Remove custom properties from `__dir__` method result since these
can't be accessed using `__getattr__`.
Introduced in the 2.5x Python API update.
|
|
`GPUFrameBuffer.viewport_get` has no args.
|
|
|
|
- Optionally get the error as a single line.
- Support access the error as an allocated string.
- PyC_ExceptionBuffer_Simple was always printing to the `stdout` while
PyC_ExceptionBuffer didn't, now either print to the output.
Without this, callers are unable to do anything with the error string.
|
|
Add argument to BM_vert_collapse_faces to remove any faces that become
duplicate as result of the collapse.
|
|
- Remove `make_quicky` as on modern systems linking is the main
bottleneck, and there isn't such a gain from partial builds.
- Remove enum generator as `PyC_StringEnumItems` & `EnumPropertyItem`
are used in most places to access enums from Python, otherwise macros
are added via macros.
|
|
Without this, copy wasn't useful.
|
|
|
|
Error was caused by using `#if` directive in `PyDoc_STRVAR` macro.
This partially reverts 1e4c35d910e18858c41924f9e27ef8e1070cbd0a
|
|
|
|
When using `bpy.data.actions[action_name, "nonexistant-library"]`,
use the term `filepath` instead of `name` in the error message.
Also increase the size to match the file path length.
Ref D10253
|
|
This patch adds support to export and import grease pencil in several formats.
Inlude:
* Export SVG
* Export PDF (always from camera view)
* Import SVG
The import and export only support solid colors and not gradients or textures.
Requires libharu and pugixml.
For importing SVG, the NanoSVG lib is used, but this does not require installation (just a .h file embedded in the project folder)
Example of PDF export: https://youtu.be/BMm0KeMJsI4
Reviewed By: #grease_pencil, HooglyBoogly
Maniphest Tasks: T83190, T79875, T83191, T83192
Differential Revision: https://developer.blender.org/D10482
|
|
|
|
Minor manual tweak to prevent wrapping an array into columns.
|
|
|
|
|
|
Reduces `BPyPropStore` size by one pointer.
|
|
This adds CoreAudio as audio backend on macOS.
CoreAudio is the standard audio API on macOS.
Ref T86590
|
|
This adds WASAPI as audio backend on Windows.
WASAPI is the modern standard audio API on
Windows introduced with Windows Vista.
Ref T86590
|
|
This adds PulseAudio as audio backend on Linux.
PulseAudio is the main audio engine used on most,
if not all, Linux distributions today.
Ref T86590
|
|
This fixes some errors of continuity and consistency of formatting on
https://docs.blender.org/api/current/gpu.html
This also details the description of some parameters.
Differential Revision: https://developer.blender.org/D10531
|
|
|
|
|
|
Callbacks used in `bpy.props` didn't hold a references to the functions
they used.
While this has been the case since early 2.5x it didn't cause any
problems as long as the class held a reference.
With Python 3.10 or when using `from __future__ import annotations`,
the annotations are no longer owned by the class once evaluated.
Resolve this by holding a reference in the module, which now supports
traverse & clear callbacks so the objects are visible to Python's
garbage collector.
Also refactor storage of Python data, moving from an array into a struct.
|
|
|
|
This is no longer needed for MSVC-2017.
|
|
|
|
This adds support for creating a `BlendFile` (internally called `Main`),
which is limited to a context.
Temporary data can now be created which can then use
`.libraries.load()` the same as with `bpy.data`.
To prevent errors caused by mixing the temporary ID's with data in
`bpy.data` they are tagged as temporary so they can't be assigned
to properties, however they can be passed as arguments to functions.
Reviewed By: mont29, sybren
Ref D10612
|
|
This allows adding ID tags when linking/loading data.
This is needed to implement loading non 'G.main' ID data-blocks,
see D10612.
|
|
|
|
|
|
|
|
The `MAX_LIBARRAY` define was an annoying doublon to the `INDEX_ID_MAX` enum value
now defined in `DNA_ID.h`, and it is no more useful.
And comments were somewhat outdated. Also added an explanation about
chosen order for the `INDEX_ID_<IDTYPE>` order.
|
|
Replace static methods with regular methods.
Now the 'Main' value is taken from the collection.
Needed to support multiple 'Main' instances in Python, see T86183.
|
|
Previously only static methods were supported.
Now C/API functions added to collections can receive a 'self' argument.
|
|
|
|
In this case, there is no benefit to using Py_CLEAR
as the value will never be NULL and can't be used later on.
|
|
All tracked objects need a matching un-track,
also remove redundant Py_XDECREF call.
|
|
By default objects are no longer GC tracked, this removes some overhead
although it's not significant in my own testing.
- Only enable GC for StructRNA when 'WITH_PYTHON_SAFETY' is on.
- Only track StructRNA when their 'reference' is set.
- Add missing NULL check when 'WITH_PYTHON_SAFETY' is on
and objects new objects be created.
|
|
Don't assign the BPy_StructRNA a value which can be 'None',
instead, set it to NULL.
|
|
It can be useful to replace `image.bindcode` and `image.gl_load`.
Used for example in https://docs.blender.org/api/current/gpu.html#d-image
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D10458
|
|
This API function can now purge recursively in a single call, and choose
to ignore (not purge) local or linked IDs.
Default behavior (with not argument) remains unchanged, so no API
breackage here.
|
|
Without this, the ImBuf type wasn't part of documentation.
|
|
This reverts commit d3a96e5022e121426c8926d0507effe4e9b4005f.
|
|
|