Commit Graph

1469 Commits

Author SHA1 Message Date
rdb 899af61e2a pgraph: Fix ModelPool return value reference count 2024-12-19 16:18:17 +01:00
rdb 3f2b9cd351 pgraph: Make ModelPool.load_model() work same as Loader.load_sync()
ModelPool.load_model() did not work like the other pools, didn't resolve relative to the VFS, didn't respect loader options... let's just make these work the same.  We should deprecate one in favor of the other eventually
2024-12-14 13:25:12 +01:00
rdb 5e05049725 collide: Add custom owner field to CollisionNode
This stores a weakref to a custom Python object, useful for being able to look up the game object corresponding to a particular collision node in an event without the downsides of Python tags

Fixes #1703
2024-12-14 12:48:24 +01:00
rdb 6823634f60 cull: Use more efficient arena allocation for CullableObject 2024-11-03 16:24:14 +01:00
rdb 7560a1edd1 Merge branch 'release/1.10.x' 2024-10-30 13:42:21 +01:00
rdb 64454b1c9f Replace direct uses of ob_type, which gives problems in nogil build 2024-10-30 13:17:11 +01:00
Yonnji c6ed5acdc2
fix building panda (#1694) 2024-10-18 14:03:15 +02:00
rdb beff684af3 Further thread safety changes for Python 3.13 free threading
See #1683
2024-09-19 20:43:06 +02:00
rdb 5106fc879f Changes for compatibility with Python 3.13
Includes some preliminary work to make free-threading safe, see also #1683
2024-09-19 16:01:10 +02:00
rdb 33cef0aca3 pgraph: Disable non-working `__traverse__()` on NodePath 2024-03-29 17:15:43 +01:00
rdb af27a9523c Merge branch 'release/1.10.x' 2024-03-12 15:39:16 +01:00
rdb bfe1c95d29 pgraph: Python wrappers for TransformState getters no longer return reference to temporary
Fixes #1625
2024-03-12 15:29:54 +01:00
rdb 73360393df Switch use of Py_INCREF to new Py_NewRef function
This is more idiomatic, simplifies the code, makes it easier to port to eg. HPy later on, and makes it easier to use the limited ABI (where it can be optimized to a tail call) later on

A polyfill is provided for compatibility with Python versions 3.8 and 3.9
2024-01-29 17:57:53 +01:00
rdb 9145b6c729 Merge branch 'release/1.10.x' 2024-01-04 16:36:03 +01:00
rdb 6b3dfc7e16 pgraph: add note to LensNode::is_in_view docstring about CS
Closes panda3d/panda3d-docs#143
2024-01-04 16:22:41 +01:00
Disyer 596ff9ddb8 python: Remove usage of private _PyUnicode C API calls 2023-08-03 21:35:33 +03:00
rdb cc49825e00 pgraph: Mark all sub-classes of RenderAttrib as `final` 2023-07-27 08:40:52 +02:00
rdb 115a716a7d Implement support for custom TypedWritable subclasses in Python
Fixes #1495
2023-07-26 19:55:40 +02:00
rdb f5827963a3 pgraph: Refactor RenderAttrib return_new code a little bit
- Allows the compiler to devirtualize the get_hash_impl call, in theory
- Reduces the overhead of checking the configuration variables every time in return_new
- Avoids recalculating the hash on calling get_unique
2023-07-26 19:18:22 +02:00
rdb cdc95acf81 Merge branch 'release/1.10.x' 2023-05-08 20:08:48 +02:00
rdb 45fbfab094 pgraph: Add file_version property to BamFile (like BamReader/Writer) 2023-05-05 10:52:46 +02:00
rdb eefb51f510 dtoolutil: Add small_vector implementation and use it
This vector implementation does is optimized for the case of having only a small number of elements, which are stored directly on the vector object rather than being allocated from the heap.  If the capacity exceeds this small number, then a heap allocation is done.

This should improve performance in a couple of cases where vectors typically store 1 element and rarely more than that.
2023-02-22 16:48:11 +01:00
rdb 818ed819f9 pgraph: Fix compiler warning for uninitialized variable 2023-02-20 19:05:05 +01:00
rdb 5e26aae1ff cleanup: Fix assorted issues uncovered by clang-tidy 2023-02-12 18:17:03 +01:00
rdb 1c37522026 Merge branch 'release/1.10.x' into master 2023-02-12 14:07:49 +01:00
rdb aaabb6a652 Fix assorted issues uncovered by clang-tidy 2023-02-12 13:55:59 +01:00
Disyer af4a1bc7a9 python: Use public PyErr_Occurred API instead of private macro
The _PyErr_OCCURRED macro was removed in Python 3.10, so we shouldn't keep any compat code left around for it
2023-02-12 02:36:57 +02:00
WMOkiishi 3f3c65917b Ensure classes using aligned types inherit from `MemoryBase` 2023-02-06 18:35:18 +01:00
rdb eacbc4f89a pgraph: Fix regression: assertion in `get_off_clip_planes()`
Occurs when using clip plane culling
2023-02-03 15:26:50 +01:00
rdb b09a8a84ec Merge branch 'release/1.10.x' 2023-02-03 14:52:39 +01:00
rdb 51d0a55264 general: Fix silly new clang warning about unprefixed `std::move()` 2023-01-31 15:38:02 +01:00
Frang 275fe32079
create PY_EXTENSION and friends (#1415) 2023-01-04 20:54:53 +01:00
Cary Sandvig 3247903d7b add more HAVE_PYTHON
Also add some more #endif comments.
2022-12-23 13:38:46 -05:00
rdb e1b4083d6d Merge branch 'release/1.10.x' 2022-12-12 17:19:10 +01:00
rdb cd984732b7 pgraph: Make `bounds_type` property writable 2022-12-10 19:45:29 +01:00
rdb 7a55c723ba Merge branch 'release/1.10.x' 2022-12-04 19:28:03 +01:00
rdb 41f0c9d48d pgraph: Support None as second arg of replace_texture/replace_material
This removes the relevant texture or material
2022-12-04 19:24:04 +01:00
rdb 8ca804086f pgraph: Fix a compiler warning in renderEffects.I
Initialization is unnecessary, but harmless
2022-12-04 16:58:49 +01:00
rdb 9bd66baa1c Merge branch 'release/1.10.x' 2022-11-21 19:02:50 +01:00
rdb 8a48c3b711 pgraph: Remove recursive lock grab in `Light.set_color()`
Harmless, but unnecessary
2022-11-21 18:26:19 +01:00
rdb e961ea99ac Merge branch 'release/1.10.x' 2022-11-13 12:10:38 +01:00
rdb fe94e43bc4 pgraph: Fix issues with flattening TexMatrixAttrib
If multiple texture stages reference the same texcoord set, Panda wouldn't flatten the tex matrices even if they were the exact same

Fixes #1392
2022-11-13 11:11:32 +01:00
rdb 63017864ab pgraph: Support any number of attribs in `RenderState::make()` in Python 2022-11-07 18:17:48 +01:00
rdb 502607e450 pgraph: Make CullTraverserData.view_frustum settable from Python
Perhaps useful for in cull callbacks
2022-11-06 11:19:56 +01:00
rdb 9d73c9b786 pgraph: Fix a missed `std::move` opportunity in ScissorEffect 2022-11-06 11:19:04 +01:00
rdb fea66ea087 pgraph: Fix rare case of assertion in cull with ScissorEffect
Fixes #1344
2022-11-06 11:13:42 +01:00
rdb 91191a9d75 pgraph: Fix weird comment formatting in renderAttrib.h 2022-11-03 13:49:08 +01:00
rdb 9768cbb6c2 Merge branch 'release/1.10.x' 2022-10-25 16:44:24 +02:00
rdb fc8c07a949 pgraph: Remove unused vertices during premunge phase
Disable with premunge-remove-unused-vertices config var - let me know if causes issues for you, performance or otherwise, though!
2022-10-25 16:34:28 +02:00
rdb 4d5d7047af pgraph: Slight efficiency refactoring of `remove_unused_vertices()` 2022-10-25 16:34:28 +02:00