rdb
5de31c6293
Merge branch 'release/1.10.x'
2021-12-04 21:57:35 +01:00
rdb
82ebf908fa
gobj: Fix spelling error in doc of async-load-delay config variable
2021-12-04 20:38:31 +01:00
rdb
e2c26adcf0
event: Mention that ButtonEvent API is not stable for Python use
2021-12-04 20:38:13 +01:00
rdb
11edd1a0dc
ffmpeg: Change thread to use lambda
2021-12-01 11:34:48 +01:00
rdb
b1b05c2be9
thread: Allow arbitrary std::function (incl. lambdas) in GenericThread
2021-12-01 11:31:45 +01:00
rdb
37b45a010d
gobj: More efficient tracking of simple image changes
...
Remove the separate simple_image_modified field, instead, the image_modified value is updated if the simple image is changed while there is no RAM image.
This robustifies the tracking on the GSG end, which previously ended up repeatedly calling upload_texture() unnecessarily
2021-11-30 10:56:48 +01:00
rdb
fa0ea312ea
gobj: Move TextureReloadRequest to new Texture::async_ensure_ram_image()
...
The task is implemented with just a simple lambda, much more compact than a whole TextureReloadRequest task. The latter is now deprecated.
Since Loader can't be used within Texture, there's now a new task chain, configurable with texture-reload-num-threads and texture-reload-thread-priority. This does mean that it no longer happens on the same thread as model loads, but I think that's fine, and perhaps texture reloads should be higher priority than model loads anyway since a long texture reload delay with allow-incomplete-render directly and negatively affects user experience during gameplay.
The new name also better communicates that it just calls get_ram_image(), it doesn't force a reload, but we could add an async_reload() for that if we want.
2021-11-30 10:34:00 +01:00
rdb
9e7ca63662
Add missing @since to docstrings of some new methods
2021-11-29 16:02:22 +01:00
rdb
653cc3e091
event: Support C++11 lambdas as event handlers
...
It's unfortunate that we now have three maps on EventHandler for three different types of functions. I'd love to unify them all under std::function, but the fact that it doesn't support comparison means the behavior would be different.
Perhaps in the future we can create a new interface or deprecate the existing behaviors and unify everything under std::function.
2021-11-29 14:48:06 +01:00
rdb
4af5bc9e6d
event: Support lambdas as tasks via new FunctionAsyncTask
...
This is intended to replace GenericAsyncTask.
2021-11-29 14:47:44 +01:00
rdb
c980643649
chan: Lock PartBundle while binding animation
...
This seems like the right thing to do that could prevent some potential race conditions; let me known if this is breaking anything.
2021-11-28 16:21:59 +01:00
rdb
78fb565f2b
Merge branch 'release/1.10.x'
2021-11-28 16:14:18 +01:00
loonaticx
15c84afbe9
doc: Improve egg syntax documentation
...
[skip ci]
Closes #1199
2021-11-28 16:12:44 +01:00
rdb
980399d142
event: Expose ButtonEvent to Python
2021-11-28 14:36:20 +01:00
rdb
2abf867203
gobj: Don't load textures when loading bam file if preloading is off
...
This is wasteful (especially when the bam file already has the simple RAM images baked in if needed) since we are throwing away the texture data right away anyway. Just locate it on disk, it will be loaded later when it is needed.
Fixes #1208
2021-11-28 14:04:41 +01:00
rdb
c0a9123dde
gobj: Fix TextureReloadRequest not reloading in certain situations
...
This prevented async texture loading from working unless mipmapping was enabled
2021-11-28 14:01:33 +01:00
rdb
5eaa67fbc9
gobj: Add TexturePool::get_texture() for querying tex from pool
2021-11-28 14:00:59 +01:00
rdb
5cad0eb973
glgsg: Don't use simple RAM image in shaders for non-sampler2D types
...
Simple RAM images are always 2D right now, so this would otherwise cause an error.
2021-11-28 13:59:46 +01:00
rdb
8f9d23ff29
linmath: Remove redundant sin() calculation in LQuaternion
2021-11-28 13:58:13 +01:00
rdb
54de9f9fa4
glgsg: Fix possibility of simple RAM image going out of scope
2021-11-28 13:57:20 +01:00
rdb
ea61e53ab2
event: Fix ButtonEvent docstring
2021-11-28 13:56:55 +01:00
rdb
6adb6be4b5
egg2pg: slight comment cleanup in characterMaker.cxx
...
[skip ci]
2021-11-16 17:55:32 +01:00
rdb
3aa77a1260
framework: Fix unnecessary ternary check
2021-11-16 17:31:27 +01:00
rdb
9ebfef4b83
pgraph: Change TransformState hashing not to require grabbing lock
...
Instead, set it atomically, with a special hash value used instead of a flag for indicating that the hash is not known.
2021-11-16 17:30:36 +01:00
rdb
60c5589671
pgraph: Optimize handling/checking of identity/invalid transforms
2021-11-16 17:30:36 +01:00
rdb
fac6916151
pgraph: Major traversal optimizations
...
In particular, these optimize the traversal of nodes that are not in view, which are discarded more efficiently.
This change affects both the cull and collision traversers.
2021-11-16 17:30:33 +01:00
rdb
20e4704be2
Merge branch 'release/1.10.x' into incoming
2021-11-16 16:35:08 +01:00
rdb
0f7a575ac0
bullet: Add bullet-split-impulse config variable
...
Fixes #1201
Co-authored-by: K9Kraken <K9Kraken@users.noreply.github.com>
2021-11-16 15:16:25 +01:00
rdb
ab6d3b2e15
gobj: Show better error if calling tex.write() with unknown extension
2021-11-16 15:04:46 +01:00
rdb
32584f0a68
pgraph: Fix prepare_scene() not properly invoking the shader generator
2021-11-09 15:46:14 +01:00
rdb
cf681eb8dd
bullet: Clean up fix for #1193
...
See ad7cbcd4ec
2021-11-02 15:34:26 +01:00
rdb
0bc0709b72
Merge branch 'release/1.10.x'
2021-11-02 15:20:41 +01:00
rdb
04c6636744
pgraph: Add some missing properties to PlaneNode
2021-11-02 15:02:40 +01:00
rdb
9587965c5d
bullet: Add some API documentation strings for BulletDebugNode
2021-11-02 15:02:14 +01:00
rdb
ad7cbcd4ec
bullet: Fix memory leak getting persistent manifolds from Python
...
These classes ought to be returned by value. Cleaner fix will be in master.
Fixes #1193
2021-10-27 11:20:19 +02:00
rdb
a4ea476cce
linmath: Implement read-only buffer protocol support for vectors
...
Fixes #1194
2021-10-27 10:53:35 +02:00
rdb
77c6bc199d
gobj: Remove unused member variable from TexturePeeker
2021-10-27 10:46:43 +02:00
rdb
2ae6e5c6ce
glgsg: Remove unused variable from glGSG
2021-10-26 17:28:01 +02:00
rdb
605651f0e8
Merge branch 'release/1.10.x'
2021-10-26 17:27:56 +02:00
rdb
57d7bc2f53
display: document make_texture_buffer() behavior when size is 0
...
Fixes panda3d/panda3d-docs#100
2021-10-26 14:00:25 +02:00
rdb
9b55279fde
glgsg: Minor code cleanup in FBO code
2021-10-26 14:00:04 +02:00
rdb
618e6f3fee
pgui: Fix slider thumb entering dragging state on button press
...
This caused updating the slider while a button is pressed and the mouse is held over the thumb not to work.
Fixes #1188
2021-10-26 13:45:38 +02:00
rdb
2b0571ee92
glgsg: Also pick up glClearTexSubImageEXT in OpenGL ES 2+
2021-08-31 15:37:21 +02:00
rdb
1739cef318
Merge branch 'release/1.10.x' into incoming
2021-08-31 14:03:57 +02:00
rdb
c96189e53c
display: Fix compilation on Windows (can't name variables near/far)
2021-08-31 14:01:03 +02:00
rdb
cb4bcbe67e
collide: Fix typo causing compile error on Windows with Python 3.10
2021-08-30 21:27:53 +02:00
rdb
2cc1633a77
pgraph: Clarify in find() documentation that this node not included
2021-08-30 14:03:17 +02:00
rdb
8c01f7faff
gles2gsg: Implement support for GL_EXT_clear_texture in OpenGL ES 2+
2021-08-30 14:02:41 +02:00
rdb
481fc67996
gles2gsg: Support gl-depth-zero-to-one in OpenGL ES 2+
...
Requires GL_EXT_clip_control support in the driver.
2021-08-30 14:02:09 +02:00
rdb
32b78a382a
express: Protect clock debug print with is_debug() check
2021-08-30 14:00:59 +02:00