Skip to content

Jolt physics implementation#1690

Open
marauder2k7 wants to merge 28 commits intoTorqueGameEngines:developmentfrom
marauder2k9-torque:Jolt-Physics-implementation
Open

Jolt physics implementation#1690
marauder2k7 wants to merge 28 commits intoTorqueGameEngines:developmentfrom
marauder2k9-torque:Jolt-Physics-implementation

Conversation

@marauder2k7
Copy link
Contributor

This is linked to the VCPKG pr thats why there are so many changes but this is also a jolt physics initial implementation

Replaces all our 3rd party dependencies with vcpkg installed dependencies.

Some will be downloaded eg assimp/libpng
includes now dont go into sub folders for the most part
this borked before but check and see if its working again
DSound has since been deprecated and xaudio2 would require us to write our own 3d spatialization and mixer
Load devices the same way we load in the gfx end
setup sfx provider
run sfx devices on startup
various fixes around sfx null device
added the bitrate and samplerate globals
added the hrtf global code is in to use this but not setup yet
Adds speed of sound to the sound system
SFXAmbience now has a property for speed of sound for different mediums, can also be set directly
Adds reverb functionality to sound system

TODO: Make a proper sfxMixer api that will route voices to channels that have the effects slots added to them. this is just a place holder for a more complete implementation
We needed to add a safety around the simd math libraries
Mac now automatically remaps keys and modifies the incoming string to reflect it

automatically converts:
Ctrl -> Cmd
Alt -> Option

if you absolutely need a specific set on macos you will still need to check the platform in script and set the required key otherwise this will allow menus to be built with just providing the windows key or the mac key and it will display correclty for the platform.
convert objectstring to upper case to look better in the ui
most of the functionality works just finalizing the transforms that seem to be offset from our own
bodies now handle up to creation an stepping the world but rendered shapes do not follow the sim result so that needs sorted. Also need more safeties
Everything now works similar to bullet and other plugins, few tweaks still need to be made mostly around rigidshape
This was probably causing an error on windows as well
mac and linux oses have other requirements when you want to build with the debugrenderer for example they both require vulkan sdk and vulkan dependencies. This should be disabled on those platforms for now.
safely teardown the multithreaded simulation through a deferred destroyworld

Server was never calling destroyworld
added safeties around the other collision shapes
fixed movekinematic
get center of mass transform, not used the way it was in bullet but could come in handy
fixed terrain heightfield collision generation
add primbuild for geometry debugrendering so we can cut down on drawcall count (was previously doing it each triangle)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant