-
-
Notifications
You must be signed in to change notification settings - Fork 838
Add Custom Shader support to CommonFilters.py #1643
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Allow users to add their own shaders to CustomFilters. Port all built in shaders to use new system. Additionally add Chromatic Aberration, Vignette, Tint, Distortion, Resolution, LUT, and Film Grain as built in filters.
direct/src/filter/CommonFilters.py
Outdated
|
||
vfs: VirtualFileSystem = VirtualFileSystem.get_global_ptr() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This type annotation is only useful if the type-checker doesn't have information about what VirtualFileSystem.get_global_ptr
returns (i.e., through stubs). If that's the case, the type-checker almost certainly doesn't know anything else about a VirtualFileSystem
, so it doesn't really do much in any case. I'd recommend removing it, unless I'm missing something.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for catching that.
This is pretty neat. I think we need a new filter system on the C++ end of Panda, but there's no way that'll make it in time for 1.11, and this is simple enough that I might consider accepting this in the interim. I prefer splitting the PR into the part containing the new system and the part with the additional filters for individual review. I'm on the fence about stuffing the entire definition into a single dictionary structure. It gets unwieldy compared to an object hierarchy, but on the other hand, it does make it easier to load filters from some json-like file structure, hmm. How is the order of render targets maintained? Dictionary insertion order? If the uniforms and shader inputs are supposed to be specified in the same load_filter call, should they not go in the same place, with a shader input dictionary containing name, type and (default) value? Or is there a reason it was done this way? Use the word "sort" instead of "order" for consistency with other parts of the Panda API. Having the order default to None for these filters is a breaking change. There's an order enforced currently, one which makes sense. It shouldn't suddenly make tone mapping go after sRGB encoding if someone happens to call them in a different order, with the default settings. I will think a bit more about the other aspects. |
Yeah I agree that this is more of a stop gap then the permanent system.
I'll split the PR up and it'd be good anyways to get feedback on some new filters people would like.
The dictionary structure was partially inspired by how webgpu's render pipelines work and in my opinion it's nice to use but also very powerful. I can also look into adding json loading/saving for the filters. I mean we can already save/load particles so why not filters. If I do add that though loadFilter should probably become setFilter instead.
Currently yes, but I could add a way to set the sort.
Looking at it again, it's because you can load the shader string from a file but I'll experiment and see which is more ergonomic.
Will do!
I was on the fence if I should assign default orders to the or not but you're correct that it could cause a lot of issues if I break that. I'll fix that breaking change.
Yeah if you have any other feedback or ideas please let me know (we can also discuss in the discord if you have time). I'd love having this get merged and I believe that it'd make writing filters a lot more accessible, which in turns brings more people into Panda3D. Also I have been working on a similar api but at the node level, I can make a pull request if you'd be interested. https://github.com/raytopianprojects/Effects |
I'm not proposing we add JSON loading to this system—it was just an observation that it would be easy for a user to do this with this structure. Another thought I have is that people might want to write filters in GLSL going forward, but I'm not quite sure how to address that issue here. |
Yeah I've been thinking about GLSL authoring too. I could spend the time converting the CG shaders to GLSL and then add the add the ability to switch between the languages but then again I don't know how many users are creating new projects using CG. So it might be worth just having GLSL as an option. |
Ensure that each filter's sort is no longer a breaking change, add examples/test if CommonFilters is ran by itself, add printShader for to easily see internal shader code (should be changed to better work with Panda3D's own debug system), remove newly added filters (will be in separate pr), change how uniforms work so you just need to pass in a uniform as a dict instead of 3 separate args, and add reconfiguring to cleanup so the internal uniforms and textures dicts don't get removed when adding new filters.
I've made changes based on your feedback rdb. I'll be creating a separate new filters pr soon. |
While it no longer does anything this should fix the last breaking change.
Fix delHighDynamicRange
Change imports back to being relative
Merge tonemapping code from tonemapping pull request.
commit d75d63b5ac16848c25514ba804839e244fee2095 Author: Raytopian Projects <54505044+raytopianprojects@users.noreply.github.com> Date: Sat Jun 14 15:56:45 2025 -0600 CutScene Class for Direct Issue description People often times want to be able to wait for a event in-between intervals. Solution description I have created a CutScene class which holds a list of Intervals and WaitFor classes. The CutScene class goes through each interval and if the next one is a WaitFor object it won't progress until either the event is fired or (if supplied) the WaitFor 'times out'. I'd say that this class is pretty simple but should speed up the workflow of direct users. Checklist I have done my best to ensure that… …I have familiarized myself with the CONTRIBUTING.md file …this change follows the coding style and design patterns of the codebase …I own the intellectual property rights to this code …the intent of this change is clearly explained …existing uses of the Panda3D API are not broken …the changed code is adequately covered by the test suite, where possible. commit cbb313d7329fd32ff85a517b50f048974aba00b5 Author: Olivier Roussel <olivier.roussel@inria.fr> Date: Sun May 11 09:15:12 2025 +0200 Use Win32 native calls for atomic also with clang-cl (#1746) commit 98a50a794d4d00c19660d29cfcddba7517514e46 Author: omn14 <sirole@gmail.com> Date: Wed Apr 16 13:52:24 2025 +0200 x11: Add function for detecting auto repeat key events (#1735) commit 3191a450abbfca19d60c9ffabc5e1b1d95d5cf22 Author: rdb <git@rdb.name> Date: Tue Apr 15 21:38:41 2025 +0200 workflow: Update Ubuntu runners to 22.04 commit 33e6ed890792d202e80bf3ddf11c80db0fb46061 Author: omn14 <sirole@gmail.com> Date: Tue Apr 15 15:59:15 2025 +0200 physics: Add support for distance-based falloff (#1731) commit eae39b339ca3ba5e0271f353927cd02a433fe66b Author: rdb <git@rdb.name> Date: Tue Apr 15 10:44:33 2025 +0200 collide: Fix CollisionNode owner crash (grab GIL when destructing) commit 54355795673880cadb3b006becc35f87630bf083 Author: WMOkiishi <w.muneo.o@gmail.com> Date: Sun Apr 6 02:10:50 2025 -0600 showbase: Annotate basic `Messenger` methods (#1726) commit 4b4fa038955d56710033a5022d40bfee9992318c Author: WMOkiishi <w.muneo.o@gmail.com> Date: Sun Apr 6 02:10:15 2025 -0600 direct: Annotate functions called directly by top-level code (#1727) commit 6274b478aad8bac262471c361e677d45804a2295 Author: rdb <git@rdb.name> Date: Thu Feb 27 15:11:16 2025 +0100 pstats: Better handle overlapping collectors in Timeline Prevents staircase effect where overlapping bars will end up ever increasing the number of rows commit 5a97488adfcbab5b9ebae37cf763eb5a43cd0cc4 Author: rdb <git@rdb.name> Date: Thu Feb 27 15:10:53 2025 +0100 gtk-stats: Support trackpad zoom/pan gestures in Timeline view commit 7c16720bb9b85199d2f175c5eede0cadc94c4d5b Author: rdb <git@rdb.name> Date: Tue Feb 25 12:11:00 2025 +0100 webgl: Improve canvas resizing behavior Automatically resize canvas to the CSS size commit 85541de504840c076026202a57760c9a3c01be66 Author: rdb <git@rdb.name> Date: Mon Feb 24 22:45:48 2025 +0100 grutil: Add support for playing video via HTML video+WebGL commit c960874d4ee06303ff7ea439d0f6abe44b70ca77 Author: rdb <git@rdb.name> Date: Mon Feb 24 20:07:31 2025 +0100 downloader: Add url property to VirtualFileHTTP commit ab57b3c72f3cdacf6a7bbbcc29c94afff5825572 Author: rdb <git@rdb.name> Date: Mon Feb 24 20:06:28 2025 +0100 downloader: Fix HTTP downloads on latest emscripten commit f4da124b501b7a702d0469f3be249ed01f50c2dd Author: rdb <git@rdb.name> Date: Sat Feb 22 11:06:31 2025 +0100 pgraphnodes: Add setter for shadow buffer sort commit 8de98592ca49a55bc71ca6cd934e3f0b8a74cf80 Author: WMOkiishi <w.muneo.o@gmail.com> Date: Wed Feb 19 10:59:19 2025 -0700 showbase: Annotate basic `Loader` methods (#1723) commit a7f8c57681522dedfb7d24290c98f3b09bed2a07 Author: rdb <git@rdb.name> Date: Wed Feb 5 10:12:28 2025 +0100 display: Add per-shader PStats timer for compute dispatches Also add a total work group counter Fixes #1721 commit c729c75b299cb7d7945daaded6691fdf973fc458 Author: rdb <git@rdb.name> Date: Wed Feb 5 10:03:54 2025 +0100 display: Add queries for max work group count/size/invocations Fixes #1713 commit fef27a7cb0d0158a9e4ea6d08790fabadd03f639 Author: rdb <git@rdb.name> Date: Mon Feb 3 18:09:00 2025 +0100 Update emscripten to 4.0.2, Python to 3.12.8, enable bulk memory commit 6452907b64daa1fd810a5d80bb38563e33e8703d Author: rdb <git@rdb.name> Date: Mon Feb 3 18:06:30 2025 +0100 Improvements for env handling with node.js and emscripten - Initializes the environment so that getenv et al works properly - No longer calls JS functions at static init time; the JS preamble will pass the right env vars to ExecutionEnvironment - Sets the binary name to the path of the .js file commit 8a1159f4a7b9dc44c7519524ac09136777e24236 Author: rdb <git@rdb.name> Date: Sun Feb 2 20:12:17 2025 +0100 makepanda: Only build pnmimagetypes with exceptions if using OpenEXR commit 79d6727077c78e5f2dbb7c9dd85ccbc81ad40b6c Author: rdb <git@rdb.name> Date: Sun Feb 2 20:11:32 2025 +0100 Move MAIN_DIR initialization code from interrogate to panda3d Using the new -init flag, see panda3d/interrogate#3 commit ea1cbe47ac8f476e0d9ebd3e77f30c1d56b33fcf Author: rdb <git@rdb.name> Date: Sun Feb 2 20:07:10 2025 +0100 dist: Add missing hidden import for panda3d.core on enum commit 3f0f90d83db21ab718e624bcbd28b042ab74435c Author: rdb <git@rdb.name> Date: Sun Feb 2 20:06:46 2025 +0100 makepanda: Don't try to call interrogate_module with -vv commit b0e1e0c75a9af617060e224b5472cb68e9a7c13c Author: WMOkiishi <w.muneo.o@gmail.com> Date: Sun Jan 12 17:47:15 2025 -0700 showbase: Annotate callback methods commit 0404febf96645f9ab3f913717263735f94a27d82 Author: rdb <git@rdb.name> Date: Thu Jan 30 14:13:15 2025 +0100 windisplay: Fix IME result not showing up without `ime-aware true` commit e681c17215c8b95c0b4f461b8b09569a38716bd4 Author: rdb <git@rdb.name> Date: Thu Jan 30 11:58:25 2025 +0100 glgsg: Use glClearTexImage even when tex has no storage Just use glTexImage with null image to create the storage first, then clear it, this prevents needlessly generating a filled RAM image on the CPU commit f188c8a028e5222a2f1d44c49d48cdc7e4def18c Author: rdb <git@rdb.name> Date: Thu Jan 30 11:38:17 2025 +0100 tests: Use approx comparison for test_depth_bias commit 99b388871219be723ef2cad91c7606875d1e471e Author: rdb <git@rdb.name> Date: Thu Jan 30 11:38:00 2025 +0100 gobj: Fix Texture::clear_clear_color() commit f6f391bd3decd945daafba06eda98999c6809856 Author: rdb <git@rdb.name> Date: Thu Jan 30 11:18:28 2025 +0100 glgsg: Don't override texture clear color for FBO attachments This applies to FBOs without a clear set; the clear color set on the texture should determine the initial color. commit 8114971c56ce89781e58336be6d5b349aca07b5a Author: rdb <git@rdb.name> Date: Wed Jan 29 16:57:54 2025 +0100 webgl: Improve handling of canvas focus Can now forcibly focus to the canvas with a foreground request, and now focuses automatically on window open (except if requested not to) commit 1281875cbc871fd56abf1b3efe01c828f37bf5af Author: rdb <git@rdb.name> Date: Wed Jan 29 16:04:53 2025 +0100 linmath: Fix degenerate case in decompose_matrix Regression in 583f7366db786ff750d77fb8ff09fd3c5718db1c commit 1fa8e2b0fc1d3926a1770e18d98f9c8f270a3a86 Author: rdb <git@rdb.name> Date: Wed Jan 29 16:38:41 2025 +0100 webgl: Don't use stringToUTF32 for keypress handling commit 287e456077701df8c3b06b9f71347d32f737c556 Author: rdb <git@rdb.name> Date: Wed Jan 29 16:56:58 2025 +0100 glgsg: Fix BGR swap regression for sync uploads Was regression in 2a47826101b4ad798564a38bc3b38109994e4444 commit fa64a52fca875b99c1cdb423968bb53985afec7b Author: rdb <git@rdb.name> Date: Wed Jan 29 11:12:07 2025 +0100 glgsg: Do not prefer depth-stencil ms renderbuffers on macOS Fixes #1719 commit 1234388de8fdbace87c9e7765a979ba51f3b4b1f Author: rdb <git@rdb.name> Date: Wed Jan 29 11:11:47 2025 +0100 glgsg: Make multisample renderbuffer format match regular one commit 9c7e9e9805d8379814997d46e5391778c322c7a4 Author: rdb <git@rdb.name> Date: Wed Jan 29 11:10:42 2025 +0100 glgsg: Add more debug prints for renderbuffer creation commit 97fcbc2e15c8dd4b9c08156708b2c9e6e75f4f45 Author: rdb <git@rdb.name> Date: Wed Jan 29 11:06:57 2025 +0100 glgsg: Fix error message for unhandled external formats commit 3725a00fdc65ff839c95f47e3852f1ba374bd444 Author: rdb <git@rdb.name> Date: Tue Jan 28 10:40:43 2025 +0100 glgsg: Fix typo commit 1a431b3894933df75bae4cc5a26fe10bbb3352ec Author: rdb <git@rdb.name> Date: Tue Jan 28 09:53:34 2025 +0100 glgsg: make async texture transfer threads configurable commit 55a3a0d2af41db31a937f960dcc84d58a694dbe4 Author: rdb <git@rdb.name> Date: Mon Jan 27 17:26:17 2025 +0100 glgsg: async screenshot refactor, general mechanism for fences commit 2a47826101b4ad798564a38bc3b38109994e4444 Author: rdb <git@rdb.name> Date: Fri Jan 24 22:39:31 2025 +0100 glgsg: Big refactoring of texture uploading, add async upload support commit 2ea02ef0c8ad3d43e01b67f6d1ed1b2dafb46ac1 Author: rdb <git@rdb.name> Date: Fri Jan 24 22:19:42 2025 +0100 putil: Add new primitives for async callbacks/futures These are a lot lighter than AsyncFuture and safer to use in C++ due to the reliance on RAII. An async method can now take a CompletionToken, which will implicitly accept an arbitrary callable or an AsyncFuture pointer. commit 67723ca06ac15ae6a43f7d780602fd32682e7d14 Author: rdb <git@rdb.name> Date: Mon Jan 27 13:03:36 2025 +0100 display: Generalized method for running things on draw thread This is more general and elegant than manually listing all operations in a big enum commit 5b0cf9e053dba0762b297744b5dd3d41c3189e85 Author: rdb <git@rdb.name> Date: Mon Jan 27 12:55:26 2025 +0100 glgsg: More efficient handling of texture memory barriers New system uses counters instead of sets, just setting a counter for each barrier on a texture to the same value as a counter on the GSG when a barrier is pending, and incrementing the counter on the GSG whenever that barrier is issued, is enough to track pending barriers since barriers are global commit a55860bf495403e810e0e1b289749432071cbcde Author: rdb <git@rdb.name> Date: Mon Jan 27 11:52:32 2025 +0100 glgsg: Fix memory barrier for extract_shader_buffer_data commit 3833866801806568670e5fd8c100726e271b3088 Author: rdb <git@rdb.name> Date: Sat Jan 25 18:08:54 2025 +0100 display: Add method to synchronously download SSBO contents commit 7ba4fe365cb42f58fc6b6f306ce188d58cbbba01 Author: rdb <git@rdb.name> Date: Sat Jan 25 18:08:29 2025 +0100 display: Add gsg.engine property commit 3082d28fe81e4b1de4c93404ca343165f2a069ec Author: rdb <git@rdb.name> Date: Wed Jan 22 22:17:56 2025 +0100 pstatclient: Fix out-of-order events with thread profiling It could generate an end/start pair on a thread that is waiting due to other threads in that sync group submitting a PStats frame for the whole sync group, which would cause out-of-order events commit da4e2cad9f7b1b799db54e1c3bc2af113032fbbb Author: rdb <git@rdb.name> Date: Wed Jan 22 22:14:24 2025 +0100 express: Use monotonic clock on POSIX (has nanosecond precision) commit 674fa4480b8360eb8b8f8ed3124e25300e5506a8 Author: rdb <git@rdb.name> Date: Wed Jan 22 22:14:01 2025 +0100 task: Fix first frame on task chain missed by PStats commit 91f124e2f1f81c41f7aefaf3bde9dbcbd802e77f Author: rdb <git@rdb.name> Date: Tue Jan 21 12:16:09 2025 +0100 display: Allow setting a custom clock for a GraphicsEngine This is essential for supporting multiple engines, otherwise both engines will try to tick the global clock in render_frame() commit 8c9ba6dc38290c990d240be20d545fa72587c78d Author: rdb <git@rdb.name> Date: Tue Jan 21 12:04:01 2025 +0100 cocoa: Fix compilation error commit f872a82422e9b950b2224df5781b55af4021d0f0 Author: rdb <git@rdb.name> Date: Tue Jan 21 11:52:58 2025 +0100 display: Support sharing graphics context between GraphicsEngines Automatically happens when creating a new window/buffer specifying a GSG that was created with a different engine. commit 8f4d0c8a6634cbedc17ce728238145393eba85a8 Author: rdb <git@rdb.name> Date: Tue Jan 21 11:37:29 2025 +0100 gobj: Make BufferContextChain thread-safe commit db692edfa9fc6f0bb808891d772d637dfbc89c1e Author: rdb <git@rdb.name> Date: Mon Jan 20 20:57:51 2025 +0100 glgsg: Issue memory barriers for SSBOs At the moment, it assumes that all SSBO accesses are writes, once shaderpipeline lands we can sort out readonly accesses based on the qualifiers in the shader commit 271fa9d9c03afc03943db3cb1ff26a28140c6d38 Author: rdb <git@rdb.name> Date: Sun Jan 19 11:09:47 2025 +0100 glgsg: Fix issues with render-to-texture and cube map arrays commit eb5366b9913898a1a8d596f05e0cf9d809302264 Author: WMOkiishi <w.muneo.o@gmail.com> Date: Thu Jan 16 08:04:09 2025 -0700 tests: Update mypy to version 1.14.1 (#1715) commit cc6646a448fcce061d5e89cba3cab6420d9efbae Author: Disyer <daniel@tohka.us> Date: Sat Jan 11 21:32:52 2025 +0200 cull: Fix crash caused by freeing a cull object with empty volume commit be382a8f29f81c289be818760eae12523aa26837 Author: rdb <git@rdb.name> Date: Sun Dec 29 14:39:43 2024 +0100 makewheel: Exclude some more system libs [skip ci] commit 770e2fff0c6206bf4798c03288cb7490183343a3 Author: rdb <git@rdb.name> Date: Thu Dec 26 22:13:06 2024 +0100 windisplay: Remove unused config.prc variable definitions: - responsive-minimized-fullscreen-window - hold-keys-across-windows - swapbuffer-framelock commit f4337338c149b2fa3f1c0a1662b9104f14196288 Author: rdb <git@rdb.name> Date: Thu Dec 26 15:03:19 2024 +0100 readme: Update Android build instructions [skip ci] commit 598a94abfc0a5e20f2e00a2ce637ad36912e43f4 Author: rdb <git@rdb.name> Date: Thu Dec 26 15:00:55 2024 +0100 android: Set minimum to API level 21 [skip ci] commit 5965d5bbece170c597f273be6c9935cc1b3c9bec Author: burningbuffer <rodrigues3442@hotmail.com> Date: Sat Dec 21 14:53:07 2024 -0300 windisplay: Prevent window resize to zero (#1705) commit 899af61e2aacd8392890c008634286d25b67e0ad Author: rdb <git@rdb.name> Date: Thu Dec 19 16:18:17 2024 +0100 pgraph: Fix ModelPool return value reference count commit e43dc87df593d3673b2daebbda00683f830221af Author: rdb <git@rdb.name> Date: Sat Dec 14 15:25:03 2024 +0100 Fix unit test failures on Python 3.13 commit 46cf9c0507b3c93c4ea85ea0374ae81803051999 Author: rdb <git@rdb.name> Date: Sat Dec 14 14:47:28 2024 +0100 showbase: Fix Loader when destroying and recreating ShowBase commit 3f2b9cd351ffe9ceaa849d556fd23340195e08f1 Author: rdb <git@rdb.name> Date: Sat Dec 14 13:25:12 2024 +0100 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 commit 343ec6b3673f1520882da3b79cb9e53c6516df14 Author: rdb <git@rdb.name> Date: Sat Dec 14 12:57:27 2024 +0100 showbase: Create Loader before ShowBase, importable from ShowBaseGlobal This makes it possible to load models before opening ShowBase commit 5d465be01e9ac5a8aad9cb689af822f60682b7e9 Author: rdb <git@rdb.name> Date: Sat Dec 14 12:50:02 2024 +0100 samples: Remove unused CardMaker import from procedural-cube sample commit 5e0504972568eda733bacbab7e6ff0c4e5d2585f Author: rdb <git@rdb.name> Date: Sat Dec 14 12:48:24 2024 +0100 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 commit 6f33bbecea7b1a3dd286c8131af36cace70a6229 Author: rdb <git@rdb.name> Date: Tue Dec 3 13:19:48 2024 +0100 glgsg: Fix use after free with gl-force-fbo-color and layered FBO commit 26dd78415366676246f144bbe10040e0550bbef4 Author: rdb <git@rdb.name> Date: Tue Dec 3 13:19:17 2024 +0100 gobj: Make BufferResidencyTracker::_residency a const field commit ff111132f41e72f864bb6747067a7f7f6b82511b Author: rdb <git@rdb.name> Date: Wed Nov 27 18:11:10 2024 +0100 android: Draw to whole window, ignoring contentRect This contentRect is quite odd and blocks out a big chunk at the top of the screen which doesn't really seem to correspond to anything commit d87cbbce628ec2a20cea4dfc3ddf9b59f0f337a6 Author: rdb <git@rdb.name> Date: Wed Nov 27 18:10:18 2024 +0100 dist: Validate application_id when building for Android commit 7d753d479fb482026a0abd10eba5883befc5d427 Author: rdb <git@rdb.name> Date: Wed Nov 27 17:16:22 2024 +0100 dist: Set various AndroidManifest.xml attribs, support appCategory commit 6f0fa2b4ec3660fe220cec086196e3fa4e299c5b Author: rdb <git@rdb.name> Date: Wed Nov 27 17:09:29 2024 +0100 dist: Fix for Android configuration changes restarting app Intended to address most of #1216 commit 73c6759984cd8bb6d8cf1302e61dea1f0ec428b4 Author: rdb <git@rdb.name> Date: Wed Nov 27 16:25:24 2024 +0100 android: Exit process after activity shutdown Hack to help with #1216 a bit Unfortunately this causes the activity to reopen sometimes, but maybe this can serve as a stopgap for now commit 8a1d0f7a5a8ae7c53b60c4c4bc99373c4028a539 Author: rdb <git@rdb.name> Date: Wed Nov 27 16:00:59 2024 +0100 makepanda: use javac from JAVA_HOME, check for deprecations commit a855071bcf47cf98a54742d6bc4d7550c27fbcf2 Author: rdb <git@rdb.name> Date: Wed Nov 27 15:57:05 2024 +0100 showbase: Fix regressions on Android due to not running on main thread commit d6acaaffb0354f6078fcdc23fa2cefbb086d1bc0 Author: rdb <git@rdb.name> Date: Wed Nov 27 00:10:37 2024 +0100 dist: Android fixes, esp. for Python 3.13 This changes the use of sys.executable to sys.platlibdir, which requires Python 3.9+ (but that's probably okay since Python 3.8 is EOL) Python 3.13 has proper official Android support, including built-in stdout/stderr redirection, but it only does so if sys.executable is not set commit 46e90058b9e373cc0a285c4be9cc8d7b3e0a51f6 Author: rdb <git@rdb.name> Date: Wed Nov 27 00:09:02 2024 +0100 android: Fix crash on shutdown if stdout/err is not redirected commit d1707c48fc32f931bcbbe1f56ebd35ff62c66a65 Author: rdb <git@rdb.name> Date: Wed Nov 27 00:08:09 2024 +0100 makewheel: Correct path to libpython on Android commit a32030d46e6a96547fe4ebe6b1036be652ef659f Author: rdb <git@rdb.name> Date: Tue Nov 26 18:16:01 2024 +0100 framework: Clean up task manager on close_framework() This prevents crashes due to the tasks it spawns continuing to run commit ff3e7da752e5b7d031a9817de6e50e930adf8187 Author: rdb <git@rdb.name> Date: Tue Nov 26 17:02:26 2024 +0100 pipeline: Never try to detach external pthread (fixes Android crash) commit ac68b85d1f8fd18b0ad0df805744525f5ffd68fd Author: rdb <git@rdb.name> Date: Tue Nov 26 16:42:45 2024 +0100 shader: Fix compilation warning commit 347164103c0de735173ebf209f68c06292f5bb69 Author: rdb <git@rdb.name> Date: Tue Nov 26 16:42:21 2024 +0100 text: Don't try to use harfbuzz if freetype is not enabled either commit c31041c8cc45a8d5ed850bdce535882ee533a199 Author: rdb <git@rdb.name> Date: Tue Nov 26 16:42:02 2024 +0100 android: Fix assorted errors and deprecations commit 44a41168bc225c27bc3656ad17f3fa124012b6ff Author: rdb <git@rdb.name> Date: Tue Nov 26 16:41:13 2024 +0100 makepanda: Fix assorted Android compile / package issues commit 7191fb1ed68e470cdc7b11f3b5b74544991caea0 Author: rdb <git@rdb.name> Date: Tue Nov 26 16:40:49 2024 +0100 makepanda: Don't look for macOS framework when cross-compiling commit fa25c51d304a5fbe58f276ad7d4fe405bd9809d0 Author: rdb <git@rdb.name> Date: Tue Nov 26 16:40:18 2024 +0100 notify: Fix compile error on Android commit 639497310e2972eae81ee825dbdff14cdc02c520 Author: rdb <git@rdb.name> Date: Thu Nov 14 20:21:04 2024 +0100 windisplay: Fix recursive loop in adjust_z_order commit 22381c94d455f501b7364ba11296f459e44d66f4 Author: rdb <git@rdb.name> Date: Thu Nov 14 20:11:39 2024 +0100 pgraphnodes: Disable lighting when rendering shadow cam This prevents accessing a texture (the shadow map) that we're currently rendering into. Hopefully a reasonable driver was already optimizing out the access properly due to the color write being off, but it could cause unnecessary work in the driver This will have the effect of the shader generator generating a different shader for the shadow pass than for the main pass, ideally we optimize the shader generator a bit more so that there are fewer shaders generated for the shadow pass. commit d173086a6f25ffe238f90b65386dad54119eb618 Author: rdb <git@rdb.name> Date: Thu Nov 14 20:07:48 2024 +0100 putil: Fix SparseArray get_lowest_on_bit and get_lowest_off_bit commit 804d49fdbb5d290c4558d56a8c8e6746e93a2696 Author: rdb <git@rdb.name> Date: Sat Nov 9 19:03:51 2024 +0100 tinydisplay: Fix extracted texture not having sRGB format commit 2b885944218b60ba9b6efc001e433a16a65e05b5 Author: rdb <git@rdb.name> Date: Sat Nov 9 19:03:27 2024 +0100 tinydisplay: Fix vertex color being multiplied in even with material present commit 134f0bbc8305281f459097ffea4e64bc74c82281 Author: rdb <git@rdb.name> Date: Sat Nov 9 19:02:54 2024 +0100 tinydisplay: Fix material diffuse being ignored with only ambient light commit 05d23cae351754150da61e20d1c822ecbcda2e6c Author: rdb <git@rdb.name> Date: Sat Nov 9 19:02:28 2024 +0100 tinydisplay: Set correct number of depth bits in buffer commit d23e44e2f11830bb4fecbe8501143344ad7b68ab Merge: f5433fa5d7 e270a073f4 Author: rdb <git@rdb.name> Date: Fri Nov 8 11:34:22 2024 +0100 Merge branch 'release/1.10.x' commit e270a073f490c7ec3ccd1719581a45de94b35743 Author: rdb <git@rdb.name> Date: Fri Nov 8 10:55:21 2024 +0100 readme: Update download link to 1.10.15 [skip ci] commit f26009bd246bfcb66d36299be01588603c72ea58 Author: rdb <git@rdb.name> Date: Fri Nov 8 10:54:13 2024 +0100 Add Python 3.13 to setup.cfg [skip ci] commit 9dbd20d7bd0bd5a2f5d311a0d1307c4697003f3e Author: rdb <git@rdb.name> Date: Thu Nov 7 16:20:49 2024 +0100 workflow: No longer skip Python 3.13 builds on Windows commit e199f25b4dc329a2b9776f22ba8952a8fe5ee520 Author: rdb <git@rdb.name> Date: Thu Nov 7 16:18:50 2024 +0100 Update thirdparty links to 1.10.15 commit d8cc57a5f7ff282f9850ebd87fd6455617fcb45c Author: rdb <git@rdb.name> Date: Thu Nov 7 16:01:19 2024 +0100 doc: Add release notes for 1.10.15 [skip ci] commit f5433fa5d7de5d83eb7c58edbb5d1facf36d1a68 Author: rdb <git@rdb.name> Date: Thu Nov 7 12:49:11 2024 +0100 CMake/makewheel: properly determine and pass platform tag One part of #1663 commit a6a386aab3031daae904de47fbfdb68282ec4d62 Author: rdb <git@rdb.name> Date: Thu Nov 7 11:34:02 2024 +0100 text: Fix text-native-antialias not properly taking effect commit b51dd4d7bc32706a1c31317acaed4618ecacde9a Merge: 001d29e733 16431748de Author: rdb <git@rdb.name> Date: Wed Nov 6 22:52:54 2024 +0100 Merge branch 'release/1.10.x' commit 16431748de941607c4cdd946cdc9260a7a025f52 Author: rdb <git@rdb.name> Date: Wed Nov 6 22:51:40 2024 +0100 parametrics: fix RopeNode breaks due to float imprecision Fixes #1325 commit 001d29e733267efff405363b013bbe1e0a4b116d Author: rdb <git@rdb.name> Date: Wed Nov 6 18:22:12 2024 +0100 workflow: Fix correct outputdir for makepackage commit a076dd4704f1fd27e7f3ea5a7fe21599c4a82701 Author: rdb <git@rdb.name> Date: Wed Nov 6 14:12:21 2024 +0100 CMake: Fix issues locating Python in thirdparty on Windows Fixes #1472 commit 69498f23a528cd8d0904487196ac0ffb01941c27 Author: rdb <git@rdb.name> Date: Wed Nov 6 11:33:17 2024 +0100 workflow: Add double-precision builds Fixes #1536 commit 0a4d22ad9fee6378eca84e656cea38136da835b3 Author: rdb <git@rdb.name> Date: Wed Nov 6 13:20:03 2024 +0100 express: Fix VFS mount points not being listed as directories Fixes #1244 commit 4da5158b05294fa09033271c3e4927ca8cc8b7b4 Author: rdb <git@rdb.name> Date: Wed Nov 6 11:31:59 2024 +0100 CMake: change how thirdparty directory is detected commit 5caace1cdd1e8cdadfe3cc45c8b0828323f05dd0 Author: rdb <git@rdb.name> Date: Wed Nov 6 11:31:11 2024 +0100 imageprogs: Fix compilation with CMake and STDFLOAT_DOUBLE commit cdebca4703908a2b23c0900a62d604425f157229 Author: rdb <git@rdb.name> Date: Wed Nov 6 11:27:53 2024 +0100 CMake: Only pass -fno-rtti and -frtti for C++ targets commit 36d07e478cc45c9dc98cb01f49bc500f90c0b679 Author: rdb <git@rdb.name> Date: Wed Nov 6 11:14:08 2024 +0100 makepanda: Remove unnecessary filesystem flags for emscripten run_tests commit c3326fa0da094cb2b28b6c4c842852afb5b1f2a0 Author: rdb <git@rdb.name> Date: Wed Nov 6 11:09:50 2024 +0100 tests: Fix node check for other envs commit 8d24a5d1a90f12d4b2db5c96029b657f41b7cb45 Author: rdb <git@rdb.name> Date: Mon Nov 4 19:02:26 2024 +0100 workflow: Disable Eigen on CMake macOS builder for now For some reason, CMake doesn't seem to respect CMAKE_CXX_STANDARD on macOS commit 3585adfe338a3a16dff3aaaeb86035b699dad0e0 Author: rdb <git@rdb.name> Date: Mon Nov 4 16:03:27 2024 +0100 workflow: Updates for runner deprecations commit 72b9dd9a70b10b96e0f83b9423c80943e22feb09 Author: rdb <git@rdb.name> Date: Mon Nov 4 15:58:39 2024 +0100 parser-inc: add emscripten/heap.h to squelch interrogate warning commit 221d35d3a60bafd6f35aa7793397086994a3f29b Author: rdb <git@rdb.name> Date: Mon Nov 4 13:31:22 2024 +0100 Allow running test suite with emscripten via node.js commit 8fcaea6e9006c4d14539d7f4b212296803fd7d0d Author: rdb <git@rdb.name> Date: Mon Nov 4 15:28:06 2024 +0100 makepanda: pip-install interrogate before setting PYTHONHOME commit 271cd14544a01802c95eb8b29680679f53f1a570 Author: rdb <git@rdb.name> Date: Mon Nov 4 15:13:15 2024 +0100 makepanda: Fix custom Python build location for cross-compile commit 5722e40520ceacc5cba06990da4e0d61184bd0a8 Author: rdb <git@rdb.name> Date: Mon Nov 4 15:17:09 2024 +0100 makepanda: Expand tilde in -incdir and -libdir options commit e0c40968423be607278b1d77c9473b5a72548c50 Author: rdb <git@rdb.name> Date: Mon Nov 4 13:27:25 2024 +0100 makepanda: Set extension suffix for emscripten properly commit 7a690bb07110f50791e66a8daeef4d4bedc2a2a9 Author: rdb <git@rdb.name> Date: Mon Nov 4 13:26:29 2024 +0100 makepanda: Link libmpdec.a et al in emscripten even with custom libdir commit 7c74060035c21033885f75878921b6d620be7674 Author: rdb <git@rdb.name> Date: Mon Nov 4 13:25:36 2024 +0100 dtoolutil: Read environment variables in emscripten under node.js commit 94c63fe9da215b48ec2dfea4203e9e257531e842 Author: rdb <git@rdb.name> Date: Mon Nov 4 13:25:22 2024 +0100 dtoolutil: Remove silly unused variable commit 1a4ca179a98e5839f559488a77fb8d6f0c09b1bb Author: rdb <git@rdb.name> Date: Mon Nov 4 13:19:38 2024 +0100 tests: Properly skip Pmw tests when tkinter is not present commit 60d7d9ec1e0a1f9b7c8311a94b32d550f9a979b7 Author: rdb <git@rdb.name> Date: Mon Nov 4 11:57:02 2024 +0100 makepanda: Re-link executables with --static if dependency changed commit c060b2f3feeee6f6549f045ab8307a07e259d6e2 Author: rdb <git@rdb.name> Date: Sun Nov 3 23:59:23 2024 +0100 linmath: Fix vector printing issues with big values on emscripten commit 8ff71aeb156161bb11bb7bda713fccba027c68a9 Author: rdb <git@rdb.name> Date: Sun Nov 3 23:58:28 2024 +0100 webgl: Fix precision issues with default shaders commit f4d9a6788810132a84bcaa8a8b3d23630a24326b Author: rdb <git@rdb.name> Date: Sun Nov 3 23:57:04 2024 +0100 makepanda: Add missing static libs for Python 3.12 emscripten build commit 6823634f60a652be80b7ed627d1d11a2cea1e6c0 Author: rdb <git@rdb.name> Date: Sun Nov 3 16:23:31 2024 +0100 cull: Use more efficient arena allocation for CullableObject commit 50b984cffdfbc60e55cd9f95b5ca9affe65283df Author: rdb <git@rdb.name> Date: Thu Oct 31 23:50:27 2024 +0100 dtoolbase: Fix test failure on 32-bit Windows with pftoa commit 7926d1047ef9b3b455642f5f13c839a11ede7cee Author: rdb <git@rdb.name> Date: Thu Oct 31 14:58:00 2024 +0100 text: Unbreak small caps support with text-use-harfbuzz Fixes #1666 commit 55fa0e9912633d0406f56033ec166b853e482717 Merge: 5b6318e77f 6f2231620d Author: rdb <git@rdb.name> Date: Thu Oct 31 13:13:00 2024 +0100 Merge branch 'release/1.10.x' commit 6f2231620d796b47916397625f4bbfb78aaf76ad Author: rdb <git@rdb.name> Date: Thu Oct 31 13:06:26 2024 +0100 build_apps: Add bam_embed_textures option commit 89c0371cbb8009a4a04438424c53e3c037e4fe47 Author: rdb <git@rdb.name> Date: Thu Oct 31 13:05:31 2024 +0100 putil: BamWriter doc fix, initialize _root_node field properly commit 5dcd70dcb5c513a26702df8708b98b84d5271bc2 Author: rdb <git@rdb.name> Date: Thu Oct 31 12:52:17 2024 +0100 build_apps: Fix wrong relative paths with bam_model_extensions Fixes #1642 commit 2a6f4fc6ff4521b224a840d7064171f132600a66 Author: rdb <git@rdb.name> Date: Thu Oct 31 12:51:52 2024 +0100 putil: Fix file_texture_mode on BamWriter not being writable commit 32ad388a51a40c7f35a515b7c8819621f614a574 Author: rdb <git@rdb.name> Date: Thu Oct 31 12:51:31 2024 +0100 gobj: Don't try to resolve empty alpha filename when writing bam commit a311ad876f4dd64201b78c477364016efacffc3e Author: rdb <git@rdb.name> Date: Thu Oct 31 12:51:07 2024 +0100 test_wheel: Add --ignore option to ignore tests commit e5ac1d0141295330ad4aa329d80c8412ce63dd37 Author: rdb <git@rdb.name> Date: Thu Oct 31 12:50:26 2024 +0100 build_apps: Don't warn about missing ld-linux lib on aarch64 commit ff91f127bf2c11d05adb20f6e7f2ba234f1d6ec9 Author: rdb <git@rdb.name> Date: Wed Oct 30 21:51:56 2024 +0100 py_compat: Fix Python 2.7 compilation error This code never actually gets compiled in Python 3 [skip ci] commit 5b6318e77f3cb1fea519bbd3cd637ad9b0be1606 Author: rdb <git@rdb.name> Date: Wed Oct 30 20:56:31 2024 +0100 makepanda: Don't set macOS deployment target to 10.13 except when linking with Python This prevents building for multiple Python versions in the same build [skip ci] commit c2de5c306f8430ed95b303d7edccbf132a240601 Author: rdb <git@rdb.name> Date: Wed Oct 30 20:19:05 2024 +0100 makepanda: Don't link p3dcparse with pystub pystub doesn't really define enough symbols to be useful with newer Python versions, and it seems that there are compile errors with python 3.13t on manylinux2014 due to conflicts with the Python library itself commit e2d9d3ef7ce56b37f417b6f2e455279433f67635 Author: rdb <git@rdb.name> Date: Wed Oct 30 20:09:31 2024 +0100 makepanda: Fix python DLL not being copied into wheel on 3.13t commit cfe3726aeb6d61180fb0c4c64fbf1306b0ce363e Author: rdb <git@rdb.name> Date: Wed Oct 30 18:40:52 2024 +0100 makepanda: Python 3.13 requires macOS 10.13 commit 957c4b9bce909b4ffb5af9f46715edaabe758517 Merge: 6d54aee0c7 27ce5c991e Author: rdb <git@rdb.name> Date: Wed Oct 30 18:39:00 2024 +0100 Merge branch 'release/1.10.x' into master commit 6d54aee0c73da5eddce7afd0ce0d1085374c2255 Author: rdb <git@rdb.name> Date: Wed Oct 30 17:23:48 2024 +0100 Remove runtime dependency on interrogatedb commit 27ce5c991eb79c9bda6de439c0bec8198150fa9c Author: rdb <git@rdb.name> Date: Wed Oct 30 14:57:35 2024 +0100 dist: Python 3.13 requires macOS 10.13+ commit 0c1a0799b1a8dcead90c9f0879898a4a06ebd662 Author: rdb <git@rdb.name> Date: Wed Oct 30 14:41:06 2024 +0100 Fix faulty auto-merge commit 6010c711c0287a391d41175b3021ce3ebbdec18d Author: rdb <git@rdb.name> Date: Wed Oct 30 14:14:25 2024 +0100 tests: Add bin dir to PATH when running FreezeTool test commit 5b80f19d01cbc46a09065f516aa9fe73084c6ce1 Author: rdb <git@rdb.name> Date: Wed Oct 30 14:13:44 2024 +0100 Changes in preparation for Python 3.14 commit e58449cde70e29e80e62233d0e6ff7387c58bce6 Author: rdb <git@rdb.name> Date: Wed Oct 30 13:42:33 2024 +0100 dtoolutil: Let Python do Filename conversion to UTF-8 commit 7560a1edd1f6a9c4954d8512cfddef428e94a8ed Merge: a8d0f61e56 f47b34d2a1 Author: rdb <git@rdb.name> Date: Wed Oct 30 13:37:17 2024 +0100 Merge branch 'release/1.10.x' commit f47b34d2a13d02c67fd9e0e6cfaad2ddb0e3125f Author: rdb <git@rdb.name> Date: Wed Oct 30 13:23:34 2024 +0100 Fix remaining uses of ._PyType member in extension code This should be replaced with Dtool_GetPyTypeObject, hiding the implementation details a bit so that we can more easily change the underlying structure if we need later Also adds Py_NewRef to py_compat.h, backporting from master commit df5f8d77daa802d030aa2277c5d7b987d7fd515a Author: rdb <git@rdb.name> Date: Wed Oct 30 12:56:48 2024 +0100 makepanda: Build fixes for Python 3.13t on Windows commit e2385881181fe829a484983aa70ef1dbf19dcbf2 Author: rdb <git@rdb.name> Date: Wed Oct 30 13:16:25 2024 +0100 makepanda: Fix wrong flag for excluding pythonXX_d.lib commit 0ba2aadcd64584cc7c9b4625439e96b70daa92e5 Author: rdb <git@rdb.name> Date: Wed Oct 30 13:06:36 2024 +0100 Introduce Py_IS_TYPE, use for Py_TYPE comparisons commit 64454b1c9ff4fe7eb9a96a51cd2e3cccd1789038 Author: rdb <git@rdb.name> Date: Wed Oct 30 12:57:18 2024 +0100 Replace direct uses of ob_type, which gives problems in nogil build commit 10da05e2a64ae20db6ef351b3469039a352ce82d Author: rdb <git@rdb.name> Date: Wed Oct 30 12:53:54 2024 +0100 workflow: Skip Windows builds for Python 3.13 for now commit a8d0f61e56613a0386657ad1ea818893b83698cc Author: rdb <git@rdb.name> Date: Tue Oct 29 23:12:50 2024 +0100 makepanda: Run correct interpreter when running --tests with 3.13t commit b6e0088633ce4bc54d4f3f1b7030abe5d9f0fc9b Author: rdb <git@rdb.name> Date: Tue Oct 29 23:11:06 2024 +0100 makepanda: Specify --upgrade when installing interrogate commit a632365b883ec0e37b1675261c38c55fe4e5abad Author: rdb <git@rdb.name> Date: Tue Oct 29 22:23:50 2024 +0100 win-stats: Handle app commands, support back keybind in flame graph See #1658 commit f9a5445d42f1eefa027d9b043727eb3ebd810747 Author: rdb <git@rdb.name> Date: Tue Oct 29 19:23:47 2024 +0100 workflow: Test Python 3.13, update setup-python to v5 commit dbeab0b97bc7b0b363fb72ed9b1b8137b2626e25 Author: rdb <git@rdb.name> Date: Tue Oct 29 19:20:27 2024 +0100 makepanda: Backport Python 3.13t build fixes commit 12bb7d12bb0678ac229375a81aebc921e49c9958 Author: rdb <git@rdb.name> Date: Tue Oct 29 17:34:48 2024 +0100 showbase: Fix DistancePhasedNode exception at module clean-up time commit 7b02aa7026c91b9c665823f926379b7998aed59e Author: rdb <git@rdb.name> Date: Tue Oct 29 17:32:27 2024 +0100 makewheel: Fix NameError on Windows build [skip ci] commit e0a8f7d1b82e25f0aff050537480bdbde398c2d7 Author: rdb <git@rdb.name> Date: Tue Oct 29 17:29:47 2024 +0100 makepanda: Fix Windows wheel naming for 3.13t, it has no sys.abiflags [skip ci] commit e9e9fb358411f24ba0e966ce5baf5d99d7e12548 Author: rdb <git@rdb.name> Date: Tue Oct 29 17:03:43 2024 +0100 makepanda: Fixes for wheel naming in 3.13t build [skip ci] commit fd7da1908ff89139694551573e4b70134e7d620c Author: rdb <git@rdb.name> Date: Tue Oct 29 16:41:50 2024 +0100 tests: Fix test suite with 3.13t build [skip ci] commit 1f6ed882aba2658e21839a9c0ccf3a8d1cfce406 Author: rdb <git@rdb.name> Date: Tue Oct 29 16:36:49 2024 +0100 makepanda: Use PythonT.framework when using free-threaded build commit 6885edc8110c07995298741facc0acf52b0a82f3 Author: rdb <git@rdb.name> Date: Tue Oct 29 16:10:39 2024 +0100 build: Update interrogate to 0.3.0 to support 3.13t build commit c8a918a209c179e1cbcd898d251ca989e3cd053c Author: rdb <git@rdb.name> Date: Tue Oct 29 13:15:28 2024 +0100 pstats: Add Alt+Left in GTK flame graph to go back See #1658 commit 024b46b3cd95ee34433552b4c360f767a2a662d9 Author: rdb <git@rdb.name> Date: Tue Oct 29 13:10:47 2024 +0100 workflow: dependabot updates Fixes #1696 Fixes #1697 Fixes #1698 Co-authored-by: dependabot[bot] <support@github.com> commit cd2ab8daeea330ab2309703437483cb2e10df102 Author: IsakTheHacker <67378443+IsakTheHacker@users.noreply.github.com> Date: Mon Oct 28 14:18:24 2024 +0100 Create dependabot.yml (#1637) [skip ci] commit c48721493ab2f16b049095fa147d8527414ef03f Author: rdb <git@rdb.name> Date: Mon Oct 28 11:46:58 2024 +0100 pstats: Allow scrolling through frames in flame charts Closes #1658 commit 9cbc45b9bf6b9994d8a2782b08359afb8eaf0902 Author: rdb <git@rdb.name> Date: Mon Oct 28 11:57:27 2024 +0100 collide: Handle CollisionBox bam read without 2D info commit 71e2b7fff60a7804a57f5cb7b33282b0532ceb9c Author: rdb <git@rdb.name> Date: Mon Oct 28 09:20:33 2024 +0100 collide: CollisionBox cleanup, remove redundant code, reduce mem use commit a1fd79c80b532b3a17faa7572bfab0509e4d598c Author: rdb <git@rdb.name> Date: Sun Oct 27 17:57:23 2024 +0100 collide: Rewrite sphere-into-box collision test More reliable, possibly also better performance (but haven't profiled) Fixes #1673 commit 3d432ed8b29d0b1286ef9871fb01d3678be8e290 Author: rdb <git@rdb.name> Date: Sun Oct 27 17:54:30 2024 +0100 collide: Fix sphere coming out wrong end of sphere with respect-prev-transform Even with respect-prev-transform, it was still possible to tunnel through another sphere if the new position is colliding with it but close to the opposing edge, since it would only activate the respect-prev-transform check if the new position isn't colliding. commit 5f96cc592e57be00f5fd981cbb836cfded8c24ac Merge: f5b0b1e1d6 d758d2b232 Author: rdb <git@rdb.name> Date: Sun Oct 27 09:40:52 2024 +0100 Merge branch 'release/1.10.x' commit d758d2b232e6501c9a53c375a69d2c6f7916903c Author: rdb <git@rdb.name> Date: Thu Oct 24 16:41:56 2024 +0200 pgui: Fix crash when PGEntry removes itself w/ background focus Fixes #1650 commit aa0462a35acb213aa4e969266d906dc7a388ed86 Author: rdb <git@rdb.name> Date: Thu Oct 24 16:17:49 2024 +0200 fsm: Fix "no attribute notifier" error in requestNext/Prev Fixes #1644 commit b022fc9301a14bf0dd75b391e8ecbd3cfbbce568 Author: rdb <git@rdb.name> Date: Thu Oct 24 16:10:35 2024 +0200 stdpy: Fix glob not finding files in VFS Half of fix to #1675 commit f5b0b1e1d614e2fdb5a6d49ea9fc3254b92f942d Author: WMOkiishi <w.muneo.o@gmail.com> Date: Thu Oct 24 07:57:36 2024 -0600 showbase: Annotate basic `ShowBase` setup/shutdown methods (#1558) commit 42e2659636f0495f6c0e97b75f37f2212f0d861e Author: rdb <git@rdb.name> Date: Thu Oct 24 15:39:43 2024 +0200 filter: Add Khronos PBR Neutral tonemapping operator Closes #1661 Fixes #1659 Co-authored-by: Raytopia <54505044+raytopianprojects@users.noreply.github.com> commit 583f7366db786ff750d77fb8ff09fd3c5718db1c Author: rdb <git@rdb.name> Date: Sat Oct 19 11:52:10 2024 +0200 linmath: Significant perf optimizations for decompose_matrix commit f50fef37441e0b9c573b0078c3f1ff2edd325112 Author: rdb <git@rdb.name> Date: Thu Oct 17 12:32:33 2024 +0200 Switch over to C++14, drop support for MSVC 2015 The main reason is that the current development version of Eigen requires C++14 to be enabled, so otherwise we can't compile with the latest Eigen. If really needed, we can keep support for MSVC 2015 (please make your voice heard) but that would lock us out of a few features of C++14. commit c6ed5acdc22f5321e1fe5ce7421293abd7d95a26 Author: Yonnji <46163506+Yonnji@users.noreply.github.com> Date: Fri Oct 18 12:03:15 2024 +0000 fix building panda (#1694) commit ad97e88a547198a3f95db756e748d21fc05f508f Author: gabe <gabeklav@fastmail.com> Date: Thu Oct 17 15:34:32 2024 -0400 Enable OpenAL-Soft extensions for non-framework builds and add config for disabling HRTF (#1620) commit 905a7dd4829e037261d8f6a19b243ab91633551b Author: rdb <git@rdb.name> Date: Thu Oct 17 16:23:36 2024 +0200 glgsg: Fix missing include commit 90d31bfe6f4a203d1bdaf6cfb0ae7c3f5db8b495 Author: rdb <git@rdb.name> Date: Thu Oct 17 16:18:42 2024 +0200 github: Update issue templates, add links to forums/discord etc. [skip ci] commit 7c9c4cd435b988db4e6e8acb5936f378b97be5b0 Author: rdb <git@rdb.name> Date: Thu Oct 17 16:18:12 2024 +0200 gobj: devirtualize calls to GeomPatches::get_num_vertices_per_primitive() commit 822d35d15b3370f9b3b4777b2ad781cff3cde0fc Author: rdb <git@rdb.name> Date: Mon Oct 14 14:26:20 2024 +0200 putil: Minor SimpleHashMap::remove() optimization commit 61f8df2d7d64dc3ad29eab16659dd96311501735 Author: rdb <git@rdb.name> Date: Mon Oct 14 12:06:35 2024 +0200 general: Fix assorted compiler warnings commit 777ab6746cbd3e9ac12d6466d3c66470d68d6d64 Author: rdb <git@rdb.name> Date: Mon Oct 14 12:05:57 2024 +0200 display: Fix double-precision build Fixes #1688 commit 52a7224d6ec86db4c18d18e658de0bbf79f649e2 Author: rdb <git@rdb.name> Date: Mon Oct 14 12:05:27 2024 +0200 Fix various compiler warnings commit ca25efc5f6696df11d897737db1d62cccb228aac Author: rdb <git@rdb.name> Date: Sat Oct 12 09:57:04 2024 +0200 makepanda: Remove --memory-init-file flag on emscripten [skip ci] commit bd4dc8a379d668075609303652842d533d7fee74 Author: rdb <git@rdb.name> Date: Thu Oct 10 19:57:42 2024 +0200 display: Fix ability to copy wdxGraphicsBuffer to RAM on DX9 commit 30418158e8430aa71ee642f8fd75e93675e91227 Author: rdb <git@rdb.name> Date: Thu Oct 10 19:57:14 2024 +0200 dxgsg9: Allow getting alpha bits in buffer when host has no alpha commit a59c8573598a98925ab5a259303f20523deb426c Author: rdb <git@rdb.name> Date: Thu Oct 10 19:56:41 2024 +0200 dxgsg9: Replace old A2W10V10U10 format with A32B32G32R32F commit eac1cb57c43a7be615db1546b054c3d3a96f112d Author: rdb <git@rdb.name> Date: Thu Oct 10 19:49:15 2024 +0200 dxgsg9: Add missing formats to DXTextureContext9::get_bits_per_pixel commit 05cf72e22f054bdc97b53987f09ed3c494de82d9 Author: rdb <git@rdb.name> Date: Thu Oct 10 19:48:50 2024 +0200 dxgsg9: Fix texture clear color not working for 3D textures commit 7557826c8bcd891c8a99ab62528ad88152731049 Merge: 37799dc3ce 51e469d065 Author: rdb <git@rdb.name> Date: Thu Oct 10 19:48:37 2024 +0200 Merge branch 'release/1.10.x' commit 51e469d0652718f54e4b77d503e605e102ecac0f Author: rdb <git@rdb.name> Date: Thu Oct 10 19:41:14 2024 +0200 Update BACKERS.md [skip ci] commit cd2e3dfde93c3b59502ec4e14b87dd49e8122e91 Author: rdb <git@rdb.name> Date: Thu Oct 10 01:08:54 2024 +0200 dxgsg9: Fix crash on window event after `close_window()` commit beb49b3cd30376b87efeb4364df2296912f9bc81 Author: rdb <git@rdb.name> Date: Thu Oct 3 13:37:21 2024 +0200 dxgsg9: Fix some format handling, support for r32f and rgba32f textures commit 0ea0d5fa2bde2fc111b1b99a3bc345f732a56397 Author: rdb <git@rdb.name> Date: Thu Oct 3 13:29:12 2024 +0200 dxgsg9: Fix crash when copying inverted framebuffer to texture RAM commit 51876c61161b795333d564f5caa5692b43117840 Author: rdb <git@rdb.name> Date: Thu Oct 3 13:28:17 2024 +0200 dxgsg9: Fix crash with buffer when there is no depth buffer commit 37799dc3ce6137066f3fd02658f0b28eb6523590 Author: rdb <git@rdb.name> Date: Sun Sep 29 23:02:35 2024 +0200 pipeline: Try to fix Windows compilation issue commit 89fcfa1fe9860c826a80c1303b02ff77da40f419 Merge: 38261d4bb2 c05a63f4ae Author: rdb <git@rdb.name> Date: Thu Sep 26 10:23:50 2024 +0200 Merge branch 'release/1.10.x' commit 38261d4bb2ee105452481cbc063101da2d2adfa9 Author: Drew Rogers <regdogg.acr@gmail.com> Date: Wed Sep 25 22:34:19 2024 -0500 showbase: Patch for iris intervals commit c05a63f4ae9bd7d8d7539e79667051e6684a2267 Author: rdb <git@rdb.name> Date: Sat Sep 21 10:23:52 2024 +0200 pipeline: Fix compile error without pipelining enabled Closes #1684 [skip ci] commit beff684af320e044c68e3a0fde9edb3b9ab27aa1 Author: rdb <git@rdb.name> Date: Thu Sep 19 20:43:06 2024 +0200 Further thread safety changes for Python 3.13 free threading See #1683 commit 4b2fa45578e3b269d572e95fb0317c48e5b656a6 Author: rdb <git@rdb.name> Date: Thu Sep 19 20:41:53 2024 +0200 Make use of PyImport_GetModule function commit 14f3cb0e404b508dda98c2fb3bd47e6dd382bec4 Author: rdb <git@rdb.name> Date: Thu Sep 19 20:25:45 2024 +0200 tests: Add unit test for static property commit 5106fc879fe0a163dafe8eb524eb781855466325 Author: rdb <git@rdb.name> Date: Thu Sep 19 16:00:59 2024 +0200 Changes for compatibility with Python 3.13 Includes some preliminary work to make free-threading safe, see also #1683 commit b32459ffa1268f69d8cb42419929cd90f08c6367 Merge: a4faa802af cdafd81764 Author: rdb <git@rdb.name> Date: Thu Sep 19 15:51:25 2024 +0200 Merge branch 'release/1.10.x' commit cdafd81764dcf794b031b630b00ef7d21f0239d9 Author: rdb <git@rdb.name> Date: Thu Sep 19 15:47:50 2024 +0200 Fix compilation issues with Python 3.13 commit e70d0b47fce54c177628595134c9731afa5cf281 Author: rdb <git@rdb.name> Date: Thu Sep 19 14:20:35 2024 +0200 distributed: Fix very minor memory leak commit d7ede81aa32b12f44fbb27200a3db6422dc8dfaa Author: rdb <git@rdb.name> Date: Thu Sep 19 11:15:44 2024 +0200 cocoa: Fix compile error with MacOSX 10.6 SDK commit a4faa802afd6718f97aeac254228240cc4a2d247 Author: rdb <git@rdb.name> Date: Thu Sep 19 00:25:51 2024 +0200 cocoa: Remove autorelease pool in process_events() We now have one around the entire frame, in graphicsEngine.cxx commit 442558bb2de66498a7c08f8c4e9daf6986a78532 Merge: b337f2a3da 9f493f588d Author: rdb <git@rdb.name> Date: Thu Sep 19 00:25:16 2024 +0200 Merge branch 'release/1.10.x' commit 9f493f588d02591906ba011b2802c5bdb23c2091 Author: rdb <git@rdb.name> Date: Thu Sep 19 00:21:22 2024 +0200 display: Fix significant memory leak on newer macOS versions It seems the Metal-based OpenGL driver uses autorelease a lot for resources that last only a single frame, so we need to create an autorelease pool around the frame lest the resources will only get cleaned up at application exit. commit 756fe2e72bcce5b03a88ae1024302ecd0ec70fbc Author: rdb <git@rdb.name> Date: Wed Sep 18 23:51:09 2024 +0200 cocoa: Fix a very minor memory leak in DisplayInformation commit b337f2a3da09fbe654b5b224bec56e8d7e8249e2 Author: rdb <git@rdb.name> Date: Mon Sep 16 21:42:28 2024 +0200 pipeline: Use a high-precision timer for Thread::sleep() on Win32 This is mainly used for clock mode M_limited, which is currently suffering from terrible imprecision on Windows. This fixes that, making it possible to lower the value of sleep-precision down to 1ms. commit bb5e4454fee1e01d4c18b27e957a6f759e3f0880 Author: rdb <git@rdb.name> Date: Mon Sep 16 21:41:52 2024 +0200 putil: Add debug for oversleeping/undersleeping with M_limited clock commit e3f580763a03de6c0ac02ebe1079fb069446943d Author: John C. Allwein <git@johnnyapol.me> Date: Mon Sep 16 08:02:45 2024 -0600 pview: add shift+r keyboard bind to reload all textures (#1678) commit 8caf582b32a69a4393be98c18bf704cdb06d0038 Author: Timothy Choi <tyteen4a03@thelastcode.io> Date: Mon Sep 16 13:55:53 2024 +0200 refactor(distributed): Un-nest generateGlobalObject's applyFieldValues function (#1667) commit f5401b19fa5deb672754468a7648670124ed9431 Merge: e7604cb163 e2fb2d1241 Author: rdb <git@rdb.name> Date: Mon Sep 16 13:54:22 2024 +0200 Merge branch 'release/1.10.x' commit e2fb2d12413fa765016c0e373b5016f1bdca04f6 Author: rdb <git@rdb.name> Date: Mon Sep 16 13:30:06 2024 +0200 cocoa: Prevent eating keyUp when switching to FS from macOS' FS commit c7bcec1ff53473d5eab0e6f2371fef5730516a3e Author: rdb <git@rdb.name> Date: Mon Sep 16 13:29:38 2024 +0200 cocoa: Exit macOS' fullscreen mode when switching fullscreen Prevents black screen when switching to fullscreen commit 82b9a1266c9f008451edca0e938bfae30734061d Author: rdb <git@rdb.name> Date: Mon Sep 16 13:29:01 2024 +0200 cocoa: Fix error when switching to FS while macOS' FS is active commit e7604cb163c5864481bc5b9d161abb04a91b2451 Author: John C. Allwein <git@johnnyapol.me> Date: Sat Sep 7 21:20:44 2024 -0600 event: fix result refcount leak when awaiting AsyncFuture Raising the StopIteration exception left the underlying result with an elevated refcount which prevented it from being cleaned up. commit cfe3885c0e4f65f1ed7734bc7f21d7658cc77eef Author: John C. Allwein <git@johnnyapol.me> Date: Sat Sep 14 12:25:08 2024 -0600 event: use the persistent python wrapper when appending task object (#1681) commit fc394e4c5971c6582d7f431a3ce3d1e8efb93572 Author: rdb <git@rdb.name> Date: Fri Aug 23 21:08:50 2024 +0200 glgsg: Pass in osg_FrameNumber input via ShaderMatSpec mechanism commit cd68287b6ab071906c8d4a7f0a14b67807ce2886 Author: rdb <git@rdb.name> Date: Fri Aug 23 15:09:21 2024 +0200 shader: Get all aggregate shader inputs (eg. lights) in one go This means that p3d_LightSource[n] will be fetched once off the LightAttrib, written to the matrix cache, and then indexed into by the various ShaderMatSpec. This should be significantly more efficient, but the main aim is to prepare for a new binding system in the new shader pipeline User structs are still an exception as of now commit 99225dfaeffb3121aecba69c0f9109249c859fd2 Author: rdb <git@rdb.name> Date: Thu Aug 22 22:44:03 2024 +0200 shader: Unify ShaderPtrSpec and ShaderMatSpec mechanisms commit 99f403470134f100eb5ead7af26a0291cffe52db Author: rdb <git@rdb.name> Date: Thu Aug 22 15:53:08 2024 +0200 shader: Don't store on ShaderMatSpec, use scratch matrix instead commit dfc85b8a68b4224d37c9dd385af9c89a2dde11da Author: rdb <git@rdb.name> Date: Fri Aug 23 16:27:15 2024 +0200 tests: Make shadowViewMatrix test less sensitive commit 833fdb5d3624a0ddbf09ee3d13c6df21e70af5d9 Author: rdb <git@rdb.name> Date: Fri Aug 23 14:12:58 2024 +0200 readme: Update Python version in FreeBSD command Python 3.7 is no longer supported in Panda3D anyway commit a8ca06ea4767c0bc0e10bff0ad66abd32a617bb9 Author: rdb <git@rdb.name> Date: Fri Aug 23 13:55:58 2024 +0200 tests: Don't fail Dial test if tkinter failed to import commit e2ad8f2a2fb18a473f1e5d0ef7b7ef2d439e58de Author: rdb <git@rdb.name> Date: Fri Aug 23 13:53:10 2024 +0200 tests: Test additional properties of light source struct commit 2c5cebe7e090192eb816082b854a06dc318b0cc5 Author: rdb <git@rdb.name> Date: Fri Aug 23 14:13:46 2024 +0200 display: Fix shader gen regression for more than 2 lights commit d5d0b80dd3ab4bb94179226e12ab7ad25a637af8 Author: rdb <git@rdb.name> Date: Fri Aug 23 12:30:28 2024 +0200 tests: Add unit tests for GLSL light, material, fog structs commit 76ffef38d106079904f102ff7f40fa5816f6d869 Author: rdb <git@rdb.name> Date: Fri Aug 23 12:17:07 2024 +0200 display: Allow passing whole state into dispatch_compute() This is mainly useful for unit testing commit babd3a070d4cb83b3651b5f21a35caeb1b3d6dba Author: rdb <git@rdb.name> Date: Thu Aug 22 15:52:48 2024 +0200 display: Fix docstring formatting commit 9e87af9dd74995bfcbaf0d820a9466b7df7573b6 Author: rdb <git@rdb.name> Date: Wed Aug 14 19:09:20 2024 +0200 linmath: Fix compiler warning with gcc 14 commit 8d1524b6758a705d8f43ba1adca650b54c8e573d Author: rdb <git@rdb.name> Date: Wed Aug 14 19:09:08 2024 +0200 distort: Fix unprotected debug output commit 78ace53dbe8c1a33c51f78729b97715016556a52 Author: rdb <git@rdb.name> Date: Wed Aug 14 19:08:49 2024 +0200 dtoolutil: Fix typo in pfstream causing compiler warning commit ddaeb053672b15bacdb9bda5b47f47ed7c51969a Author: rdb <git@rdb.name> Date: Wed Aug 14 19:08:16 2024 +0200 Fix compilation when building without bison commit d3bb769a369a35c978f9891baa5a1deddc822020 Author: rdb <git@rdb.name> Date: Tue Aug 13 12:27:42 2024 +0200 makepanda: Support overriding build of interrogate with env vars [skip ci] commit 7f88f6de24caf068f96336c2839b7e2de3af67bc Author: rdb <git@rdb.name> Date: Tue Aug 13 11:24:45 2024 +0200 makepanda: Silently ignore --no-maya flags [skip ci] commit ad4ecbcc16a32b86ee6290c156a3fb7d953596e2 Author: rdb <git@rdb.name> Date: Tue Aug 13 11:06:04 2024 +0200 makepanda: Remove Autodesk Maya plug-ins These now live at https://github.com/panda3d/maya-egg Fixes #1584 commit fff9ea594cd2dfc2b7a90371e333198338f96b0d Author: rdb <git@rdb.name> Date: Tue Aug 13 10:59:12 2024 +0200 Split off 3ds Max exporter to a separate repository It now lives at https://github.com/panda3d/max-egg-plugin See #1584 commit 712300c9f1095a50e8719e8866c6f161aeba974b Author: rdb <git@rdb.name> Date: Tue Aug 13 00:01:35 2024 +0200 Fix prebuilt bison cxx files includes to work with CMake build Change makepanda to generate without the .yxx extension so that the include name is generated properly commit 805f36ff929d29d5b84d32f2cd621945cc8c4afa Author: rdb <git@rdb.name> Date: Mon Aug 12 16:46:47 2024 +0200 CMake: Only export Tools target if BUILD_TOOLS is on [skip ci] commit 4ca495d8284d923b9972ccc6630a2cbd113d0a5d Author: rdb <git@rdb.name> Date: Mon Aug 12 16:39:20 2024 +0200 CMake: Add separate BUILD_TOOLS option to build binaries This is separate from BUILD_PANDATOOL, which builds the pandatool tree commit c8390ae7d5e821ed3ab31d4db8380dd6c465f46e Author: rdb <git@rdb.name> Date: Mon Aug 12 16:32:24 2024 +0200 CMake: install assorted pandatoolbase libraries commit 243d59bf37bc0ed085202407e8f9e9746a2085a1 Author: rdb <git@rdb.name> Date: Sat Aug 10 16:29:14 2024 +0200 workflow: Remove step to build host interrogate for emscripten This is now fetched automatically by makepanda as of e50465e8303bb42c3ae656f5f896cb958eb2e4ed commit 8d2407d5536d111a017f346cccb53d04e23c2d66 Author: rdb <git@rdb.name> Date: Sat Aug 10 16:20:50 2024 +0200 Delete cppparser and interrogate from tree These tools now live in https://github.com/panda3d/interrogate/ See also #1074 commit ce4b79750c47d4a102a80151ed09f2376187d8da Author: rdb <git@rdb.name> Date: Sat Aug 10 16:16:54 2024 +0200 makepanda: Stop building interrogate Instead, install it using pip. If you don't like this, submit a PR or use CMake commit c9cddb8d922568f3b1a58fac382f1eb4757e0052 Author: rdb <git@rdb.name> Date: Sat Aug 10 16:15:58 2024 +0200 CMake: Stop building interrogate from tree Instead, either build it externally (BUILD_INTERROGATE) or accept INTERROGATE_EXECUTABLE / INTERROGATE_MODULE_EXECUTABLE settings commit e776c819b82cef86e82229e3648a3e2316342581 Author: rdb <git@rdb.name> Date: Sat Aug 10 12:59:37 2024 +0200 makewheel: Exclude interrogate from panda3d wheel This will be available separately as panda3d-interrogate wheel, built from https://github.com/panda3d/interrogate Fixes #1074 [skip ci] commit 37152710b7414965b81c1bf33bfdde4f925e39c4 Author: Drew Rogers <regdogg.acr@gmail.com> Date: Mon Jul 1 15:57:54 2024 -0500 showbase: Add functions to get interval for Iris Transitions commit 21b39da65d5df50944941184521eb72678f8979c Author: John C. Allwein <git@johnnyapol.me> Date: Tue Aug 6 10:51:52 2024 -0600 pythonTask: fix refcount leak of non-panda Future::done A missing Py_DECREF on the future's "done" method caused both the bound method and the underlying self instance of the future to be leaked when awaiting non-panda futures (such as _asyncio.Future). This change includes a simple new test addition to catch this in the future. commit fc1d95ae1d78a36ba4e2f40eb205c126f482b2de Author: rdb <git@rdb.name> Date: Thu Aug 8 21:36:21 2024 +0200 dtoolbase: Add missing includes to pstrtod.cxx commit abf0b38705856d9141acd404838b09ca6fc3df7e Author: rdb <git@rdb.name> Date: Thu Aug 8 21:36:00 2024 +0200 dtoolutil: Use string compare instead of strcmp in filename.I commit 23124dac073b64afc5ea25d1487b3f06814c06cf Author: rdb <git@rdb.name> Date: Wed Aug 7 23:39:20 2024 +0200 x11: Fix missing _net_wm_name field due to bad merge commit ad57762e9f395edd5a652a78f5140bb847f89f56 Merge: 1cc0676e41 057c3f5476 Author: rdb <git@rdb.name> Date: Wed Aug 7 22:34:08 2024 +0200 Merge branch 'release/1.10.x' commit 057c3f547614f2c648455126ded49e02f9184270 Author: rdb <git@rdb.name> Date: Wed Aug 7 22:26:33 2024 +0200 Update BACKERS.md [skip ci] commit 8c8cbeea98abed875fbc2255e14bab2d0c7bf1b4 Author: rdb <git@rdb.name> Date: Wed Aug 7 17:24:11 2024 +0200 linmath: For repr, use as much precision as needed for roundtrip Will use as few digits as is necessary to ensure that round-tripping the same number with pstrtod will result in the same vector. This prevents eg. 3.3 formatting as 3.29999995 while still ensuring that two floats that are not equal (other than nan) are guaranteed to have a different string representation. Uses a hacky pftoa function that can be abandoned as soon as we adopt C++17, which has to_chars that does what we need Fixes #1671 commit ca7ba4eab321fe84e4cdcb2dbee6197358818a57 Author: rdb <git@rdb.name> Date: Wed Aug 7 15:53:27 2024 +0200 py_panda: Add Dtool_GetPyTypeObject macro This is a cleaner, future-proof way of accessing a Panda type as PyTypeObject pointer commit b8d6c7a2ef1dfaf80cd8d41a831365cb49d58765 Author: rdb <git@rdb.name> Date: Wed Aug 7 11:57:19 2024 +0200 workflow: Update macOS-11 to macOS-12 runner commit 46833e9144a7d1aab3b5f2b194e6385e6035045b Author: rdb <git@rdb.name> Date: Wed Aug 7 11:56:55 2024 +0200 Update BACKERS.md [skip ci] commit 1cc0676e41da8cfdeb251b255012b957e77c44b9 Author: rdb <git@rdb.name> Date: Sun Aug 4 17:08:45 2024 +0200 dtoolutil: Fix misnamed include guard commit 58ea174eb2e8d4426a4635f1ee02b4acb1088259 Author: rdb <git@rdb.name> Date: Sat Aug 3 21:50:19 2024 +0200 interrogate: Use the limited Python API for simple Python back-end commit 0215b029851f34524f6abc20aee7567a76712d0f Author: rdb <git@rdb.name> Date: Sat Aug 3 16:36:55 2024 +0200 interrogate: Replace a use of std::cerr with nout commit ae04533527f03675e5a017b60cb24e2de247b4d6 Author: rdb <git@rdb.name> Date: Sat Aug 3 16:36:37 2024 +0200 dtoolutil: Fix typo in error message commit 7a13d86d93a19cc9215fa1016eed57dcf0f3bbca Author: rdb <git@rdb.name> Date: Sat Aug 3 15:00:22 2024 +0200 CMake: remove vestigial HAVE_ROCKET_PYTHON macro commit 17fbd09250be49af59627373afda28019e7996d1 Author: rdb <git@rdb.name> Date: Sat Aug 3 12:18:16 2024 +0200 workflow: Change macOS-11 runner to macOS-12 commit 122453811d917b16e60e75f0de47b18e37c4dd7a Author: rdb <git@rdb.name> Date: Sun Jun 30 11:53:17 2024 +0200 glgsg: Fix clear of offscreen buffer if back buffers requested commit b6ec48b27c17fdcdfb3a3604e157d107b73afa55 Author: rdb <git@rdb.name> Date: Tue May 28 22:28:37 2024 +0200 Fix invalid metadata version 2.0 (should be 2.1) commit 105f938d68e7a2cff0201bf11f8f4b51f116e934 Author: rdb <git@rdb.name> Date: Tue May 28 11:11:21 2024 +0200 interrogate: Fix non-deterministic order of external import types Fixes #1651 commit a655784d8d36b4fefd0e926a18c2bea52c3271fa Author: rdb <git@rdb.name> Date: Thu May 16 20:28:26 2024 +0200 x11: attempt to fix UTF-8 window titles (see #209) commit adb92428856853019583f398d27c5d34e44a9343 Author: rdb <git@rdb.name> Date: Tue May 14 23:19:46 2024 +0200 glgsg: Fix faulty auto-merge commit b6515c881cb3a488990c2cb0b438e33d748d104b Merge: 0df17a00ca 2436a06527 Author: rdb <git@rdb.name> Date: Tue May 14 22:47:08 2024 +0200 Merge branch 'release/1.10.x' commit 0df17a00ca7a19d345dac4b3e2c30088391393f6 Merge: 3ffcce2cc2 8cc62c9706 Author: rdb <git@rdb.name> Date: Tue May 14 22:46:53 2024 +0200 Merge branch 'bugfix/interrogate-gc-exception' of github.com:johnnyapol/panda3d commit 2436a065272bd708e31c589164750d4a4ff39f02 Author: rdb <git@rdb.name> Date: Tue May 14 22:22:16 2024 +0200 glgsg: Better error when invalid ShaderPtrSpec type is encountered commit 8cc62c9706607dd61404ad11d7753d77a86cea61 Author: John C. Allwein <git@johnnyapol.me> Date: Sat May 11 22:31:22 2024 -0600 interrogate: avoid GC exceptions processing objects mid-construction After 38692dd525525e20cd06204a646b35dd7e39902a, GC pauses occuring before the __init__ function of the C++ backed object is called in a inheritance chain will cause an exception during garbage collection and cause the python runtime to exit. This can be observed by say, forcing a GC-pause in MetaInterval.__init__ before it calls CMetaInterval::__init__. commit 3ffcce2cc2b5c83425c18dc1fe9461987f67d89d Author: Wizzerinus <development@toontowneventhorizon.com> Date: Thu Apr 25 14:55:30 2024 +0300 add getPlayMode() for actor and anim interface commit a9206041d96a41c19d870cfd085751222fa3258a Author: Disyer <daniel@tohka.us> Date: Sun Mar 31 12:05:05 2024 +0300 ffmpeg: Use ch_layout in favor of removed channel_layout and channels Closes #1641 commit 5da013e2e9a991c993532cc6886c53e4c38bccc0 Author: rdb <git@rdb.name> Date: Mon Apr 8 12:12:00 2024 +0200 text: Properly handle surrogate pairs in text on Windows Fixes #1629 commit 2adc167f268bbdee5c81de27346be3f1d958137b Author: rdb <git@rdb.name> Date: Mon Apr 8 11:22:15 2024 +0200 windisplay: Fix regression related to fullscreen switching Fixes #1594
Merge PBR_NEUTRAL work into pull request.
This reverts commit 272e6f0.
I believe I have incorporated all of the requested changes @rdb Is there anything else I need to do to get this merged? |
Issue description
There have been many requests from community members to be able to add their own shaders to CommonFilters because it saves them a lot of time and effort of having to re-implement filters that are already supported.
Solution description
In short these changes allow users to add their own shaders to CustomFilters, have ported all built in shaders to use new system and additionally add Chromatic Aberration, Vignette, Tint, Distortion, Resolution, LUT, and Film Grain as built in filters because they are now common.
New API
Here is an example of how AmbientOcclusion is implemented using the new system.
Due to changes to reconfigure there have been minor breaking changes (some filters don't take the same arguments due to not needing them), despite this though all filters have been tested and have the same visual output.
Checklist
I have done my best to ensure that…