rdb
050d86dadb
event: AsyncFuture::set_result() behavior changes:
...
* Passing a Python subclass of a C++ class now works, the extra Python stuff isn't just discarded
* EventParameter objects are no longer automagically unwrapped - there's no more reason to pass an EventParameter to this method anyway, and it might be unexpected if it is treated specially.
2021-03-01 20:50:25 +01:00
rdb
99569fa8f2
CMake: Updates to compile new ParamPyObject class
2021-03-01 20:34:17 +01:00
rdb
402c303dba
event: Make AsyncFuture::set_result() slightly more robust
2021-03-01 19:33:39 +01:00
rdb
8cbe36b352
Merge branch 'release/1.10.x'
2021-03-01 19:33:27 +01:00
rdb
064e0383be
event: Allow AsyncFuture to store arbitrary PyObject result
2021-03-01 19:16:22 +01:00
rdb
bdb2ef1631
pipeline: Fix crash upon exception in custom thread
...
We can't call PyErr_Restore() without a valid thread state, which won't exist in a custom thread if we just called PyGILState_Release(). Not sure how this has ever worked.
2021-03-01 16:19:53 +01:00
rdb
2b3f2bb98c
event: gather() should schedule coroutines with task manager
...
This matches the behaviour of asyncio. It schedules with the current task's manager and chain. If no current manager is found, it prints a warning. (The user can just add the coroutine to a task manager themselves and pass the resulting task into gather() if needed.)
See discussion here:
https://discourse.panda3d.org/t/task-gather-does-not-seem-to-work/27313
2021-03-01 11:22:13 +01:00
rdb
e348d216e5
event: Fix memory leak getting future result in some cases
2021-03-01 11:09:10 +01:00
rdb
b6096c3d40
glgsg: Suppress useless shader linking warnings on macOS
2021-02-26 13:33:25 +01:00
rdb
6a51709332
event: Don't suppress coroutine exceptions in optimized builds
2021-02-26 11:44:50 +01:00
rdb
ada74e3b0c
Merge branch 'release/1.10.x'
2021-02-24 18:10:15 +01:00
rdb
2d9cc2dea0
egl: Further robustify EGL device initialization process
...
Sometimes, the default device fails to initialize, so then we need to fall back to alternatives (eg. GBM)
2021-02-24 17:31:00 +01:00
rdb
7a838e7212
Merge branch 'release/1.10.x'
2021-02-24 12:14:04 +01:00
rdb
2e38ca1042
egl: Fall back to EGL_EXT_platform_device for device selection
...
See #557
2021-02-24 11:41:42 +01:00
rdb
7f20bcd8e0
egl: Fix ability to create multisample FBO
...
Fixes #1089
2021-02-24 10:11:58 +01:00
rdb
778c6ee6be
pgui: Add missing pipeline.h include
2021-02-24 09:46:53 +01:00
Stephen Imhoff
18873ffbf1
Add use of TransformState::make_pos_quat() in some places ( #1116 )
...
Fixes #1116
2021-02-22 20:06:26 +01:00
Stephen Imhoff
a196f1adcc
gobj: Add missing TransformState.make_pos_quat ( #1116 )
...
matches to TransformState.make_pos_hpr
2021-02-22 20:05:58 +01:00
rdb
8944737844
linmath: Support floor division for vector types
...
Also fix __pow__ so that it returns the derived type, not the base type
2021-02-22 20:01:30 +01:00
rdb
5ae08eadf7
Merge branch 'release/1.10.x'
2021-02-22 19:38:49 +01:00
rdb
18cb4a7ccc
vorbis: Disable cross-lapped seeking by default, to reduce clicking
...
Fixes #1108
2021-02-22 10:58:18 +01:00
rdb
f2e488fd6b
pgui: Workaround for text disappearing in multithreaded pipeline
...
The text could appear from a DirectButton or other GUI element if updating eg. the text_fg property.
2021-02-21 11:00:22 +01:00
rdb
5c4909b4ab
pgui: Some code cleanup for PGItem
2021-02-21 10:17:14 +01:00
rdb
a05405c475
pgraph: API reference improvements for NodePath
2021-02-21 10:15:33 +01:00
rdb
fb9b334d58
Merge branch 'release/1.10.x'
2021-02-17 10:57:30 +01:00
rdb
3592404fa8
display: Fix GraphicsWindow::get_pointer() listed as deprecated
...
[skip ci]
2021-02-17 10:56:46 +01:00
rdb
ca577c8b35
Merge branch 'release/1.10.x'
2021-02-15 14:14:10 +01:00
rdb
6374a7f240
express: Fix up Patchfile docstrings
...
[skip ci]
2021-02-15 14:13:24 +01:00
rdb
a704d2c228
display: Fix typos in docstrings
...
[skip ci]
2021-02-15 12:46:29 +01:00
rdb
592f776f76
downloader: Fix missing includes in virtualFileHTTP.cxx
2021-02-15 12:36:29 +01:00
rdb
8afd0e526f
Merge branch 'release/1.10.x'
2021-02-15 11:38:45 +01:00
rdb
70e972a7c0
downloader: Remove duplicated string manipulation methods
...
These already exist in string_utils.h
2021-02-15 11:35:16 +01:00
rdb
84c2a18d00
downloader: Implement VirtualFileHTTP::read_file()
2021-02-15 11:18:13 +01:00
rdb
20bdd32765
downloader: Fix an uninitialized member
2021-02-15 11:13:57 +01:00
rdb
86e0915621
downloader: Add samesite flag to HTTPCookie
2021-02-14 17:47:29 +01:00
rdb
8f1e2f1945
downloader: Support gzip and deflate Content-Encoding values
2021-02-14 17:29:45 +01:00
rdb
62d072cfb4
downloader: Remove unused HTTPChannel::request_path member
2021-02-14 17:28:44 +01:00
rdb
4e27264cac
downloader: Add properties to HTTPCookie
2021-02-11 03:28:43 +01:00
rdb
59ab828098
linmath: Fix typo in Mat4 isub docstring
...
Fixes panda3d/panda3d-docs#96
2021-02-11 03:28:34 +01:00
rdb
28ad032210
collide: Fix CollisionHandlerGravity docstrings
...
[skip ci]
2021-02-08 19:41:46 +01:00
rdb
a64dcd7c5d
event: (BREAKING CHANGE) bare yield in task now means "cont"
...
This is more useful and consistent; you can after all just use "return" to end the task, whereas you can now just use "yield" to continue the next frame rather than "yield Task.cont".
This is a follow-up to f6b39345f7 , which already enabled this behavior when an __await__ (that is awaited from a task) yielded None.
2021-02-07 15:14:04 +01:00
rdb
e8b4b6476c
Merge branch 'release/1.10.x'
2021-02-07 15:01:36 +01:00
rdb
8c8a73a1a7
event: Fix compilation with Python 2.7
2021-02-07 14:49:10 +01:00
rdb
f6b39345f7
event: don't exit task if future __await__ yields None
...
This matches the behavior of asyncio's Task implementation, where this is the equivalent of `yield Task.cont`.
I've kept regular generator tasks unaffected for now, since this might break existing usage.
2021-02-07 12:38:16 +01:00
rdb
3657eb9bce
glgsg: Support texture transforms in default shader
2021-02-06 19:36:50 +01:00
rdb
64f0414f57
Merge branch 'release/1.10.x'
2021-02-06 19:36:39 +01:00
rdb
af60f8200e
glgsg: Gracefully degrade when using 64-bit float in OpenGL ES
2021-02-06 19:35:48 +01:00
rdb
c5568c3d5f
collide: Improve CollisionSphere viz, add outline
2021-02-06 01:25:07 +01:00
rdb
c73c94c862
Merge branch 'release/1.10.x'
2021-02-06 01:23:34 +01:00
rdb
068ceaaf58
event: Clear exception flag after trying asyncio exception import
2021-02-06 01:21:52 +01:00
rdb
3052bcf289
pnmimagetypes: Remove vestigial init_pnm() call
2021-02-06 01:20:44 +01:00
rdb
642f4a4e55
bullet: Implement make_copy() for BulletGhostNode
2021-02-05 23:48:41 +01:00
Stephen Imhoff
cc4701d299
Add ability to persist ghost nodes.
2021-02-05 20:31:10 +00:00
rdb
492cce8a49
event: Compile out threaded code when compiling without HAVE_THREADS
2021-02-03 13:29:28 +01:00
rdb
8c2b3c3192
pgraph: Add missing InstancedNode::CData type handle
2021-02-03 13:27:07 +01:00
rdb
a1e4cf059f
glgsg: Fix attempt to detect glTexStorage1D in OpenGL ES
2021-02-03 12:53:20 +01:00
rdb
60f3ac5163
gobj: Assert instead of crash when printing unresolved GV(A)D
2021-01-30 20:06:32 +01:00
rdb
79dae16a2c
glgsg: Show error for unrecognized p3d_TextureXYZ input
2021-01-30 20:05:36 +01:00
rdb
b1942e8065
collide: Add wires to CollisionBox viz
...
This should make it a lot easier to see the box as opposed to looking at a continuous white shape.
2021-01-30 13:52:03 +01:00
rdb
613441060b
Merge branch 'release/1.10.x'
2021-01-18 23:47:36 +01:00
rdb
29cdd78c4e
mathutil: Fix scaling BoundingSphere to infinite causing assertions
...
This error occurs when a BoundingSphere with a large radius is scaled by an even larger radius such that the radius becomes infinite. In this case, the BoundingSphere should be properly marked as infinite so that it behaves properly (and doesn't cause other assertions down the line).
2021-01-18 19:03:00 +01:00
rdb
3e1d98c105
multify: Respect SOURCE_DATE_EPOCH variable when used from command-line
...
That said, we should probably encourage the use of -T0 (which doesn't write out timestamps to begin with).
2021-01-18 14:16:25 +01:00
rdb
ef4b1d5721
glgsg: Fix compile error with OpenGL ES 1
2021-01-18 00:19:39 +01:00
rdb
842452594d
Merge branch 'release/1.10.x'
2021-01-17 17:28:19 +01:00
rdb
8924b77da4
egldisplay: Backport changes for creating headless EGL contexts
...
Backport of fbc4947455 and 9f1289b492
See #557
2021-01-17 16:46:57 +01:00
rdb
fb6ec557ce
egl: Add missing init_type() for eglGraphicsBuffer/Pixmap
2021-01-17 15:40:19 +01:00
rdb
a5a0809949
gobj: Support integer texture formats in TexturePeeker
2021-01-17 15:27:19 +01:00
rdb
4783c2902d
grutil: Add missing switch case
2021-01-17 15:17:13 +01:00
rdb
b060767bd8
glgsg: slight refactor of get_internal_image_format()
2021-01-17 15:17:09 +01:00
rdb
1fda6e7d51
texture: Add missing integer texture formats
2021-01-17 15:17:03 +01:00
rdb
38d304f2fe
glgsg: Force nearest filtering on isampler/usampler
...
Without this, Intel drivers will sample (0, 0, 0, 1)
2021-01-17 12:10:42 +01:00
rdb
f20d859fe2
pgraph: Fix bug passing non-tuple sequence to shader input
2021-01-16 14:05:43 +01:00
rdb
c5705e0137
Merge branch 'release/1.10.x'
2021-01-12 23:15:36 +01:00
rdb
3a41db130b
gobj: Fix Texture.set_ram_image_as for 3D and multiview textures
...
Fixes #1095
2021-01-12 23:13:02 +01:00
rdb
6e168c2bc4
collide: Implement respect-prev-transform for capsule-into-poly
...
It's not perfect by any means, but it's better than nothing, and should prevent capsules from flying through walls.
2021-01-12 15:55:10 +01:00
rdb
3f08781eac
collide: Improve box-into-polygon test
...
* Use nearly-zero test to check which edges to snap the interior/surface points to, if any, to be less sensitive to fp precision
* The respect-prev-transform test now tests for a sphere that fits inside the box, to prevent a false positive test when the box has been rotated since the last test
* More appropriate surface point for respect-prev-transform test
2021-01-12 14:59:31 +01:00
rdb
1b7f3e4bbd
collide: Fix pusher if interior and surface point don't lie along normal
...
Currently, all tests I'm aware of put the surface point above the interior point (ie. along the normal), but there seems to be no good reason for this requirement, especially since a dot product is more efficient than a length().
2021-01-12 14:51:42 +01:00
rdb
84034f06f5
collide: Respect prev transform in box-into-poly test
...
Only takes changes in position in account, and the test is not entirely perfect, but mostly right
2021-01-11 19:06:24 +01:00
rdb
c52ea9a8df
express: Fix reading zip file with comment at the end
2021-01-04 12:33:11 +01:00
rdb
3f6a8b88c0
egg: Another fix for older bison versions
2021-01-02 21:51:50 +01:00
rdb
0c94f98c84
egg: Keep compatibility with Bison 2.3 (for macOS)
2021-01-02 20:55:59 +01:00
rdb
91380e8718
egg: Make egg parser and lexer reentrant
...
This avoids the need for the global mutex lock and allows two egg files to be read simultaneously.
Error reporting has also been improved by specifically pinpointing the offending token when an error occurs.
2021-01-02 20:11:10 +01:00
rdb
ce235c3e60
Merge branch 'release/1.10.x'
2021-01-02 19:59:33 +01:00
rdb
5d5efb75e8
egg: Fix egg lexer hanging on unterminated quote or C-style comment
2021-01-02 18:43:32 +01:00
rdb
6f5362c3fe
egg: Add missing include
2021-01-02 12:53:24 +01:00
rdb
ea2816f4ea
CMake: Add extension sources for egg and collide directories
2021-01-02 03:11:34 +01:00
rdb
f003e3434e
collide: Use virtual read_datagram/write_datagram on handlers
2021-01-02 02:40:52 +01:00
rdb
e099d9e787
Merge branch 'release/1.10.x'
2021-01-02 02:33:35 +01:00
rdb
a84f1b5595
express: distinguish between null vs empty in CPTA pickle as well
2021-01-02 02:22:06 +01:00
rdb
c81c506df3
express: Fix PointerToArray comparison operator
2021-01-01 17:54:09 +01:00
rdb
b2462c1d8c
express: Support pickling PointerToArray objects
2021-01-01 17:42:30 +01:00
rdb
e755f87130
pgraph: Add pickling for LoaderFileTypeRegistry
...
Useful to test that pickling singletons works
2021-01-01 17:08:55 +01:00
rdb
c77593f3f0
egg: add pickle support to most EggData classes
2021-01-01 17:06:23 +01:00
rdb
f8ce339960
collide: Add pickle support for most collision handlers
...
Also redo CollisionHandlerEvent pickling to use Datagram instead
Related to #1090
2021-01-01 16:56:18 +01:00
rdb
152d317c8c
egg: Fix egg lexer state not being cleaned up after error
2021-01-01 15:52:57 +01:00
rdb
339331c1ad
egg: Add properties to EggAnimPreload
2021-01-01 15:51:23 +01:00
rdb
8852c835fc
collide: Support pickling for CollisionTraverser, HandlerEvent+Queue
...
Fixes #1090
2020-12-31 16:57:34 +01:00
rdb
ac991e4c5e
collide: Fix error with CollisionHandler's again_patterns property
2020-12-31 16:55:22 +01:00
rdb
8d22b80698
display: Fix memory leak in GSG::get_prepared_textures()
2020-12-31 16:43:37 +01:00
rdb
e9c7d345df
display: Move GraphicsPipe::_detected_display_zoom to class member
2020-12-28 16:31:23 +01:00
rdb
b38e9d552a
Merge branch 'release/1.10.x'
2020-12-28 16:26:48 +01:00
rdb
90fb31ac21
ffmpeg: Fix crash cleaning up audio/video context
2020-12-28 16:23:04 +01:00
rdb
21aa31f8c0
gobj: Fix build error on Windows
2020-12-28 12:07:17 +01:00
rdb
2b0a6b995a
display: Add a way to query system DPI scaling
...
See #426
2020-12-26 16:25:51 +01:00
rdb
2156e6deb2
Merge branch 'release/1.10.x'
2020-12-26 14:00:29 +01:00
rdb
55d43a1d57
device: Fix macOS crash when unplugging device in threaded pipeline
...
Fixes #1082
2020-12-26 12:46:45 +01:00
rdb
a3010a43a5
Merge branch 'release/1.10.x'
2020-12-24 15:31:52 +01:00
rdb
35b7ef0dcb
shader: Add additional mode-based texture inputs to GLSL shaders
...
This adds the following inputs:
p3d_Texture[] (as alternative to p3d_Texture0, etc.)
p3d_TextureFF[]
p3d_TextureModulate[]
p3d_TextureAdd[]
p3d_TextureNormal[]
p3d_TextureHeight[]
p3d_TextureSelector[]
p3d_TextureGloss[]
p3d_TextureEmission[]
2020-12-23 18:20:43 +01:00
rdb
05876317cf
Add TextureStage::M_emission mode
...
This is similar to M_glow, except that the emission factor is in the RGB channels.
2020-12-23 17:33:59 +01:00
rdb
8dd3301c43
text: Fix issue with TextNode::set_text() called from non-App stage
...
Because TextEncoder is not pipeline-cycled, text_changed() should propagate text changes up to stage 0.
See #1070 ; this caused the frame rate meter to show 0.0 fps most of the frames.
2020-12-21 16:53:05 +01:00
rdb
3786dc2aea
CMake: Fix detection and use of SSE2 compiler flag on MSVC
...
This is one half of the fix for #1072
2020-12-20 18:35:17 +01:00
rdb
e08282003b
putil: Give SimpleHashMap a type handle to enable memory usage tracking
...
Previously SimpleHashMap were entirely absent from the PStats memory statistics.
2020-12-20 01:02:23 +01:00
rdb
dee8df9427
Merge branch 'release/1.10.x'
2020-12-20 01:02:08 +01:00
rdb
ac021e94d6
putil: Ensure SimpleHashMap::_deleted_chain/_table are always initialized
...
Good to be on the safe side.
2020-12-20 00:59:55 +01:00
rdb
f7ab42da56
putil: Fix memory leak in SimpleHashMap
...
Fixes #1077
2020-12-20 00:23:04 +01:00
rdb
b5c857c73f
pgraphnodes: Backport ShaderGenerator stub to 1.10.x
...
Needed if interrogate is being run with the __aarch64__ definition in a multi-arch build
2020-12-19 23:50:07 +01:00
rdb
10bb4a33d3
ShaderGenerator: remove unnecessary member, define all stub methods
2020-12-19 11:15:00 +01:00
rdb
f65fd44c08
pgraphnodes: Add missing ShaderGenerator stub symbols
2020-12-19 02:56:41 +01:00
rdb
7ae72cd880
pgraphnodes: Fix ShaderGenerator includes
2020-12-19 02:00:59 +01:00
rdb
1c974092e4
express: Fix compile error with certain macOS SDKs
2020-12-19 01:00:07 +01:00
rdb
abe3c2bf0b
CMake: Mark all system macOS frameworks as advanced variables
...
It should be extremely unusual to want to change these, and they are just cluttering up the CMake GUI.
2020-12-19 00:33:22 +01:00
rdb
113dd6a357
CMake: Don't try to build FMOD Ex audio module for arm64
2020-12-19 00:26:22 +01:00
rdb
617a759fd2
pgraphnodes: Add exposed methods to ShaderGenerator stub
...
Since HAVE_CG is now dependent on __aarch64__, it otherwise relies on interrogate having been run with the same architecture flags.
2020-12-19 00:26:13 +01:00
rdb
a5ae292c3e
Merge branch 'release/1.10.x'
2020-12-18 12:56:31 +01:00
rdb
6f35cb0235
device: Silently ignore invalid evdev keycodes generated by some drivers
...
Fixes #1066
2020-12-15 12:33:22 +01:00
rdb
fa8c8e71b5
gobj: Assert instead of crash if primitive references out-of-bounds vert
2020-12-14 16:54:20 +01:00
rdb
79714392cb
gobj: Enable slightly more efficient GeomVertexReader/Writer ctor
...
This allows moving an existing PT(GeomVertexData) into the object, preventing an extra refcount increase.
2020-12-14 11:16:25 +01:00
rdb
902ada10b8
gobj: Slight optimization for GeomTristrips::append_unused_vertices()
2020-12-14 11:11:46 +01:00
rdb
454179a276
collide: Fix typo in STDFLOAT_DOUBLE case
2020-12-14 11:00:49 +01:00
rdb
a11e21e4f4
audio: Fix sound resuming after reactivation if stop() was called while inactive
...
Backport of fix for #559
2020-12-12 19:50:48 +01:00
rdb
e5eb5f8ed2
audio: Fix stop() not working for looped sound while sound is inactive
...
Fixes #559
Also fixes #1031 for FMOD
2020-12-12 18:45:45 +01:00
rdb
9f09857397
collide: Error checking for CollisionPolygon::setup/verify_points()
2020-12-12 17:28:41 +01:00
rdb
eaf509a226
pgraph: Make PandaNode::r_copy_subgraph no longer virtual (unused)
2020-12-12 17:28:21 +01:00
rdb
a1b2d5b8dc
Make use of new function call methods in Python 3.9
2020-12-12 17:28:21 +01:00
rdb
ab5730831c
audio: Add some properties to AudioSound
2020-12-12 17:28:21 +01:00
rdb
2b29c757d9
pgraph: Optimization for GeomNode::add_for_draw()
2020-12-12 17:28:21 +01:00
rdb
251d73a47b
ShaderGenerator: very slight optimization setting ShaderAttrib flags
2020-12-12 14:15:27 +01:00
rdb
ac4faf3d74
text: Make TextNode pipeline-cycled
...
Fixes #1070
Note that text property changes are not pipeline-cycled at the moment.
2020-12-12 14:05:48 +01:00
rdb
54a4a6abfc
Merge branch 'release/1.10.x'
2020-12-12 14:02:04 +01:00
rdb
761c54f63d
pgui: Workaround for DirectEntry flickering issues w/ pipelining
...
See #1070 . This is a temporary solution (one which isn't complete- it doesn't properly handle state changes).
2020-12-12 13:57:49 +01:00
Daniel
4f63ef635d
panda: Remove PyEval_InitThreads calls when compiling against Python 3.9+
...
Cherry-pick from #1053
2020-12-12 00:16:58 +01:00
rdb
c8a35641c1
pgraphnodes: Remove unused variable
2020-12-10 17:37:05 +01:00
rdb
ed397b3ab8
Merge branch 'release/1.10.x'
2020-12-09 17:59:37 +01:00
rdb
bf59e880c6
bullet: Fix compilation error with Bullet 2.90+
2020-12-09 16:25:29 +01:00
rdb
8e2c0dff4a
pgraph: Hack fix for copying model with LightAttrib on root
...
When a LightAttrib is set on the root of a model and the light is contained within that model, creating a copy (like the one Loader makes automatically) causes the LightAttrib to still point to the original light, not to the newly copied light.
This works around it only for the case when the LightAttrib is set on the root, and only for the case of NodePath::copy_to() (it turns out there are edge cases when doing it in PandaNode::copy_subgraph() that would be hard to explain).
See Moguri/blend2bam#44
2020-12-09 15:51:36 +01:00
rdb
9525ddbfef
pgraph: LightAttrib::get_on_light(n) should call check_sorted()
2020-12-09 15:48:10 +01:00
rdb
615502aef6
pgraphnodes: Support hardware instancing for LODNode
...
LODNode will now correctly calculate LOD for individual instances.
It turns out implementing it for FadeLODNode is hard (wrt. tracking state for individual instances) so I have not bothered with supporting it - FadeLODNode instead calculates a single switch level for all instances based on the centroid of the visible instances.
2020-11-26 16:47:35 +01:00
rdb
e13756f43e
pgraph: Support hardware instancing in BillboardEffect and CompassEffect
2020-11-26 16:47:11 +01:00
Daniel
54cb519dc9
panda: Remove PyEval_InitThreads calls when compiling against Python 3.9+
...
Closes #1053
2020-11-23 10:56:09 +01:00
rdb
01b2f1f759
gobj: Fix typo in docstring
...
[skip ci]
2020-11-23 10:54:03 +01:00
rdb
92e2c24958
Experimental InstancedNode class for hardware instancing
2020-11-22 22:01:13 +01:00
Daniel
ac6a1a7874
collide: Expose CollisionPolygon's setup_points and verify_points to Python
...
Closes #1035
2020-11-22 22:01:07 +01:00
rdb
3d5f0b7fe1
gobj: Add methods for adding/removing GeomVertexData arrays
2020-11-22 15:37:38 +01:00
rdb
51a3a2b4a1
express: Fix VirtualFileMountZip not having init_type() called
2020-11-22 15:22:47 +01:00
rdb
8486d286b7
Merge branch 'release/1.10.x'
2020-11-22 15:19:51 +01:00
rdb
61a089ad59
ShaderGenerator: don't output unused attr_ambient input variable
2020-11-22 14:23:46 +01:00
rdb
b12fcec099
glgsg: Fix handling of sized rgba formats in OpenGL ES
2020-11-22 14:21:34 +01:00
rdb
d1e8554fde
glgsg: Fix error message if vtx_normal is declred as float4 in Cg
2020-11-21 14:19:52 +01:00
rdb
d62146a317
Merge branch 'release/1.10.x'
2020-11-17 23:56:00 +01:00
rdb
93900a203e
putil: Backport part of 9d8c523dfa
...
Fixes #886
2020-11-17 23:36:06 +01:00
rdb
3abd157315
gobj: Fix a bad assertion comparison
2020-11-17 21:05:08 +01:00
rdb
3a2048e44a
glgsg: Fix skinning shader being unable to render unskinned models
...
Panda was adding a column with weights (0, 0, 0, 0), but these weights don't add up to 1 so no useful identity matrix can be produced. Instead it's better to fall back to the OpenGL default, (0, 0, 0, 1).
I'm also defaulting the transform_index values to (0, 1, 2, 3) to support non-indexed skinning (although that's pretty esoteric, given that that only supports 4 transforms...)
2020-11-17 21:01:56 +01:00
rdb
c53f461f3f
gobj: Fix typo in MatrixLens API documentation
...
Fixes #1042
2020-11-17 11:59:36 +01:00
rdb
8c3fd5b406
collide: Release GIL while during CollisionTraverser traversal
...
This is necessary to prevent deadlocking on the GIL if some Python code is trying to write some geometry while the CollisionTraverser is trying to read it.
Fixes #1033
2020-11-02 12:18:22 +01:00
rdb
e83657f70f
pstatclient: Prevent crash when using uninitialized PStatCollector
2020-11-02 11:02:49 +01:00
Brian Lach
57c9fbd86e
glgsg: fix identical states never short-circuiting set_state_and_transform
...
Closes #1012
2020-11-02 11:02:49 +01:00
Brian Lach
eb367430f7
openal: Fix paused sounds not resuming from where they were paused ( #1031 )
2020-10-08 17:17:36 +02:00
rdb
c788912070
Merge branch 'release/1.10.x'
2020-10-02 12:20:58 +02:00
rdb
f77813836d
express: Fix compile error on Windows
2020-10-02 00:23:08 +02:00
Brian Lach
62225e441d
x11display: Remove incorrect INLINE marker on these methods
...
Closes #1026
2020-10-02 00:07:22 +02:00
rdb
442e855a61
express: Fix a compilation issue in certain configurations
2020-10-02 00:06:52 +02:00
rdb
6d228dfd2e
express: Add ZipArchive class, support mounting zips to VFS
2020-10-01 23:58:27 +02:00
rdb
4b7e32e9b0
egldisplay: Fix bad use of X11 None symbol instead of nullptr
2020-09-16 23:39:13 +02:00
rdb
921cbc6bae
Merge commit 'e0d34131822a8852ff72dc9c5597f4dc6900719a'
2020-09-13 16:17:06 +02:00
rdb
c7f75fc906
egg2pg: Add egg-force-srgb-textures environment variable
...
This will cause all textures in .egg files to be loaded with an sRGB format setting (except with an envtype that generally assumes a linear texture).
Fixes #1006
2020-09-13 15:17:02 +02:00
rdb
66ac3be604
Merge branch 'release/1.10.x' into master
2020-09-12 23:23:58 +02:00
rdb
a968caf1d2
windisplay: Fix parented window receiving WS_POPUP style
...
Fixes #915
2020-09-12 15:38:50 +02:00
rdb
d997be50ff
glgsg: fix state tracking bug passing view parameters to shader
...
These parameters are already taken care of by set_state_and_transform().
Also comment out a few lines of code that would prevent the latter from being called for transform changes, but which never triggered anyway.
2020-09-09 18:06:42 +02:00
rdb
3daf1ae1b1
general: Assorted API reference fixes
2020-09-09 18:03:49 +02:00
rdb
ad0e634292
egg: Add (discouraged) way to specify sRGB texture format ( #924 )
...
This should NOT be used by exporters, but is provided only for the sake of round-trippability of .bam files.
2020-09-06 14:44:44 +02:00
rdb
005d187ac4
egldisplay: Support creating a window with sRGB framebuffer
2020-09-06 10:14:28 +02:00
rdb
24fb2a2c88
egldisplay: Fix invalid software/hardware detection on Mesa
2020-09-06 09:21:21 +02:00
rdb
40842ef217
gles2gsg: fix sRGB texture support
2020-09-06 09:20:34 +02:00
rdb
cca84131df
gles2gsg: squelch warning about missing #version line in shader
2020-09-06 09:19:51 +02:00
LD
28f49ffd0b
cocoadisplay: Use [event charactersIgnoringModifiers] when UCKeyTranslate() can not translate the input key
2020-09-01 20:29:53 +02:00
rdb
707ea089cb
Merge remote-tracking branch 'origin/release/1.10.x'
2020-09-01 11:09:29 +02:00
rdb
1cc82f47b6
fmod: Fallback to opening file via callbacks if direct doesn't work
...
Fixes #1002
2020-09-01 10:41:34 +02:00
Mitchell Stokes
d547225a55
Move speedtree code to contrib
...
SpeedTree support in Panda is unmaintained, so move it to contrib to better
reflect it's current status.
Closes #990
2020-09-01 08:57:57 +02:00
Derzsi Dániel
7f426ea64e
putil: Turn UniqueIdAllocator's free into an atomic operation ( #999 )
2020-08-29 15:17:20 +02:00
Daniel
085795db83
putil: Make UniqueIdAllocator safe for multithreaded usage
...
Closes #995
2020-08-27 14:35:47 +02:00
Daniel
95d1ac2f8b
tests: Add proper tests for UniqueIdAllocator
2020-08-27 14:35:25 +02:00
rdb
9deb569441
pgui: Work around Windows bug with tab character in PGEntry
...
Fixes #994
2020-08-21 14:29:27 +02:00
rdb
4484aca8e1
Revert "pgui: Ignore PGEntry tab keypress"
...
This reverts commit 1f05d37b20 .
See #994
2020-08-21 14:06:22 +02:00
rdb
7b9b65693a
mathutil: Gracefully deal with "tails" in Triangulator
...
Fixes #985
2020-08-18 17:58:28 +02:00
rdb
5ef1db3fd3
Revert "mathutil: error instead of infinite loop if triangulation failed"
...
This reverts commit 9c4cb28805 .
The "fix" wasn't very satisfying, I'm going to try another approach.
2020-08-18 17:25:58 +02:00
rdb
43507dd118
mathutil: Fix Triangulator bug cleaning up hole indices
2020-08-18 16:38:12 +02:00
rdb
b655aa86c5
Merge branch 'release/1.10.x'
2020-08-17 13:05:51 +02:00
rdb
73b5316c6c
gobj: add margin to float comparison in lens.project()
...
Fixes unit tests in double-precision build.
Cherry-picked from fa53e013cb
2020-08-17 12:42:34 +02:00
Mitchell Stokes
dd77bd4cdf
shadergen: Make use of material alpha if present ( #925 )
...
The material alpha overrides alpha values from flat color or vertex colors. This follows what the fixed-function pipeline does.
Fixes #912
2020-08-17 12:27:03 +02:00
rdb
11fbdf4e6f
nativenet: Assorted code clean-up
2020-08-17 10:31:22 +02:00
FReeshabh
56ed86334b
general: Update header guard names to fit convention
...
Closes #899
2020-08-17 10:09:13 +02:00
Daniel
1f05d37b20
pgui: Ignore PGEntry tab keypress
...
Closes #885
2020-08-17 10:02:06 +02:00
rdb
9c4cb28805
mathutil: error instead of infinite loop if triangulation failed
...
Fixes #985
2020-08-11 09:38:41 +02:00
rdb
dde0e5255d
nativenet: remove unused and invalid HP_SOCK implementation
...
Closes #984
2020-08-10 10:49:29 +02:00
rdb
35d6f3daa3
Merge branch 'release/1.10.x'
2020-07-25 15:55:05 +02:00
rdb
72b96f1afa
putil: define pbitops in terms of fundamental types
...
This ensures there's always an overload matching a particular definition of size_t / uint64_t, etc.
2020-07-25 09:53:15 -04:00
rdb
dcc08ac572
Merge branch 'release/1.10.x'
2020-07-25 14:58:35 +02:00
Tohka
c4af56620b
gobj: Support registering texture pool filters from Python code
...
Closes #954
2020-07-25 14:54:32 +02:00
Mitchell Stokes
2893d8cef8
device: Fix erroneous dpad_*-up events when emulating a dpad on Linux
...
The first time axis are processed while a dpad axis is engaged will
result in the opposite dpad "button" getting set to a state of S_up from
S_unknown, which results in an '-up' event getting fired. Instead,
assume the emulated dpad buttons start in a state of S_up.
This fix is for the Joystick API and for the evdev API, but only the
evdev changes were tested.
Closes #973
2020-07-25 14:07:33 +02:00
rdb
3fe1d286d0
collide: Add docstring for CollisionTraverser::traverse()
2020-07-25 12:50:09 +02:00
rdb
9d91274739
gobj: Don't use Texture::up_to_power_2 for memory alignment
...
That method uses plain int, and will therefore fail for larger allocations.
2020-07-25 10:43:21 +02:00
Donny Lawrence
5d6ff0ecc8
cocoadisplay: Fix handling of shift modifier
...
Closes #967
Fixes #959
2020-07-25 10:27:18 +02:00
rdb
e787929c85
Merge branch 'release/1.10.x'
2020-06-29 14:50:59 +02:00
rdb
40962e1eb5
gsg: Don't error for sampler/light type mismatch for non-casting lights
...
Closes #942
2020-06-29 12:17:36 +02:00
rdb
d1ab940e93
pgraph: Fix texture replacement creating unique TextureAttrib
...
This needs a more thorough fix (probably on master), but the implicit sort is incrementing every time, and it is being included in the hash/compare, so every time the same texture is replaced on the same TextureAttrib, it will be a unique TextureAttrib, causing garbage to accumulate and the state system to be generally less effective.
2020-06-29 11:30:07 +02:00
rdb
04dd4fe354
pgui: Add PGItem Python properties
2020-06-22 22:50:15 +02:00
Fireclaw
0f2cf6d14b
Add maximized property to WindowProperties, plus implementation ( #809 )
...
Closes #809
Co-authored-by: rdb <git@rdb.name>
2020-06-20 23:00:52 +02:00
rdb
d01c53c2d8
Merge branch 'release/1.10.x'
2020-06-14 13:02:25 +02:00
rdb
a9b158192f
putil: fix crash in BitArray::has_any_of()
2020-06-14 12:55:52 +02:00
rdb
446c01c796
nativenet: change some error messages to debug messages
2020-06-14 12:52:01 +02:00
Nathan S
ffef5968fe
docs: some grammar fixes for meshDrawer2D
...
Fixes #941
2020-06-02 20:36:56 +02:00
rdb
55951c3025
pgraph: fix has_tags() after clearing Python tags
...
Fixes #936
2020-06-02 20:31:18 +02:00
rdb
9f1289b492
egldisplay: Support headless OpenGL via EGL when compiled without X11
...
See #557
2020-05-20 20:27:40 +02:00
rdb
fbc4947455
egldisplay: Support creating headless GLES contexts
...
See #557
2020-05-19 22:34:05 +02:00
rdb
f47b92347c
glgsg: Fix framebuffer_copy_to_ram for OpenGL ES using BGRA format
...
Supporting BGRA doesn't necessarily mean that it supports using BGRA in glReadPixels, for OpenGL ES. We need to check a separate extension.
2020-05-19 21:57:15 +02:00
rdb
6b19be495a
display: fix long-standing typo in error message
...
How was this never caught?!
2020-05-19 20:24:45 +02:00
rdb
d64944c108
pgraph: minor optimizations to GeomNode::add_for_draw()
2020-05-11 09:38:17 +02:00
rdb
26ba2b15cd
collide: unexpose verify_points overload taking LPoint3 array
...
Similar as in #908
2020-05-11 09:09:00 +02:00
rdb
dd9ed1109a
downloader: Fix dead link in API documentation
2020-05-11 09:08:11 +02:00
rdb
7d94f601db
shader: Make Cg load calls fail if compiling without Cg toolkit
2020-05-05 16:54:50 +02:00
rdb
9ad4e4586c
collide: Use correct intersection point for sphere into poly
...
Previously, the reported surface and intersection points could be outside the polygon if the sphere was colliding with the edge.
Fixes #907
2020-05-05 16:52:21 +02:00
rdb
3598222977
Merge branch 'release/1.10.x'
2020-05-05 16:47:38 +02:00
rdb
ed73394275
collide: fix erroneous collision if sphere is under edge of polygon
...
Reproducible by the code in #907 , occurs if the sphere is close to the edge, but its center is off and under the polygon.
2020-05-05 16:33:20 +02:00
rdb
2ed4516cb2
collide: Unexpose CollisionPolygon constructor taking point array
...
This could never work in Python, and does indeed cause a crash, so I don't consider this compat-breaking.
Fixes #908
2020-05-05 14:51:31 +02:00
rdb
e4573ef0fe
cleanup: Remove more unnecessary nullptr checks before delete
...
Follow-up to #934
2020-05-05 14:46:30 +02:00
rdb
29f552a6ef
task: Use TimeoutError from asyncio.exceptions on Python 3.8+
...
Fixes unit test failures
2020-05-05 14:35:43 +02:00
rdb
bfbbcad990
task: Support calling cancel() on currently awaiting futures
...
Fixes #911
2020-05-05 13:21:49 +02:00
rdb
b5d0e9eafc
task: Fix memory leak when removing a task awaiting non-Panda future
2020-05-05 13:19:26 +02:00
rdb
1ff11c1e16
cleanup: Removal of unnecessary null checks around `delete`
...
Fixes #934
2020-05-05 10:41:16 +02:00
rdb
5030ad6b13
nativenet: reformat time_accumulator.h
2020-05-05 10:39:43 +02:00
rdb
3000aa2369
windisplay: Support relative mouse mode (using raw input)
...
Fixes #928
2020-05-02 11:10:37 +02:00
rdb
734bb8552c
Merge branch 'release/1.10.x'
2020-05-02 10:51:17 +02:00
rdb
4b00f9e660
windisplay: Fix M_confined mode confining cursor to incorrect region
...
It should be confined to the client rect, not the window rect.
Fixes #929
2020-05-02 10:47:37 +02:00
rdb
3f0ff827f3
wgldisplay: Support floating-point window framebuffers on Windows
...
These are linearized scRGB, and necessary to make Panda work on HDR monitors.
2020-05-01 20:33:52 +02:00
rdb
6ad9eeb5a1
CMake: generate panda3d.dist-info directory
...
This makes pip recognise that Panda3D has been installed and setuptools recognise the build_apps and bdist_apps commands.
2020-04-30 21:37:35 +02:00
rdb
d799a09002
cleanup: Remove support for EOL versions of Python
...
Fixes #905
2020-04-26 20:07:56 +02:00
rdb
e2177ecbdb
Merge branch 'release/1.10.x'
2020-04-26 00:16:25 +02:00
rdb
c59a039fa8
pgraph: fix RenderState/TransformState count in PStats exploding
...
This was a regression in 1.10.6 that caused PStats to misreport the amount of RenderState/TransformStates in the application.
2020-04-25 23:39:03 +02:00
Ashwini
80ab6a28c4
pnmimage: Added offset to add_sub_image and mult_sub_image
...
Closes #903
2020-04-25 22:56:40 +02:00
Joel Stienlet
f2e67169bc
corrects bug: wrong case entered in MultiplexStreamBuf::Output::write_string() in panda/src/downloader/multiplexStreamBuf.cxx
...
Closes #902
2020-04-25 22:19:34 +02:00
rdb
00305bccae
device: fix failure to open message-only window
...
Not sure why I was getting this, but this seems to fix it
2020-04-13 15:10:29 +02:00
rdb
c40aa7addc
egg: remove register keyword from lexer.cxx.prebuilt
2020-04-13 15:10:29 +02:00
Mitchell Stokes
46dc9444d3
SceneGraphAnalyzer: Use smarter units for byte sizes in write()
...
Values above 10 MiB are displayed in MiB and values above 4 GiB are
displayed in GiB.
Closes #881
2020-04-02 13:53:56 +02:00
rdb
b511eabb0f
display: fix fallback of SMO_light_source_i_packed shader input
...
This is not actually used by anything, but we might as well ensure that it's set to something sensible
2020-04-02 12:41:14 +02:00
rdb
088a1f3774
display: fix crash with oversized p3d_LightSource array
...
This was a regression in 89f1a0e63c
Closes #897
2020-04-02 12:32:20 +02:00
rdb
94571aac93
collide: improve performance of colliding with visible geometry
2020-04-01 20:31:19 +02:00
rdb
b306806512
char: add joint property to JointVertexTransform
2020-04-01 20:31:19 +02:00
rdb
f192a0cdb6
gobj: more efficient pickling support for InternalName
...
Rather than going through the TypedWritable/bam route, this encodes InternalNames in a more compact and efficient manner.
2020-04-01 20:31:19 +02:00
rdb
9d8c523dfa
putil: Assorted improvements to BitArray, SparseArray, *BitMask*:
...
* Support converting BitMask types to int
* BitArray constructor accepts a Python long of arbitrary size
* DoubleBitMask (and QuadBitMask, by extension) supports Python long in constructor
* Support for pickling (except DoubleBitMask)
* All of them now properly define __bool__()
* More unit tests
Fixes #886
2020-04-01 20:31:16 +02:00
rdb
e4819f2b5c
pipeline: fix compilation error on Windows with simple threading
2020-04-01 18:59:44 +02:00
rdb
30d9f88f8e
Merge branch 'release/1.10.x'
2020-04-01 18:53:00 +02:00
rdb
064da09cf0
putil: add pickling support to Datagram class
2020-04-01 18:25:43 +02:00
rdb
1c6d57f92b
CMake: Write panda3d/dtoolconfig.py like makepanda does
2020-04-01 12:19:03 +02:00
rdb
c4c99ca24a
CMake: fix bad location of panda3d/__init__.py in multiconfig build
2020-04-01 12:19:03 +02:00
rdb
b05ae1f762
tform: fix MouseWatcher ABI incompatibility with NDEBUG builds
2020-03-30 14:06:39 +02:00
rdb
cefc92a775
glgsg: fix wrong shadow buffer host when rendering scene to buffer
...
Fixes #890
2020-03-30 14:02:31 +02:00
rdb
c81bfb09b7
shader: default fog exponential density to 0 if fog is disabled
2020-03-30 14:01:50 +02:00
rdb
b286780ae6
pgraph: fix typo in comment
2020-03-30 13:56:55 +02:00
rdb
c185de3018
Merge branch 'release/1.10.x'
2020-03-19 20:20:25 +01:00
rdb
329abe2b3e
x11: fix raw button events for dead keys
2020-03-19 12:33:51 +01:00
rdb
43fa7efaaa
tform: do not stop mouse button capture until all buttons are released
...
We may want to consider a more elegant solution for capturing in the future. In the meantime, this fixes #843 .
2020-03-18 18:29:42 +01:00
rdb
eeeea274a4
gobj: make ram image when writing texture with clear color to 6.44 bam
...
This makes it possible to write textures with clear colors to .bam files even when the default bam version of 6.44 is selected. The clear color is converted automatically to a filled RAM image.
Third part of the fix for #844
2020-03-18 17:58:51 +01:00
rdb
707b4fb866
gobj: don't strip .bam textures that contain only a clear color
...
Second part of the fix for #844
2020-03-18 17:51:39 +01:00
rdb
e138096578
gobj: support writing Texture clear colors to .bam files (bam 6.45)
...
This fix requires setting "bam-version 6 45" in Config.prc.
Part of the fix for #844
2020-03-18 17:51:05 +01:00
rdb
f1da4d4666
putil: set max supported bam version independently from default version
...
This will allow us to support reading and writing higher-versioned .bam file than we are writing by default. This allows us to make changes bumping the bam version to the release branch, since we currently guarantee that bam files written by Panda3D 1.x.y can be read by Panda3D 1.x.0 (using the default settings).
2020-03-18 17:47:04 +01:00
rdb
b549133b3e
collide: protect info print with is_info() check
...
This prevents an unnecessary sqrt
2020-03-16 14:55:42 +01:00
rdb
880e956429
grutil: fix ShaderTerrainMesh not working with compressed-textures
2020-03-16 14:55:13 +01:00
rdb
244c880f38
bam2egg: change overloaded method (for ABI reasons) to default arg
...
This is a follow-up to ebd538a7f8
2020-03-14 15:03:55 +01:00
rdb
f524f00e8e
Merge branch 'release/1.10.x'
2020-03-14 15:01:38 +01:00
rdb
1b67931f16
express: invert return value of unref_if_one()
...
This is more consistent with how the return value of unref() works. Someone might otherwise trip over this.
2020-03-14 14:59:20 +01:00
rdb
9966ddaa33
bam2egg: support multitexturing, multiple UV sets
2020-03-14 14:53:07 +01:00
rdb
ebd538a7f8
bam2egg: fix skinning bug for joints with DefaultPose
2020-03-14 14:48:31 +01:00
rdb
c5c1d4557b
pgraph: fix double free if weak ptr to state is locked while being gc'ed
...
Fixes #499
2020-03-10 12:10:23 +01:00
rdb
515ce931b9
Merge branch 'release/1.10.x'
2020-03-08 10:37:05 +01:00
rdb
17776b0666
glgsg: fix shader not being applied if same across multiple buffers
...
See https://discourse.panda3d.org/t/multi-pass-rendering-setinitialstate-wont-apply-shader/25712
2020-03-08 10:31:03 +01:00
rdb
e8d8f20acb
collide: fix pusher convex angle detection for visible geometry
...
Previously it was only working for CollisionPolygon.
Fixes #879
2020-03-08 10:30:04 +01:00
rdb
7b40a6a0e4
x11: restore locale after opening input method
...
Fixes #728
2020-02-29 17:00:28 +01:00
rdb
9fb60b18e7
Merge branch 'release/1.10.x'
2020-02-29 16:58:45 +01:00
rdb
9431d5013f
ShaderGenerator: fix texture transforms applied to normal map
...
Fixes #808
2020-02-29 16:21:59 +01:00
rdb
1c357f32ca
putil: fix asserts when model-cache-dir cannot be created
...
Fixes #790
2020-02-29 15:08:05 +01:00
rdb
f98c14c290
tform: prevent MouseWatcherRegion leave event being fired twice
...
Fixes #858
2020-02-29 12:10:20 +01:00
rdb
3963c5de04
x11: fix raw key down being sent repeatedly when holding key
...
Fixes #874
2020-02-29 11:43:33 +01:00
rdb
918d268b80
Merge branch 'release/1.10.x'
2020-02-28 15:57:06 +01:00
rdb
4383fceba2
x11: fall back to @im=none if XOpenIM failed
...
This helps if the user has configured an invalid input method in their XMODIFIERS variable.
2020-02-28 15:53:21 +01:00
rdb
b225a3260b
x11: fix support for dead keys
...
It seems to be required to pass a window to XCreateIC for receiving dead keys.
2020-02-28 15:50:48 +01:00
rdb
8bf6385627
char: fix deadlock regression in 3ac504e
2020-02-27 00:01:34 +01:00
kamgha
0df97a2c6b
CMake: Fix Windows library names for case-sensitive filesystems
...
Closes #865
2020-02-23 16:28:40 +01:00
Thaumaturge
50d27166d8
particles: expose birth_litter() to support burst emission
...
Closes #524
Closes #340
2020-02-23 15:17:57 +01:00
rdb
c59b91f503
Merge branch 'release/1.10.x'
2020-02-23 14:53:16 +01:00
rdb
18bb8a5559
pgraph: fix for additional columns in munge_points_to_quads()
...
Fixes #870
2020-02-23 14:48:57 +01:00
rdb
54cf7b9a5d
x11: add labels to various buttons returned from get_keyboard_map()
...
This allows identifying, eg. the é button on French keyboard (which is at the location where 2 is on QWERTY)
This is not intended to be complete. One must still choose what to display depending on the label and the mapped button handle (if any).
2020-02-23 14:04:42 +01:00
rdb
e2d6c4cb30
x11: don't include numpad keys in get_keyboard_map()
...
This is a hack until we introduce separate ButtonHandles for numpad keys
2020-02-23 14:02:59 +01:00
kamgha
c2866ea4ed
Fix includes for Windows on case-sensitive filesystems
...
Closes #866
2020-02-22 12:55:45 +01:00
rdb
d0337b8233
x11: implement fallback relative mouse mode using XInput2
...
It's not "real" relative mouse like DGA, but it's good enough: it confines the cursor to the window and continues to provide relative mouse movement regardless of the position of the cursor in the window.
This gets relative mouse mode working under wayland, where cursor warping is not supported; see #746 .
2020-02-20 12:19:36 +01:00
rdb
fda898807a
Merge branch 'release/1.10.x' into master
2020-02-10 13:52:05 +01:00
rdb
3ac504ec16
char: attempt to make Character class thread-safe
2020-02-10 12:49:45 +01:00
rdb
141482fc53
char: remove deprecated overload of Character::merge_bundles()
2020-02-10 12:01:53 +01:00
rdb
21f1743c55
pgraph: remove unused method declarations from PandaNode
2020-02-09 12:04:46 +01:00
Leandro (Cerberus1746) Benedet Garcia
5f7809469c
general: removed all WIN32, WIN32_VC and friends
2020-02-05 22:45:03 -07:00
rdb
2b632c8e20
cocoa: use resolved filename to load cursor image (thanks treamous)
2020-02-01 09:49:35 +01:00
rdb
edc31ce9ca
glgsg: change ultimate profile from vp40/fp40 to glslv/glslv
...
vp40 is just not "ultimate" enough. We can alternatively pick gp5vp/gp5fp if glslv/glslf is inadequate.
2020-01-31 11:12:28 +01:00
rdb
1baef394b6
Merge branch 'release/1.10.x'
2020-01-31 11:08:43 +01:00
rdb
e13e9851f2
shader: //Cg profile should only affect the current shader
...
Fixes #863
2020-01-31 11:01:44 +01:00
CYBERDEViLNL
dbb65549ea
bullet: Fix BulletHeightfieldShape::fillin
...
Closes #860
2020-01-31 10:59:26 +01:00
rdb
89f1a0e63c
shader: separate shader matrix input cache from ShaderMatSpec
...
If multiple ShaderMatSpec entries use the same state matrix, this should result in a reduction in the number of times that state matrix is fetched. This is especially so for arrays, which are now fetched once rather than once for every item.
This is the first step towards trying to solve #846 .
2020-01-25 19:26:50 +01:00
rdb
0300ac8d3b
glgsg: hack fix for p3d_TextureMatrix[] error on macOS ( #846 )
2020-01-22 15:43:26 +01:00
rdb
b272af8bbf
Merge branch 'cmake'
2020-01-22 11:20:51 +01:00
rdb
26b86dfe5f
Merge branch 'release/1.10.x'
2020-01-22 11:20:24 +01:00
rdb
b573cc3587
cocoa: fix compilation issues with new NSCursor hotspot code
...
See #849
2020-01-22 09:47:58 +01:00
Sam Edwards
f5b6761128
CMake: Don't build socket_tcp_ssl.* anymore (deleted upstream)
2020-01-21 18:25:17 -07:00
Sam Edwards
36e06236a9
CMake: Remove IS(_NOT)_DEBUG_BUILD
2020-01-21 17:42:17 -07:00
rdb
68a4031b22
pnmimagetypes: unexpose PNMFileType* classes
...
They are not exposed to Python, and I cannot think of a good reason to use these classes directly in C++ code.
Call init_libpnmimagetypes() to register these classes with the PNMFileTypeRegistry instead.
2020-01-21 15:38:17 +01:00
rdb
876cb60220
char/chan: clean up MovingPartScalar/CharacterSlider constructors
...
These changes are a follow-up to 8b6f82256e but could not be made on that branch due to ABI compatibility reasons.
2020-01-21 15:34:33 +01:00
rdb
05d5bac598
Merge branch 'release/1.10.x' into incoming
2020-01-21 15:34:25 +01:00
Donny Lawrence
4f4b14dd2b
cocoadisplay: Use hotspot read from .cur files
...
Previously, the cursor's hotspot defaulted to (0,0). Fixes #845 .
Closes #849
2020-01-21 14:53:19 +01:00
Donny Lawrence
17dddeedc4
device: Fix 10.15 segfault on USB hotplug
...
For some reason, IOHIDDeviceRegisterRemovalCallback() no longer works on
10.15+, so an app will crash once trying to poll a device that doesn't
exist anymore. Thankfully, there is the alternative solution of using
IOHIDManagerRegisterDeviceRemovalCallback(). This just required a little
rearranging of the callback code, as well as keeping track of the
connection between IOHIDDeviceRefs and IOKitInputDevices so we actually
know which device to remove.
Closes #847
2020-01-21 14:52:01 +01:00
rdb
8222255b3b
vrpn: make inline methods that call into VRPN non-inline
...
This prevents things that link with VRPN and use these VRPN functions from needing to link with VRPN directly.
2020-01-21 14:45:27 +01:00
rdb
4819e2ce3a
nativenet: drop unused Socket_TCP_SSL
...
This removes the dependency of libpanda on OpenSSL.
2020-01-20 11:56:27 +01:00
rdb
8b6f82256e
char: allow creating CharacterSlider with default value
2020-01-20 00:43:50 +01:00
rdb
98268b59c0
chan: publish AnimChannelScalarTable constructor
2020-01-20 00:32:49 +01:00
Donny Lawrence
28711814e7
device: Replace erroneous && with ||.
2020-01-15 16:04:37 -06:00
rdb
246e73e325
framework: fix a debug output not protected by is_debug() check
2020-01-13 16:27:58 +01:00
rdb
b9aa4f2448
dxgsg9: fix debug messages not protected by is_debug() check
2020-01-13 16:27:48 +01:00
rdb
0b0f3d2f8e
dxgsg9: drop support for old dxerr9.lib (part of #433 )
...
This drops support for the *really* old DX SDKs. We still support the June 2010 SDK.
2020-01-13 16:00:31 +01:00
rdb
640683cdb9
Merge branch 'release/1.10.x'
2020-01-13 15:12:55 +01:00
rdb
1bb4a032aa
Drop support for Windows XP
2020-01-13 15:06:44 +01:00
Sam Edwards
7331692ae1
CMake: Generate consistent paths in 20_panda.prc on all platforms
2020-01-11 19:39:43 -07:00
rdb
6f782ce519
pnmimage: don't return values larger than 1.0f from from_val()
2020-01-08 03:30:27 +01:00
Sam Edwards
ce6caa8d3e
CMake: `/etc/*.prc` -> `/etc/panda3d/*.prc`
2020-01-07 17:04:30 -07:00
rdb
b212d254d0
Merge branch 'release/1.10.x' into incoming
2020-01-07 22:09:59 +01:00
rdb
09bddf4315
physx: remove support for NVIDIA PhysX
...
Our support was stuck on an ancient version that has not been available for a while. If we were to continue support it should be done around the new PhysX 5.0 API, not 2.8.4.
2020-01-07 21:57:22 +01:00
rdb
da8ba5de17
rocket: remove libRocket support and sample program
...
libRocket is unmaintained and does not support Python 3, and since Python 2.7 is EOL, there is no longer any point for us to keep supporting it.
2020-01-07 21:38:04 +01:00
rdb
c9fb371e87
device: correction for DualShock 4 support on Windows
2020-01-07 21:25:26 +01:00
Sam Edwards
f75a8d03e0
CMake: Generate panda.prc with `notify-level warning` when not Debug
2020-01-07 13:11:42 -07:00
Sam Edwards
4a307f9cdf
CMake: Generate panda.prc with the correct model-path
...
This also generates a second prc for installation purposes,
which has the correct paths once installed
2020-01-07 13:05:21 -07:00
Sam Edwards
69ff54a3d4
CMake: Break up "GLES" component into OpenGLES1/OpenGLES2
2020-01-07 11:34:34 -07:00
rdb
27fe133df5
device: attempt to fix DualShock 4 analog axis mapping
2020-01-07 15:23:14 +01:00
LD
a56b85dbed
cocoadisplay: Fix switch to fullscreen on macOS 10.9 using current display resolution
2020-01-07 14:09:05 +01:00
Sam Edwards
e08896deb7
CMake: Update panda3d/__init__.py
...
- Python 2.7 EOL warning is now past tense
- Use os.add_dll_directory() when available (instead of hacking up PATH)
2020-01-06 17:12:37 -07:00
Sam Edwards
c39bda57a0
CMake: On Apple, silence build-time OpenGL deprecation warnings
2020-01-06 17:12:05 -07:00
rdb
651cf189fc
display: remove CPUID ASM, use __get_cpuid(_max) (on macOS too)
...
I think this requires at least XCode 5.
2020-01-06 21:08:10 +01:00
rdb
81b33a7afa
Merge branch 'release/1.10.x'
2020-01-06 21:06:57 +01:00
rdb
bf6dbefdd2
display: fix get_cpuid_max clobbering %rbx (fixes Py 3.8 crash on macOS)
...
This could cause a crash when constructing a GraphicsPipe() under some conditions (observed in Python 3.8). Credit goes to @CFSworks for tracking this down.
2020-01-06 18:18:02 +01:00
Nathan S
b78f0b0881
device: add support for DualShock Gen 2 (PS4) controllers on Windows
...
Closes #831
Co-authored-by: rdb <git@rdb.name>
2020-01-06 16:17:02 +01:00
rdb
389cc4bfdb
Merge branch 'release/1.10.x'
2020-01-06 03:25:22 +01:00
LD
f68604a3f5
cocoadisplay: Fix regression introduced by 45461e667a
...
Closes #829
2020-01-05 23:01:49 +01:00
rdb
399797d0b1
physics: fix assertions when particles get very large positions
...
Fixes #822
2020-01-04 21:13:49 +01:00
rdb
a8a775ad09
Merge branch 'release/1.10.x'
2020-01-04 02:49:28 +01:00
rdb
0e1b524885
gobj: fix Material ambient/diffuse/specular when reading from bam
...
Fixes #828
2020-01-04 01:21:54 +01:00
rdb
24783924d0
pgraph: fix int return from bool method
2020-01-04 01:21:54 +01:00
rdb
135931c926
pgraph: fix faulty comparison code of ShaderInput vectors
2020-01-03 22:00:09 +01:00
rdb
fe1ecd5e79
pgraph: fix ShaderInput ordering for vector inputs with small floats
...
Fixes #827
2020-01-03 18:48:23 +01:00
rdb
2b9cc61d04
grutil: fix wrong method name in LineSegs docstrings
2020-01-02 00:36:29 +01:00
rdb
afd7fc8a25
dxgsg9: don't try to Release() vertex buffer if it failed to create
2019-12-31 17:15:07 +01:00
LD
ff1a2632bd
cocoa: Remove now useless respondsToSelector for setWantsBestResolutionOpenGLSurface
...
Closes #820
2019-12-30 03:07:15 +01:00
Leandro (Cerberus1746) Benedet Garcia
12f8363284
linmath: support round(), floor(), ceil() in vector classes
...
Closes #821
2019-12-30 03:06:00 +01:00
rdb
b78b7be326
Merge branch 'release/1.10.x'
2019-12-30 01:50:54 +01:00
LD
45461e667a
cocoadisplay: use same scaling factor as the current view when switching to fullscreen on MacOS 10.15+
...
Fixes #794
2019-12-29 22:24:56 +01:00
rdb
fccffb4932
glgsg: fix texture extraction of MRTs in OpenGL ES
...
Fixes #815
2019-12-29 17:47:36 +01:00
rdb
8bb9abfbb0
x11display: fix compile warnings
2019-12-29 13:55:28 +01:00
rdb
e13719132b
dxgsg9: don't attempt to restore gamma if it wasn't modified
2019-12-28 18:04:55 +01:00
rdb
b656b0bbf9
dxgsg9: recreate vertex buffer if size was modified
...
Fixes #824
2019-12-28 18:01:51 +01:00
Sam Edwards
cdc16291dd
CMake: `SKIP_COMPOSITING` -> `SKIP_UNITY_BUILD_INCLUSION`
...
The latter is what CMake (3.16+) itself uses; we should start using
CMake's own unity build capabilities if available.
2019-12-24 17:20:43 -07:00
rdb
3c3eee2295
glgsg: attempt to fix stereo FBOs in OpenGL ES 2 ( #815 )
2019-12-18 18:01:42 +01:00
rdb
390abac276
Merge branch 'release/1.10.x'
2019-12-18 18:00:41 +01:00
rdb
72c5555dc0
device: invert digitizer Y axis on Linux to match Windows
...
It may intuitively feel upside down, but the current behaviour actually matches base.mouseWatcherNode, so this is probably the most consistent thing to do.
2019-12-18 17:55:44 +01:00
rdb
986b803e71
device: recognize digitizers and pressure axis as well in evdev
...
Note that the Y axis is still inverted compared to on Windows; we need to decide what convention to follow here.
2019-12-17 22:56:26 +01:00
rdb
b67c7dd84f
device: support digitizers via Win32 raw input API
2019-12-17 22:33:27 +01:00
Aidan Noll
49f423822d
net: switch some socket operations from std::string to vector_uchar
...
Closes #753
2019-12-11 17:10:32 +01:00
rdb
0e56ddc438
cocoa: remove pre-10.6 code
2019-12-11 17:05:51 +01:00
Brian Lach
48ff3aeb08
pgraph: use bit flags instead of incremental enum for ShaderAttrib flags
...
The flags in the enum are actual bit flags instead of indices. This allows for setting/clearing a mask of flags in one go, rather than having to set each flag in its own function call. Existing code shouldn't be affected.
Closes #688
2019-12-11 16:49:42 +01:00
leotada
636c3d044a
bullet: change wheel get/setSteering to use degrees
...
Fixes #757
Closes #784
2019-12-11 16:49:42 +01:00
Sam Edwards
86e3e6e166
shader: Fix missing include
2019-12-08 14:30:21 -07:00
rdb
406268c2e9
shader: use specific PStatCollector and group markers for shader compile
...
This makes it possible to determine which shader is taking which amount of time to compile.
2019-12-08 15:19:38 +01:00
rdb
9565d99fab
Merge branch 'release/1.10.x'
2019-12-08 15:18:51 +01:00
rdb
55f624e073
windisplay: add a variable to disable Panda's message pump
...
This is particularly important for Tcl/Tk, which assumes it is in charge of the Windows event loop.
Fixes #586
2019-12-08 15:04:06 +01:00
Sam Edwards
4000199acb
CMake: Fix Bullet building under clang-cl
2019-12-05 10:34:48 -07:00
LD
791be4766a
MacOS: Don't crash if no elements are returned by IOHIDDeviceCopyMatchingElements
...
Fixes #797
2019-12-03 23:26:25 +01:00
Leandro Benedet Garcia
71dfc51f8a
general: Changed macros and definitions for the engine to compile with MinGW ( #793 )
2019-12-02 09:21:01 -07:00
LD
f72c72b36a
MacOS: Force disable application HiDPI support on NSView, fixes #794
2019-11-29 10:07:48 +01:00
Sam Edwards
23f779e799
downloader: Simplify HTTPDate's timezone-correction code
2019-11-27 11:45:08 -07:00
Leandro Benedet Garcia
ae33d62978
general: Update EXPCL declarations to be MinGW-friendly ( #792 )
2019-11-27 11:25:24 -07:00
Sam Edwards
a37eabe089
CMake: Set generated prc's `model-cache-dir` properly for Windows/macOS
2019-11-25 03:03:03 -07:00
Sam Edwards
4556059c90
CMake: Use find_program to detect host tools when cross-compiling
...
In the future, we should also try to do find_package(Panda3D) to use
the host tools even if Panda3D isn't in a system path.
2019-11-13 15:30:26 -07:00
rdb
d08219584d
particles: combine two soft_start() overloads created by #769
2019-11-11 03:29:46 +01:00
rdb
d088263f6f
Merge branch 'release/1.10.x'
2019-11-11 03:28:39 +01:00
Thaumaturge
c0daa75353
particles: add parameter to delay particle birth in soft_start()
...
Also adds a get_tics_since_birth() getter.
This feature can be used to synchronize different particle effects.
Closes #769
2019-11-10 20:33:45 +01:00
rdb
ccca3cca3a
gobj: fix crash printing out residency trackers
2019-11-10 19:23:10 +01:00
rdb
2d836697b0
glgsg: fix issue extracting texture data for multiview textures
2019-11-10 19:20:10 +01:00
rdb
cb01d45eb6
glgsg: fix RTM_copy_ram for multiview textures
2019-11-10 19:09:31 +01:00
rdb
6fd662335d
express: fix typo in VirtualFileSystem docstring
2019-11-09 20:27:03 +01:00
rdb
f1b235e065
gobj: use range for where possible in PreparedGraphicsObjects
...
This makes the code easier to read and maintain.
2019-11-09 14:45:00 +01:00
rdb
9201d75bbe
gobj: fix crash on shutdown with cached buffer contexts
...
This was a regression from 207263c1a8
2019-11-09 14:39:49 +01:00
Sam Edwards
9b7bcf2564
Merge branch 'master' into cmake
2019-11-07 21:21:04 -07:00
rdb
bbb334abea
audio: sound.set_time() should take effect immediately
...
Fixes #770
2019-11-06 10:49:27 +01:00
rdb
847ebf667f
Merge branch 'release/1.10.x'
2019-11-06 10:49:05 +01:00
Sam Edwards
856754a3de
general: Don't abuse PyErr_Restore
...
The intended purpose of this function is to restore an exception
that has already been raised and saved with PyErr_Fetch. It should
not be used to raise new exceptions nor should it be used to clear
the current exception.
The especially egregious example is
`PyErr_Restore(exc_type, nullptr, nullptr);`
as the null value may not be handled correctly.
2019-11-05 18:44:20 -07:00
Sam Edwards
cf59d3d983
CMake: Remove p3dtoolconfig from build
...
It's just p3prc now, so instead we install some symlinks
2019-11-04 14:02:06 -07:00
Sam Edwards
f7ac439eb1
CMake: Fix p3pgraph build with MSVC+Eigen
2019-11-04 13:41:36 -07:00
rdb
78c3db379c
gobj: fix tests crash due to ShaderBuffer context not cleared at GSG death
2019-11-03 11:48:51 +01:00
rdb
9a7e103c33
collide: restore missing CollisionTraverser.showCollisions()
...
This was an accidental regression in e48a40abad which unexposed CollisionVisualizer and therefore caused this method to no longer be wrapped by Interrogate.
2019-11-02 20:43:21 +01:00
rdb
6d96028b71
Merge branch 'release/1.10.x'
2019-11-02 20:42:32 +01:00
rdb
c611abc6c2
physx: fix a pair of misformatted docstrings
2019-11-02 20:39:29 +01:00
rdb
3bfd994cf8
general: Fix a couple of misformatted docstrings.
2019-11-02 19:54:25 +01:00
rdb
39988e4787
general: update a few outdated links in API documentation
2019-11-02 19:41:56 +01:00
rdb
a72be90f17
Merge branch 'release/1.10.x'
2019-10-29 23:13:22 +01:00
rdb
fd8405cd87
x11display: change info message about unavailable XF86DGA to warning
2019-10-25 10:26:32 +02:00
rdb
3e99d16eb1
gobj: clarify range of GeomPrimitive::offset_vertices() parameters
2019-10-25 10:25:11 +02:00
rdb
dae762f52b
pstatclient: fix compile error when compiling without DO_PSTATS
2019-10-25 10:24:30 +02:00
David Rose
41fa3c52e3
further fix to pfmFile.resize()
2019-10-18 12:50:52 -07:00
David Rose
210780f021
fix array overrun in PfmFile.resize()
2019-10-17 08:31:39 -07:00
Sam Edwards
12c16eb9ff
Merge branch 'master' into cmake
2019-10-15 23:43:25 -06:00
Sam Edwards
9ecaa0056b
CMake: Break out p3interrogatedb as a first-class library
2019-10-15 23:27:03 -06:00
Sam Edwards
73ed31b935
CMake: audiotraits and ffmpeg are MODULE, not SHARED
...
This is important as it forces the lib prefix on Windows,
and omits creating an import .lib when building shared.
2019-10-10 10:42:46 -06:00
rdb
6dcaab2d3a
glgsg: fix multisample FBO for 16-bit float buffer
...
Fixes #756
2019-10-10 15:18:45 +02:00
rdb
a019520dbc
gobj: don't define GeomVertexReader::empty_buffer in opt3 build
2019-10-08 19:52:42 +02:00
rdb
e48a40abad
collide: unexpose CollisionVisualizer
...
The fact that this class only exists in opt3 builds makes it hard to offer ABI compatibility guarantees with opt4 builds; most users probably use this thorugh the high-level interface, so let's unexpose this until someone complains.
2019-10-08 19:51:24 +02:00
rdb
247f3c415a
Merge branch 'release/1.10.x'
2019-10-08 19:50:48 +02:00
rdb
08572f3c38
general: Fix a variety of ABI incompatibility issues with opt4 builds
2019-10-08 19:44:29 +02:00
rdb
0247f9e3fa
physics/particlesystem: remove some unused macros
2019-10-08 19:43:17 +02:00
rdb
5b938278c2
physics: also add set_name/get_name if NDEBUG is set, for ABI compat
2019-10-07 11:36:58 +02:00
rdb
1eeea718c5
display: fix ABI compat with GraphicsStateGuardian flash texture
2019-10-06 11:54:31 +02:00
rdb
ec6638314c
general: remove some oddly-placed audio_error macros
2019-10-06 11:51:15 +02:00
Sam Edwards
5961cc2ee0
Merge branch 'master' into cmake
2019-10-05 15:00:49 -06:00
rdb
114a7c0995
Merge branch 'release/1.10.x'
2019-10-05 21:13:42 +02:00
rdb
207263c1a8
display: handle resource releases in batches, not individually
...
This is intended to eventually replace the old interface, since GSGs may be able to do a batch of prepare/release operations more efficiently.
2019-10-05 21:13:32 +02:00
rdb
802a08b146
glgsg: fix unnecessary create-delete-create of new textures
2019-10-05 21:13:22 +02:00
rdb
8b0256e0f9
glgsg: fix NV driver crash after deletion of buffer that is still bound to a generic attribute index not used by Cg shader after having been used by a GLSL shader directly prior if no shaders are used afterwards
2019-10-05 21:04:09 +02:00
rdb
3a19dfb62e
Fix load_dso error message sometimes being suppressed
2019-10-05 20:56:58 +02:00
rdb
12e71ff1a6
Merge branch 'release/1.10.x'
2019-09-30 14:03:50 +02:00
rdb
9f9e1d8293
chan: print out actual anim info when showing AnimBundleNode in ls()
...
This allows one to more easily discover the animations present in a scene graph, such as when using bam-info -ls to inspect a .bam file.
2019-09-30 14:02:53 +02:00
rdb
66b338c112
mathutil: workaround for infinite loop in Triangulator
...
Fixes #737
2019-09-18 15:45:45 +02:00
rdb
9d14117ad3
Merge branch 'release/1.10.x'
2019-09-16 21:20:20 +02:00
rdb
f4926bff20
Fix a variety of ABI compatibility issues
...
We need third-party extensions that link with the Panda3D libraries to continue to work when shipping them with the optimized libraries that deploy-ng uses. To do this, we need the optimized build not to omit symbols that these extensions might depend on.
2019-09-16 03:33:09 +02:00
Mitchell Stokes
660249a5cc
Remove p3d/AppRunner/plugin system
...
Co-authored-by: rdb <git@rdb.name>
Closes #734
2019-09-10 16:49:57 +02:00
rdb
2c42cfcc1a
Merge branch 'release/1.10.x'
2019-09-10 16:34:11 +02:00
rdb
05ed918d63
general: mark deprecated methods with the @deprecated tag
...
This makes them easier to find and, if necessary, automatically generate deprecation warnings for.
2019-09-08 09:50:28 +02:00
rdb
6428e1b3cb
Merge branch 'release/1.10.x'
2019-09-06 15:51:34 +02:00
rdb
8b241b8c18
windisplay: fix issues with losing mouse cursor confinement
...
Fixes #727
Fixes #729
2019-09-06 15:36:36 +02:00
Sam Edwards
9512b2274b
CMake: Remove libtar, unneeded downloadertools progs
2019-09-06 04:07:42 -06:00