Commit Graph

10574 Commits

Author SHA1 Message Date
rdb 71b8bceb79 task: allow overriding methods of PythonTask 2019-03-04 22:58:50 +01:00
Q Misell 05eaf930b1 bullet: make suspension rest length of vehicle adjustable
Fixes #569
2019-03-04 17:01:38 +01:00
rdb cbb3c182a5 Merge branch 'release/1.10.x' 2019-03-04 16:57:52 +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 d11d4e0d85 display: don't render shadow cameras whose frusta are out of view
This is done by collecting bounding volumes for each camera in a scene, and then only rendering a shadow camera if at least one of those bounding volumes overlaps with the shadow camera bounding volume.

Closes #560
2019-02-19 21:59:04 +01:00
rdb 78425b245e pgraph: fix shadow buffer leak when light passed via shader input
This is an extension of the fix in 9a40febdb9, but that only applied when the light was passed to the shader via LightAttrib, and not via shader inputs.

ParamNodePath is not the ideal place to put this, but it's convenient (and probably more efficient than putting it into ShaderAttrib).
2019-02-19 21:53:31 +01:00
rdb 2574d85049 Merge branch 'release/1.10.x' 2019-02-19 21:38:08 +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 9d42e25539 pgraph: make ParamNodePath::get_value() return a copy
See #554.
2019-02-19 20:12:06 +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 6d927aaa52 Merge tag 'v1.10.1' 2019-02-14 23:21:57 +01:00
rdb db8221a03d pgraph: remove pointless lock grab from RenderAttrib destructor 2019-02-14 23:19:51 +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 ff2fbe60ef pipeline: revert change causing shutdown crash with DEBUG_THREADS
We actually need to leak this lock, because we need to call this at static destruction time, and we can't guarantee static destruction order.

This reverts commit afed80e83a.
2019-02-14 21:43:21 +01:00
Brian Lach 95f3e30d37 ShaderAttrib: add set_shader_inputs() for C++ users
Closes #521
2019-02-12 01:16:15 +01:00
rdb 80bb5c09fe Merge branch 'release/1.10.x' 2019-02-12 01:13: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 11b5f09819 general: replace remaining references to ConditionVarFull. 2019-02-11 16:23:16 +01:00
rdb afed80e83a pipeline: use constant-initi static MutexImpl for global debug lock 2019-02-11 16:23:16 +01:00
rdb fb5191e812 pipeline: unify ConditionVarFull and ConditionVar
See #550.  Now that we use the Vista API for condition variables, the only place where the distinction is still relevant is Windows XP, and it's just not worth it for that one corner case.
2019-02-11 16:23:10 +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 89392f0e2d dtoolbase: new mutex and condition variable impl on Windows
This uses SRWLock on Vista and above, and uses a hand-rolled implementation on Windows XP that uses Events (and a spinlock, if this is a multi-core system).

Since SRWLocks aren't recursive, ReMutexWin32Impl has been added to implement recursive mutices, using old-fashioned critical sections.

MutexImpl now has a constexpr constructor on all implementations.
2019-02-07 00:20:59 +01:00
rdb c4f52bfdfe pipeline: don't require holding lock for ConditionVar.notify()
As far as I know, none of the implementations strictly require this, and this may cause the waiting thread to wake up only for it to immediately have to wait for the lock again.

This change brings our implementation closer to C++11 std::condition_variable semantics.
2019-02-06 23:00:12 +01:00
rdb 36dd8889e7 Merge branch 'release/1.10.x' 2019-02-06 22:52:19 +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 e967368468 collide: add capsule-into-polygon test
Need to find a better solution for the interior point calculation when the capsule is hitting a polygon edge with the cylindrical part.  The current approach pushes the capsule back too much.
2019-02-04 23:45:19 +01:00
rdb 16d5c27a57 collide: remove unused legacy_to_3d method 2019-02-04 23:38:02 +01:00
rdb 22cac1cdf9 device: fix stack corruption crashes on 32-bit Windows 2019-01-31 18:23:29 +01:00
rdb 86c266fd88 Merge branch 'release/1.10.x' 2019-01-31 00:58: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 d8891674e3 Merge branch 'release/1.10.x' 2019-01-23 23:28:28 +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