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
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
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
3a41db130b
gobj: Fix Texture.set_ram_image_as for 3D and multiview textures
...
Fixes #1095
2021-01-12 23:13:02 +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
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
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
55d43a1d57
device: Fix macOS crash when unplugging device in threaded pipeline
...
Fixes #1082
2020-12-26 12:46:45 +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
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
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
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
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
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
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
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
4b7e32e9b0
egldisplay: Fix bad use of X11 None symbol instead of nullptr
2020-09-16 23:39:13 +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
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
1cc82f47b6
fmod: Fallback to opening file via callbacks if direct doesn't work
...
Fixes #1002
2020-09-01 10:41:34 +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
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
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
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
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
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
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
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
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
b5d0e9eafc
task: Fix memory leak when removing a task awaiting non-Panda future
2020-05-05 13:19:26 +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
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
064da09cf0
putil: add pickling support to Datagram class
2020-04-01 18:25:43 +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
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
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
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
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
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
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
2b632c8e20
cocoa: use resolved filename to load cursor image (thanks treamous)
2020-02-01 09:49:35 +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
0300ac8d3b
glgsg: hack fix for p3d_TextureMatrix[] error on macOS ( #846 )
2020-01-22 15:43:26 +01:00
rdb
b573cc3587
cocoa: fix compilation issues with new NSCursor hotspot code
...
See #849
2020-01-22 09:47:58 +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
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
6f782ce519
pnmimage: don't return values larger than 1.0f from from_val()
2020-01-08 03:30:27 +01:00
rdb
c9fb371e87
device: correction for DualShock 4 support on Windows
2020-01-07 21:25:26 +01: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
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
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
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
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
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
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
LD
791be4766a
MacOS: Don't crash if no elements are returned by IOHIDDeviceCopyMatchingElements
...
Fixes #797
2019-12-03 23:26:25 +01:00
LD
f72c72b36a
MacOS: Force disable application HiDPI support on NSView, fixes #794
2019-11-29 10:07:48 +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
78c3db379c
gobj: fix tests crash due to ShaderBuffer context not cleared at GSG death
2019-11-03 11:48:51 +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
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
rdb
6dcaab2d3a
glgsg: fix multisample FBO for 16-bit float buffer
...
Fixes #756
2019-10-10 15:18:45 +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
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
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
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
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
8b241b8c18
windisplay: fix issues with losing mouse cursor confinement
...
Fixes #727
Fixes #729
2019-09-06 15:36:36 +02:00
rdb
323f74cb55
event: squelch unprotected NewFrame event spam warning
2019-09-04 10:19:01 +02:00
rdb
79c71a5d97
pgraph: fix missing includes of *Collection classes in nodePath.h
2019-09-03 22:46:18 +02:00
rdb
833f778cb7
pnmimage: add quantize feature to reduce number of colors in image
2019-08-28 22:44:16 +02:00
rdb
f63b3a86b9
loader: add LoaderFileTypeRegistry.unregister_type()
2019-08-20 13:23:11 +02:00
rdb
c2f49f4c4a
loader: a few additional checks for Python loader plug-ins
2019-08-20 13:23:11 +02:00
rdb
6364485b49
ffmpeg: fix an unprotected debug print
2019-08-19 21:58:08 +02:00
rdb
818ed57894
linmath: work around obscure MSVC optimization bug with Eigen
2019-08-18 18:07:00 +02:00
rdb
1e846709d3
Add various @since tags to methods that are new in 1.10.4
2019-08-17 13:49:47 +02:00
rdb
0e27f19d94
bullet: fix various unprotected debug() prints
2019-08-14 15:07:06 +02:00
rdb
c54f964a3b
bullet: workaround for deadlock adding shape to scaled body ( #689 )
2019-08-14 14:38:58 +02:00
rdb
acb0a41049
ode: fix several unprotected debug() prints
...
This should especially help with trimesh generation performance, which previously formatted a complete description of the trimesh to the debug output even if it was disabled.
2019-08-14 13:11:02 +02:00
rdb
8f9d0ab6f6
pgraph: fix some TextureAttrib state cache issues
...
The _render_stages and _render_ff_stages cannot simply be copied, because they contain pointer references to the previous TextureAttrib. Never copy them, and always mark _sort_seq as stale.
This fixes a test failure in replace_texture.
2019-08-13 18:08:48 +02:00
rdb
8be70ed16d
glgsg: auto convert to srgb(a) if sluminance not supported
...
This is particularly the case when requesting a core-only profile (gl-version 3 2) where luminance textures are deprecated.
There is apparently no way to emulate them with swizzles (as we do with luminance textures), so we'll have to duplicate the channels out.
Fixes #693
2019-08-12 21:04:48 +02:00
rdb
dc599901bc
Work around shutdown hang when compiling with SIMPLE_THREADS=1
...
This is a workaround for a specific case of #508
2019-08-12 19:37:11 +02:00
rdb
932e981572
device: fix deadlock when building with SIMPLE_THREADS=1
...
GetMessage blocks without yielding, so we need to use an alternative message pump using PeekMessage instead.
Fixes #704
2019-08-12 19:34:17 +02:00
rdb
42dff65e4d
general: fix various unprotected debug() outputs
...
These should be protected by an is_debug() check so that they can be optimized out properly in a release build. Setting check-debug-notify-protect in Config.prc can be used to track down cases of missed checks.
2019-08-03 10:33:43 +02:00
Mitchell Stokes
f2686c5ad8
glsl: Fix Shader::_error_flag not being set on compile errors ( #622 )
2019-08-01 12:14:31 +02:00
rdb
7f385b5ddf
glsl: fix use of multiple p3d_TextureMatrix[] values
2019-07-30 19:30:15 +02:00
rdb
5449f963a5
loader: fix leak of EntryPoint.name reference
2019-07-30 19:29:18 +02:00
rdb
aea5ee8c7a
task: work around MSVC compiler bug crashing test suite in release mode
2019-07-30 18:38:16 +02:00
rdb
93ed9632ac
loader: fix incorrect EXPCL that prevents compilation on Windows
2019-07-30 13:28:10 +02:00
rdb
7b9f87412a
loader: support Python loader plug-ins
...
This allows defining custom loader types from Python code. Packages can use metadata entry points to register file types with the loader.
Example code: https://gist.github.com/rdb/cb3c2f4a98ce371c722e3f297b445153
2019-07-30 13:04:46 +02:00
rdb
f989bce584
wgldisplay: don't restore gamma atexit if we never modified it
...
This avoids possible instability (see #685 ) when this feature isn't even used
2019-07-29 17:05:36 +02:00
rdb
224a32090f
task: fix other task chains still running after exception occurs
...
A task returning DS_interrupt would only interrupt the current task chain, not the entire task manager. This meant that other tasks might get run with an exception state set, causing the exception state to get stomped on or the Python interpreter to complain.
Fixes #692
2019-07-26 08:30:16 +02:00
rdb
9dd35f9c3a
gobj: default current_thread arg for Geom.get_animated_vertex_data()
2019-07-16 13:40:14 +02:00
rdb
23232a5b20
pgraphnodes: fix assert when analyzing geoms with strip cut index
2019-07-15 19:42:33 +02:00
rdb
ce6d02b8d7
egg: remove unused matrix_2d variable
2019-07-15 14:54:55 +02:00
rdb
11990833fe
text: fix compilation warnings with implicit int->char32_t cast
2019-07-10 11:20:15 +02:00
rdb
4bb31029f0
pgraph: fix ScissorAttrib compare (fix flickering DirectScrolledFrame)
...
Fixes #681
2019-07-10 11:14:54 +02:00
rdb
bac376541f
pgraph: add NodePath.replace_texture()
2019-07-10 09:53:42 +02:00
rdb
ab238bd153
gobj: support non-affine transformations in calc_tight_bounds
...
This makes it possible to get the 2D bounding volume of an object as it appears on screen.
2019-07-10 09:30:16 +02:00
rdb
291f3825f4
ffmpeg: fix rare "bad src image pointers" after seek
...
Fixes #391
2019-05-13 13:53:34 +02:00
rdb
f183d901cb
bullet: sync rigid body transform when node is reparented
...
Reparenting a node will change its net transform, so it should cause a transform sync.
Fixes #629
2019-05-13 13:53:33 +02:00
rdb
750afbb188
device: Linux fixes for Trust GXT 24 and a few other cheap gamepads
...
Fixes #576
2019-05-12 20:34:19 +02:00
rdb
c1c74e2cd3
mathutil: add some more assertion checks to PerlinNoise2
2019-05-12 19:22:26 +02:00
rdb
f25532db78
glgsg: properly handle shader compilation failure
...
Fixes #645
2019-05-03 20:49:08 +02:00
rdb
0568312324
windisplay: add config var to disable Ctrl+V behaviour
...
Fixes #512
2019-05-03 19:41:27 +02:00
rdb
54c6eaeb96
pgui: allow keyboard keys to be added as PGButton click buttons
...
These will respond as clicks not when the mouse cursor is hovering over them, but when they have keyboard focus.
Fixes #600
2019-05-03 19:22:21 +02:00
rdb
475bd55bb1
glgsg: add gl-forward-compatible config variable
...
This is meant to be used alongside gl-version to request a "forward compatible" OpenGL 3.0 or 3.1 context, which removes support for deprecated features such as the fixed-function pipeline.
2019-05-03 15:46:01 +02:00
rdb
53612512d5
glgsg: more reliable check for core/compat profile
...
Fixes #643
2019-05-03 15:43:20 +02:00
rdb
7f0ac22ca5
device: fix mappings for various generic gamepads on Windows
...
See also #576
2019-05-02 21:32:31 +02:00
rdb
cc4d5259cc
linmath: fix mat4.get_col3() and mat4.get_row3() when using Eigen
2019-05-02 19:40:23 +02:00
Sebastian Hoffmann
16c3ca5c87
device: Fix swapped axes on right stick for Jess Colour Rumble Pad
...
Closes #639
2019-05-01 17:19:18 +02:00
rdb
d9d30cdfd2
collide: compat for typo'ed respect_prev_transform property in 1.10
2019-04-29 22:29:36 +02:00
rdb
333db2b17e
movies: fix compilation issue in MSVC 2015
2019-04-29 22:28:59 +02:00
rdb
fa1ff3d489
movies: fix for loading unseekable Opus files
...
Same fix as 00b3fbdb1a but for Opus files.
2019-04-29 11:41:13 +02:00
rdb
2c55663472
movies: allow seeking compressed Ogg Vorbis file to beginning
2019-04-29 11:39:30 +02:00
rdb
a726592244
movies: support looping compressed .wav files
...
Any kind of skipping is supported on any kind of stream, actually, but some uses may require reopening the file and skipping some number of bytes, so a warning will be displayed in some cases.
I figure this feature is particularly interesting for .wav files since they are (1) often used for short samples, where skipping bytes is not really a big deal, and (2) aren't inherently compressed so would benefit particularly from zlib compression.
2019-04-29 10:48:04 +02:00
rdb
00b5faca2d
ode: add OdeBody.joints property
2019-04-29 01:06:44 +02:00
Rishabh Tewari
bfb50ab7ff
device: don't crash on Linux if no devices are found
...
Fixes #634
Closes #635
2019-04-29 00:32:34 +02:00
rdb
00b3fbdb1a
movies: fix for loading unseekable ogg vorbis files
...
Now, compressed/encrypted ogg files will properly be detected as unseekable, and will still be able to be played.
2019-04-28 22:57:06 +02:00
rdb
ca5b4e7b54
ode: fix OdeJoint.attach with None parameters
...
Fixes #633
2019-04-28 22:29:29 +02:00
rdb
186d8feef4
movies: properly detect extension of pz/gz audio/video files
2019-04-28 21:49:23 +02:00
rdb
239dc40032
device: fix crash when unplugging certain devices on macOS
...
Fixes #621
2019-04-14 22:11:20 +02:00
rdb
5530074945
cocoa: fix crash when typing with RIME as input method
...
Fixes #620
2019-04-14 22:10:32 +02:00
rdb
5d3499dc64
x11display: fix crash when starting in fullscreen on Linux/X11
...
Fixes #618
2019-04-14 18:01:55 +02:00
rdb
98227daaa5
putil: fix SparseArray::clear_range et al
...
Fixes #588
2019-04-14 17:11:42 +02:00
rdb
8b79fb75b9
glgsg: allow multisampling on FBO even if host has no multisamples
...
Fixes #601
2019-04-09 13:24:52 +02:00
rdb
77d6a9f5c9
ffmpeg: add "FFmpeg" tag to PandaSystem
2019-04-09 12:09:21 +02:00
rdb
1a9867ae2e
device: remove executable permissions from inputDeviceSet.*
2019-04-02 02:08:47 +02:00
rdb
3ea562d404
collide: handle degenerate case for into-sphere test more robustly
...
This case happens, for example, when colliding a capsule with identical begin and end points into a sphere.
2019-03-29 13:29:14 +01:00
rdb
63a764a61b
display: fix missed cases in 364d5d82fe
2019-03-29 13:28:12 +01:00
rdb
364d5d82fe
display: don't apply color-scale-via-lighting to shader inputs
...
This isn't working properly at the moment, since the state gets set for the *next* object, causing significant artifacts. I wasn't entirely sure whether to restore the "proper" behavior or not, since applications may be relying on one or the other behavior, but enabling this feature for shaders is a minefield and it's a lot better to just tell people to use p3d_ColorScale instead.
2019-03-26 23:12:41 +01:00
rdb
b0a5cceafd
glgsg: fix support for matrix arrays in vertex data
2019-03-21 12:35:53 +01:00
Sam Edwards
c63562088b
device: Fix missing include
2019-03-18 04:10:35 -06:00
rdb
4f94b3aa0e
egg2pg: fix CollisionBox generation for transformed objects
...
Rather than xforming after the fact, which does not work properly for boxes, we need to apply the transform to the vertices around which the box is generated.
Fixes #506
2019-03-17 19:07:47 +01:00
rdb
e486bbcb3f
collide: fix printing CollisionBox
2019-03-17 19:06:45 +01:00
rdb
029d7363cd
distort: fix use of cylindrical_k in oSphereLens.cxx
2019-03-17 00:17:11 +01:00
rdb
bafd523e2b
mathutil: fix bad assert in BoundingBox::set_min_max
2019-03-12 15:36:47 +01:00
rdb
0e70997fbf
x11display: fixes for multi-monitor and fullscreen support
...
- DisplayInformation now gives the list of display modes returned by XRRGetScreenResources if RandR 1.2 is supported, which is apparently more reliable than the previous XRRSizes/XRRRates approach.
- Switching fullscreen on X11 to the current resolution on the CRTC that the monitor is on will make the window cover the CRTC properly, rather than forcing the window to have an origin of (0, 0).
- Passing in the pipe's display width/height is commonly done to go fullscreen at native res, but this may not correspond to a real display resolution. It now detects when this is done, and interprets this as "go fullscreen at the native resolution on the current CRTC".
Fixes #575
2019-03-10 19:33:13 +01:00
rdb
08c686ba18
windisplay: fix issues with runtime fullscreen switching
2019-03-08 11:14:56 +01:00
rdb
45778b9e9f
device: use threaded message loop on Windows (see #562 )
2019-03-04 16:20:52 +01:00
rdb
4e92b708ff
Merge branch 'macosstuckwindowfix' of github.com:treamology/panda3d into release/1.10.x
...
Closes #536
Fixes #534
2019-03-04 12:23:53 +01:00
rdb
155b1c38ad
bullet: properly expose bullet_contact_added_callback symbol
...
Fixes #571 (alongside 92993fe889 )
2019-03-03 21:14:47 +01:00
rdb
92993fe889
bullet: fix assert when setting mass before shape ( #571 )
...
Requires compiling Bullet in debug mode to reproduce.
2019-03-03 21:13:36 +01:00
rdb
7f4491cb98
device: disable message loop in WinInputDeviceManager for now
...
This was a change in aadc62a96c but seems to cause other problems, see #562
2019-03-02 12:39:42 +01:00
rdb
1f9b4690e6
pgraph: fix writing to SequenceNode frame_rate property
2019-02-19 21:29:21 +01:00
rdb
6a008ae724
x11display: fix threaded crash when using get_keyboard_map()
2019-02-19 21:21:22 +01:00
rdb
ba3a826bff
gobj: fix crash reading unaligned float4 column in GeomVertexReader
...
Observed when calling flatten_strong() on model with vertex colors loaded via Assimp.
2019-02-17 13:02:56 +01:00
rdb
9bf37051ac
collide: fix _collider_sort not copied in CollisionNode copy ctor
...
See #554
2019-02-17 10:56:02 +01:00
rdb
20f0a69c75
pipeline: use decimal representation for unique thread ID on FreeBSD
...
This matches the behaviour on Linux.
2019-02-14 22:40:46 +01:00
rdb
f97ba9000b
pipeline: don't use uninitialized value for main thread unique id
...
See #554
2019-02-14 22:39:56 +01:00
rdb
18b7350400
egg: update prebuilt parser.cxx and parser.h
2019-02-12 00:31:13 +01:00
rdb
4d0970c072
pgraph: StencilAttrib.make() takes default write_mask argument
2019-02-11 23:48:00 +01:00
rdb
f741c9476f
display: fix lighting being disabled when only AmbientLight is on
2019-02-10 16:19:45 +01:00
rdb
3875cc8259
device: add proper mapping for 8bitdo N30 Pro Controller on Linux
2019-02-07 22:28:04 +01:00
tc
96bb90b5e9
cocoa: guarantee 24bit depth when Config.prc has `depth-bits` set to `1`
...
Checks if the value of Config.prc for `depth-bits` is `1` and sets it
manually to 24.
This prevents getting a 16 bit depth buffer on macos
Intended to address #501
Closes #551
2019-02-07 22:26:54 +01:00
rdb
0ef9f9bef5
device: various button/axis mapping fixes in Windows raw impl
...
Now uses a table like on Linux with the various mappings.
2019-02-06 22:06:43 +01:00
rdb
f8d7941fe8
device: fix a bad axis mapping on Linux
2019-02-06 22:03:44 +01:00
rdb
1b4035f29a
device: move HID API definitions to separate header file
2019-02-06 21:56:47 +01:00
rdb
aadc62a96c
device: fix inability to detect devices with pipelining enabled
...
This is because the message window is being created in the main thread, but there is nothing processing messages in the main thread.
2019-02-06 21:51:06 +01:00
rdb
63d2992d5e
egg: add ability to read <Tangent> with four components
...
This is not intended to be used just yet in 1.10, but already added in preparation for changes on master to support #546 . I'm just allowing Panda to parse the syntax ahead of time to reduce potential .egg incompatiblities.
2019-02-05 00:30:54 +01:00
rdb
2afd604c9d
collide: implement capsule-into-invsphere and box-into-invsphere tests
2019-02-04 23:50:53 +01:00
rdb
22cac1cdf9
device: fix stack corruption crashes on 32-bit Windows
2019-01-31 18:23:29 +01:00
rdb
0ba1235d35
ShaderGenerator: print out generated shader in spam output mode
2019-01-31 00:05:23 +01:00
rdb
0e447b7429
ShaderGenerator: do shadow map calcs in fshader if out of varyings
...
If too many shadow-casting lights are active, too many TEXCOORD varyings will be used and a shader compilation error will be displayed. Instead, Panda will now just do the calculation in the fragment shader if not enough varyings are available. It's slower, but better than crashing.
2019-01-30 23:54:22 +01:00
rdb
dc8f01df8a
ShaderGenerator: pack eye-space normal to save one varying
...
Only when normal mapping is enabled.
2019-01-30 23:51:50 +01:00
rdb
9d12a4c437
general: improvements to doxygen API reference:
...
* In C++ reference, only pick up classes defined in .h file
* Add a few excludes to C++ reference that aren't public API
* On class index pages, reduce number of columns
* Add @since for some methods/classes that are new in 1.10.0
* Fix/improve a few docstrings here and there
2019-01-23 22:24:02 +01:00
rdb
66655aae85
device: fix incorrect features when printing InputDevice
2019-01-21 15:32:22 +01:00
rdb
7968022c23
Fix some warnings comparing char against EOF
...
This is not possible on platforms where char is unsigned. In cases where fail() is checked, it is also unnecessary.
2019-01-20 00:31:43 +01:00
rdb
7d09451b2d
display: remove unused iterator variable
2019-01-19 23:08:14 +01:00
rdb
73076c7115
android: add missing include for open() definition
2019-01-19 23:04:19 +01:00
rdb
e4f0a9ce32
pgraph: allow getting NodePath from CullTraverserData in Python
2019-01-19 22:59:51 +01:00
Donny Lawrence
2c513ba1c4
Move handle_close_event() call to windowShouldClose, which only triggers when the close button is pressed by the user.
2019-01-13 19:07:43 -05:00
Sam Edwards
955081f81f
movies: Fix missing includes in {opus,vorbis}AudioCursor.cxx
2019-01-13 13:59:08 -07:00
Donny Lawrence
d51db6e39e
Fix an instance where a macOS window will stick around when trying to have it destroyed.
...
This commit also removes an extraneous call to [_window setReleasedWhenClosed], which is already set in cocoaPandaWindow's init method.
2019-01-13 11:54:56 -05:00
rdb
84a1315104
More fixes to work around broken libc++ eof() in Mac OS X 10.7
2019-01-10 21:53:02 +01:00
rdb
3ccfbfaba7
putil: fix hang reading bam due to macOS libc++ bug in istream::eof()
...
Apparently eof() in older versions of libc++ returns true if the last character has just been read, whereas the proper behavior is only to return true when attempting to read past the end of the stream. Since failbit is reliably set in all cases when reading past the length of the stream, we should only trust the result of eof() if fail() also returns true.
2019-01-09 22:56:40 +01:00
rdb
60a944e783
glgsg: fix shader inputs not being updated in esoteric case
...
Specifically, this happens if you have a custom ShaderGenerator that assigns shader inputs via the ShaderAttrib. If two objects then both have the auto-shader turned on, and the shader generator generates ShaderAttribs with the same shaders but different inputs, the inputs will not be updated properly for one of the objects.
2019-01-09 22:39:36 +01:00
rdb
886d44d15d
glgsg: fix multisampling for floating-point framebuffers
2019-01-09 22:39:05 +01:00
rdb
d1845530aa
task: fix mutex recursion when task awaiting other task ends
2019-01-09 22:12:02 +01:00
rdb
e64a342a9f
task: fix error awaiting already scheduled task
...
To reproduce this issue, try `await taskMgr.add(Task.pause(1.0))`
2019-01-09 20:10:10 +01:00
rdb
84df25cfe3
glgsg: fix sRGB support in multisample FBOs
2019-01-09 00:49:14 +01:00
Sam Edwards
0cd850fbb4
vision: Allow including from OpenCV's videoio, for 3.x+
...
This commit doesn't add buildsystem support yet.
2019-01-06 15:33:11 -07:00
rdb
d106fd6a3a
device: added checks, robustness, debug output for Windows raw input
2019-01-05 22:00:34 +01:00
rdb
7e562b0eb3
device: remove unused variables on Windows
2019-01-03 16:01:10 +01:00
rdb
8cdeb9b60b
device: fix a case issue in include statement
2019-01-03 15:34:30 +01:00
rdb
3e22578529
New branding images for 1.10.0
2019-01-03 14:44:17 +01:00
Sam Edwards
6e951773a6
pipeline: (Light)ReMutexDirect should include thread.h
...
Thread methods are used in the respective .I files, so
an incomplete forward declaration won't suffice here.
2019-01-02 01:41:25 -07:00
rdb
c365beaf11
device: hide Steam Controller on Linux while Steam is running
...
When Steam runs, it mutes all input from the Steam Controller and instead registers a virtual gamepad that obeys the Big Picture controller remapping. We want to make sure to pick that one, since the "real" Steam Controller doesn't report any events while the virtual device is active. So we carefully consider the "real" Steam Controller "inactive" if the presence of the virtual device is detected, until the virtual device is disconnected (ie. when Steam is closed) or if it turns out that it is generating events after all, in which case it gets automatically reactivated.
This is a bit of a hack, maybe there is a cleaner way of doing this.
2019-01-02 00:56:40 +01:00
rdb
dccf8074fd
android: fix compile errors in androiddisplay module
2019-01-01 22:05:26 +01:00
rdb
a02920bb42
device: detect XInput devices on start-up
...
This is needed to handle cases where XInput is being emulated, such as when running via Steam with the Steam Controller active. Steam's shim does not send out WM_INPUT_DEVICE_CHANGE events.
2019-01-01 16:27:55 +01:00
rdb
2bde2baed2
device: a couple of fixes with Windows device input
2019-01-01 16:23:16 +01:00
rdb
c61b480a41
Revert "bam2egg: support exposed joints properly"
...
This reverts commit dee4cd6201 .
Fixes #237
2018-12-31 17:07:42 +01:00
rdb
6559932c7b
ShaderTerrainMesh: silently reload texture if it has no RAM image
...
Fixes #492
2018-12-31 16:28:27 +01:00
rdb
f3ba1d317c
device: support for Steam Controller on Linux
...
Adds lgrip and rgrip button handles, which are present on Steam Controller but also on the Oculus Touch
2018-12-31 16:10:56 +01:00
rdb
4699dfcd5b
ShaderGenerator: fix toggling shadows while shader gen is on
2018-12-31 14:07:14 +01:00
rdb
83374de0ff
shader: don't use GENERIC profile to compile Cg shaders
...
Instead, make an educated guess of what the GSG we are going to be compiling this shader for wants to use as profile.
2018-12-31 14:01:26 +01:00
rdb
9382e09b7c
display: fix returning reference to temporary in shader input
...
This might cause issues when the transform cache is off.
2018-12-31 13:13:45 +01:00
rdb
8119547e90
device: add hacky detection of Trust GXT 24 as gamepad for now
2018-12-31 13:12:40 +01:00
rdb
0cfd86d0f4
glgsg: warn if Cg shader uses float4 vtx_normal
...
See #495 ; Cg's glslv profile does not handle a float4 vtx_normal well and causes garbage to be in the w coordinate.
2018-12-31 13:11:33 +01:00
rdb
42405dff2e
pnmimagetypes: fix allocation efficiency in PNG reader
...
Rather than making one allocation per row, it instead makes one allocation for all rows.
2018-12-30 20:13:12 +01:00
rdb
73083127bf
x11display: bypass compositor when switching to fullscreen mode
2018-12-30 16:59:32 +01:00
Sam Edwards
952031455c
express: Remove stray reference to DConfig
2018-12-29 02:29:56 -07:00
Sam Edwards
5d74411c37
display: Fix export/import macro for MouseAndKeyboard
...
It was moved here from device, so we should not use
EXPCL_PANDA_DEVICE anymore.
2018-12-28 20:59:14 -07:00
Sam Edwards
bc2450441d
device: Fix some includes
2018-12-28 20:59:09 -07:00
rdb
31c532387e
pgraph: remove unused weakKeyHashMap.h import
2018-12-28 21:36:16 +01:00
rdb
30446952cb
putil: remove no-longer-used WeakKeyHashMap for now
2018-12-28 21:26:46 +01:00
rdb
01915a36db
Merge branch 'master' into deploy-ng
2018-12-26 23:41:50 +01:00
rdb
981c44f636
glgsg: fix misleading errors from p3d_LightSource[].shadowMap
2018-12-26 23:31:48 +01:00
rdb
669a655366
Fix ShaderBuffer cleanup assertion with state cache disabled
2018-12-26 22:47:14 +01:00
Donny Lawrence
f29643dd14
cocoa: Prevent a deadlock when using SIMPLE_THREADS on macOS
...
Closes #491
Fixes #490
2018-12-26 22:47:14 +01:00
Donny Lawrence
0fa0ad673f
cocoa: use CVDisplayLink on macOS to sync video to display(s)
...
Closes #487
Fixes #486
2018-12-24 13:36:13 +01:00
rdb
8cb7f7d9c0
ffmpeg: don't hold AV lock while fetching first packet/frame
...
This allows loading multiple videos side-by-side more effectively.
Closes #397
2018-12-23 22:28:12 +01:00
rdb
e2574af82d
collide: create compatibility header collisionTube.h
...
This is a separate commit from the previous one in order not to confuse Git's rename tracking.
2018-12-23 22:28:12 +01:00
rdb
bd6ef2b0ea
Rename CollisionTube to CollisionCapsule (bam 6.44)
...
Adds ability to register "obsolete" names for certain types under older .bam versions, so that we are still able to write out old .bam files.
Fixes #347
2018-12-23 22:28:06 +01:00
rdb
b40ecd6c51
general: fix some old-style docstring comment blocks
2018-12-23 16:27:08 +01:00
rdb
729a2364bc
windisplay: remove unused WHQL stuff
2018-12-23 16:25:29 +01:00
rdb
9035b4a610
pgraph: don't bother calling xform() on empty BoundingVolume
2018-12-19 20:56:42 +01:00
rdb
837d3d6b6d
tform: add properties to MouseWatcherRegion
2018-12-19 20:54:48 +01:00
rdb
cbda6166a8
tform: fix MouseWatcherRegion area calculation
...
Fixes #233
2018-12-19 20:54:34 +01:00
rdb
daa3100bf1
pgraph: mark TransformState as invalid in destructor
...
This, in combination with ebef9f3de8 , makes it easier to catch issues in code that is accidentally letting get temporary TransformState objects get destroyed. It does not affect release builds.
2018-12-19 20:47:57 +01:00
rdb
ebef9f3de8
pgraph: add assertions to prevent invalid TransformState
...
If this commit is causing crashes in your code, it is probably exposing a bug in some other system that is assigning bad TransformState objects.
2018-12-19 20:45:57 +01:00
rdb
5cafe8552b
gobj: add F_rg, F_rg16, F_rg32, F_rgb32 to TexturePeeker
2018-12-19 20:26:51 +01:00
rdb
840f28ef18
glgsg: fix framebuffer_copy_to_ram format for float framebuffers
2018-12-19 12:43:39 +01:00
Mitchell Stokes
88470106b6
Merge branch 'master' into deploy-ng
2018-12-18 20:44:16 -08:00
Mitchell Stokes
587237577f
deploy-ng: Move distribution related files from direct.showtutil to direct.dist
2018-12-18 20:33:12 -08:00
Mitchell Stokes
8dcb735f2b
x11display: Release M_relative mouse when window loses focus
...
Fixes #480
2018-12-18 19:43:37 -08:00
rdb
11526852ed
glgsg: add ability to get red/rg-only floating-point renderbuffers
2018-12-18 20:00:59 +01:00
Derzsi Dániel
b7d638e53d
pgraph: fix BillboardEffect regression with older models
...
In older BAM files (version <= 6.42), _fixed_depth will have an uncertain value after loading, leading to incorrect transform calculations, which cause rendering issues (see issue #474 )
2018-12-18 16:49:00 +02:00
rdb
4c0fa1e75d
Merge branch 'master' into deploy-ng
2018-12-16 22:36:45 +01:00
rdb
6b8814f9c9
mathutil: add some properties for bounding volumes
2018-12-16 21:03:43 +01:00
rdb
65a86d1b3f
shader: warn if GLSL shader does not contain #version line
...
Shaders without #version line (which are supposed to indicate GLSL 1.10) will be interpreted differently by different drivers, so this is almost certainly a mistake. In the future, we can forbid this altogether or insert #version 110 automatically.
2018-12-16 21:01:38 +01:00
rdb
73452957ee
gobj: better handle NaNs in vertex data when calculating bounds
2018-12-16 20:43:30 +01:00
rdb
a7752da4f1
Merge branch 'master' into deploy-ng
2018-12-09 20:22:23 +01:00
rdb
a17ac6516c
pgraph: fix regression in 89236ac136
2018-12-09 20:19:40 +01:00
rdb
b5b77e5956
pgraph: fix issues with serializing empty NodePaths
2018-12-09 20:16:55 +01:00
loblao
68b7986557
NodePath: Implement replace_material
...
Closes #472
2018-12-09 19:05:25 +01:00
rdb
4213e0a50a
Remove awesomium (see #440 )
2018-12-09 15:53:23 +01:00
Mitchell Stokes
a5ad186a66
x11display: Do not grab the mouse in confined mode when the window does not have focus
2018-12-08 17:21:59 -08:00
rdb
ca9ad5f174
pgraph: fix ignored fixed_depth parameter
2018-12-07 00:57:21 +01:00
rdb
89236ac136
pgraph: fixed-depth billboards, bam additions (6.43)
...
This makes it possible to use BillboardEffect to specify a fixed distance to the camera, in order to keep them at a fixed apparent size.
This also enables serialization to .bam of the reference NodePaths of BillboardEffect and CompassEffect.
2018-12-06 23:52:58 +01:00
rdb
b38faadf5f
bullet: restore behavior of in_contact flag
...
c18abad8c3 added a call that resets the m_isInContact flag, so this resets it, for better or worse. We may want to revisit whether #349 was indeed the right fix to #250 .
Fixes #453
2018-12-06 22:29:09 +01:00
rdb
3adc7d977e
glgsg: fix compilation in double-precision mode
2018-12-04 16:16:05 +01:00
rdb
fb8a2f2af0
Revert "openal: Grab volume from manager instead of assuming max volume."
...
This reverts commit 7fb30ae070 .
See #64 for discussion.
2018-12-04 15:54:02 +01:00
rdb
3c6b6e47ec
glgsg: don't call glLineWidth with higher value than maximum
...
Officially, in core profile OpenGL 3.2+, calling it with a value higher than 1.0 is an error, but many vendors seem to let us. Apple's implementation does not. It appears that checking the maximum line width is a way to deal with this.
Fixes #466
2018-12-04 15:53:56 +01:00
rdb
301957c591
gobj: improve performance of GeomPrimitive::make_nonindexed()
...
It now no longer has to create two GeomVertexArrayDataHandle objects for every vertex it visits.
2018-12-04 12:36:03 +01:00
Donny Lawrence
8a0f438156
Get rid of the flickering that occurs on Mojave as a result of changes in the way AppKit handles view layers.
2018-12-03 23:05:05 -05:00
rdb
f2f4b4c264
Merge branch 'master' into deploy-ng
2018-12-02 16:26:13 +01:00
Younguk Kim
ad8a6b4a88
display: fix pointer casting in get_pointer()
2018-12-02 14:44:40 +09:00
rdb
c560c502b9
Merge branch 'master' into deploy-ng
2018-12-01 22:14:01 +01:00
rdb
7ed8b01a84
Merge branch 'input-overhaul'
2018-11-30 22:04:13 +01:00
rdb
585ba2d647
Prepare input API for multipointer support
2018-11-30 20:54:37 +01:00
rdb
29170278e9
device: a few InputDevice API tweaks
...
find_button() and find_axis() should not error since there is no way to find out whether a button/axis exists or not
2018-11-30 20:54:35 +01:00
rdb
2087d8ee84
device: change InputDevice enums to enum classes
2018-11-30 20:41:06 +01:00
rdb
cc08bacec5
cocoa: fix compilation error
2018-11-30 17:13:35 +01:00
David Staer
aa750f4046
Fix BulletCapsuleShape creation from Panda CollisionTube
...
Functions get_point_a() and get_point_b() appear to return the top of the cylinder section of the tube, not the tip of the endcap, making subtracting the radius unnecessary.
2018-11-29 23:24:09 +08:00
rdb
d7124d4df4
Merge branch 'master' into deploy-ng
2018-11-29 12:57:49 +01:00
rdb
97d4e32a06
general: use nassert_raise instead of nassertv(false) et al
...
Even a brief error message in the assertion is infinitely more useful to a user who is not at home in the source code, especially for assertions that may reasonably be triggered by honest user mistakes.
2018-11-28 17:35:20 +01:00
rdb
594e6b394b
chan: add various property interfaces to animation system
2018-11-28 16:46:49 +01:00
rdb
69f8f8b7b7
ffmpeg: remove call deprecated in ffmpeg's libavformat 58.9.100
2018-11-28 16:22:27 +01:00
rdb
85cb742f79
ffmpeg: drain avcodec contexts on close, fixes leak
...
Fixes #398
2018-11-28 16:14:45 +01:00
rdb
32df05b528
Fix crash when unmounting/closing multifile while streams are open
...
It's not really reasonable to expect a user to find every occurrence of a cached resource that might be using an open stream and remove it or crash otherwise.
This is fixed by keeping the multifile stream open as long as any substreams are still pointing to it, using a simplified reference counting (care is taken not to fully make StreamWrapper reference-counted, since it's not in express and existing uses should not be broken).
Fixes #449
Also see #428
2018-11-27 21:19:38 +01:00
rdb
7ed9655e06
openal: fix leak of sound data when uncache_sound on stream
...
This is an addendum to cd2ea97b1f (fix for #428 ) which did
not properly delete the SoundData when uncaching sounds that were loaded as streams.
2018-11-27 21:11:57 +01:00
rdb
5dd0db300b
flac: fix leak; properly close stream upon closing FlacAudioCursor
2018-11-27 20:59:51 +01:00
rdb
da079c5ffe
glxdisplay: remove lock in dtor, which causes crash on shutdown
2018-11-27 17:10:40 +01:00
rdb
c427357db9
pnmimage: fix PixelSpec coercion, add PixelSpec unit test
2018-11-27 17:09:40 +01:00
rdb
37d2ff64de
putil: add id and pressure fields to PointerData
2018-11-25 23:38:07 +01:00
rdb
26fcf131c9
Merge branch 'master' into input-overhaul
2018-11-25 17:10:31 +01:00
rdb
272f13023e
glgsg: unbind buffers after draw callback
...
Some libraries (eg. Kivy) leave their buffers bound, so this takes care of that.
2018-11-25 16:46:38 +01:00
rdb
7c0a77af78
display: disable depth test before DisplayRegion draw callback
...
Having depth test disabled is the default OpenGL state, and callbacks may quite reasonably expect to see the default state. Kivy seems to expect this, for one.
2018-11-24 22:45:41 +01:00
rdb
544ef137ee
x11display: fix crash with multithreading and NVIDIA driver
2018-11-24 22:44:55 +01:00
rdb
3f91615a22
glgsg: reset color write mask before calling draw callback
2018-11-23 00:23:52 +01:00
rdb
bafb0ac3db
x11display: add x-init-threads var to call XInitThreads()
...
This is off by default, but could be used if you stumble upon a race condition issue with X11 and threading.
2018-11-23 00:22:27 +01:00
rdb
8ad0cb6b57
glgsg: add support for p3d_FragData fragment output
...
This is necessary for GLSL 1.30 which deprecates gl_FragData but does not yet support layout(location=) specifiers
Also fix some function pointer checks for pre-GL 3.0
Fixes #455
2018-11-22 23:55:54 +01:00
rdb
0a1b6df648
glxdisplay: grab X11 lock around various GLX calls
2018-11-22 23:14:29 +01:00
rdb
254cea63bb
display: fix assertion in threaded pipeline
2018-11-22 23:13:58 +01:00
rdb
d093cbbb90
grutil: apply FPS meter improvements to scene graph analyzer too
...
This fixes the aspect ratio scaling issue in particular.
Fixes #456
2018-11-22 23:05:59 +01:00
rdb
ec4b0825e9
glgsg: restore more OpenGL state after draw callback
2018-11-20 12:41:43 +01:00
rdb
53cec96c07
Fix draw calls being listed under Primitive Setup in PStats, etc.
...
Previously, all draw calls would be grouped under "Primitive Setup", rather than under the appropriate bin collector. This commit fixes that and adds a few other useful collectors as well.
2018-11-20 12:41:30 +01:00
rdb
c18cdcf36e
display: add support for debug markers, to help with debugging
...
This is useful when running Panda in a tool like apitrace, so that the different calls in a frame are ordered in a neat hierarchy.
2018-11-20 12:41:20 +01:00
rdb
d902ea5ce4
display: don't render window if all its DRs are inactive
...
This is an optimization, which will skip begin_frame/end_frame for a buffer that isn't going to have anything rendered to it. Affects the RenderPipeline.
2018-11-20 00:39:44 +01:00
rdb
e759a1b605
display: give DisplayRegions a more recognisable name in PStats
2018-11-19 21:01:43 +01:00
rdb
8f73f95e79
display: make PStats clear collectors per-window
2018-11-19 20:02:38 +01:00
Sam Edwards
c3d52eeee1
express: Fix compiler error with HAVE_TAR
2018-11-12 17:24:15 -07:00
rdb
3d7fcf2ce9
Merge branch 'master' into deploy-ng
2018-11-12 18:31:43 +01:00
rdb
074c5187b0
Adopt new WindowProperties(size=(x, y), ...) short-hand
...
This is intended as replacement for WindowProperties.size(x, y), which is deprecated since it conflicts with the `size` property. See #444 .
2018-11-12 17:53:53 +01:00
rdb
d62c2bf132
Remove unfinished native COLLADA loader
2018-11-12 12:02:08 +01:00