|
Nebula
|
Diverse functions for manipulating physics actors.
Implements a resource loader for physics actors.
Physics::Geometry.
Physics::Formats.
Physics::DebugUI.
Physics::Cooking.
callback interfaces for PhysX
Cooks geometry descriptions into PhysX meshes.
Asset readers which fill the geometry descriptions.
Format agnostic geometry descriptions handed to the physics cooking layer.
Physics receives plain geometry data and does not know about any file format. A project registers a GeometryLoader which fills these descriptions from whatever asset format it uses.
Classes | |
| struct | Actor |
| class | ActorContext |
| struct | ActorId |
| struct | ActorInfo |
| struct | ActorResourceId |
| struct | Aggregate |
| class | AggregateContext |
| struct | AggregateId |
| struct | AggregateInfo |
| struct | AggregateResourceId |
| class | Allocator |
| struct | BodyDescription |
| A physics body description. More... | |
| struct | BodyInfo |
| struct | Character |
| class | CharacterContext |
| struct | CharacterCreateInfo |
| struct | CharacterId |
| struct | ColliderDescription |
| A collider description / create info. More... | |
| struct | Constraint |
| struct | ConstraintId |
| struct | ConstraintInfo |
| struct | ConstraintResourceId |
| struct | ContactEvent |
| struct | CookedConvex |
| A cooked convex hull together with the bone it belongs to. More... | |
| struct | DebugDrawInterface |
| struct | DebugState |
| class | ErrorCallback |
| struct | GeometryLoader |
| Holds function pointers for reading meshes and heightfields from resources. More... | |
| struct | HeightFieldInput |
| Height field samples for the cooking layer. More... | |
| struct | Material |
| struct | MeshGeometryInput |
| Triangle geometry for the cooking layer. More... | |
| struct | PhysicsResourceId |
| class | PhysxState |
| struct | Scene |
| physx scene classes, foundation and physics are duplicated here for convenience instead of static getters, might be removed later on More... | |
| struct | Shape |
| struct | ShapeHandle |
| struct | ShapeId |
| class | StreamActorPool |
| class | VisualDebugger |
| Class that communicates with the physics visual debugger program. More... | |
Typedefs | |
| using | CharacterCollision = Util::BitField<CharacterCollisionBitsMax> |
| using | UpdateFunctionType = void (*) (const Actor&) |
| using | EventCallbackType = void (*) (const Util::Array<ContactEvent>&) |
Enumerations | |
| enum class | IndexType { InvalidIndexType = 0 , Index16 , Index32 } |
| enum | PhysicsIdType { ActorIdType , MeshIdType } |
| enum | ActorType { Static , Kinematic , Dynamic } |
| enum | CharacterCollisionBits { Sides = 0 , Up = 1 , Down = 2 , CharacterCollisionBitsMax } |
Functions | |
| static bool | IsKinematic (PxRigidActor *actor) |
| Kinematic is a rigid body flag, and the actors tracked here can be static, so the actor kind has to be checked before the flag is read. | |
| static void | HashMix (uint64_t &hash, uint64_t value) |
| FNV-1a hash. | |
| static uint64_t | HashFloat (float value) |
| static uint64_t | ColliderGeometryHash (const ColliderDescription &desc) |
| Hash of the parts of a collider description that decide the cooked geometry. | |
| static bool | BuildGeometry (const ColliderDescription &desc, PxGeometryHolder &out) |
| static PxMaterial * | ResolveShapeMaterial (IndexT materialId) |
| static float | ResolveShapeDensity (IndexT materialId) |
| static void | ApplyShapeFlags (PxShape *shape, bool isTrigger) |
| static void | ApplyShapeFilterData (PxShape *shape, ActorId actor) |
| word0 is the collision group and word1 the feedback, which is what the simulation filter reads | |
| static void | ApplyShapeState (Shape &shape, const ColliderDescription &desc) |
| Apply the material, flags and filter data of a description onto an existing shape. | |
| static void | ApplyMass (ActorId actor) |
| Recompute the mass and inertia of a body. | |
| bool | CookMesh (const MeshGeometryInput &input, PxGeometryHolder &out) |
| Util::Array< CookedConvex > | CookApproxSkin (const MeshGeometryInput &input) |
| Cook one convex hull per bone from skinned geometry. | |
| bool | CookHeightField (const HeightFieldInput &input, float heightRange, float targetSizeX, float targetSizeZ, PxGeometryHolder &out) |
| bool | CookMesh (const MeshGeometryInput &input, physx::PxGeometryHolder &out) |
| Cook geometry into a triangle mesh or a convex mesh, depending on the topology. | |
| bool | CookHeightField (const HeightFieldInput &input, float heightRange, float targetSizeX, float targetSizeZ, physx::PxGeometryHolder &out) |
| Cook height field samples into a physx height field. | |
| void | SetDebugDrawInterface (DebugDrawInterface const &drawInterface) |
| void | UpdateDebugDrawingParameters () |
| void | EnableDebugDrawing (bool enabled) |
| void | ApplyBounds (PxBounds3 const &box) |
| void | DebugVisualizeScene (PxScene *scene) |
| bool | CheckAndResetModified (Core::CVar *cvar) |
| void | DrawPhysicsDebug () |
| void | RenderUI (Math::mat4 const &cameraViewTransform) |
| void | RenderMaterialsUI () |
| void | RegisterDefaultGeometryLoader () |
| Register the compiled-in readers as the geometry loader. | |
| void | SetGeometryLoader (const GeometryLoader &loader) |
| register the geometry loader to use | |
| const GeometryLoader & | GetGeometryLoader () |
| get the currently registered geometry loader | |
| SizeT | IndexSize (Physics::IndexType type) |
| Byte size of an index type. | |
| static void | CollectActiveActors (Physics::Scene &scene) |
| Fills the scene with the actors PhysX reports active. | |
| static void | PreSceneUpdates (Physics::Scene &scene) |
| static void | PostSceneUpdates (Physics::Scene &scene) |
| static PxShape * | GetShapeCopy (PxShape *shape, Math::vec3 const &scale) |
| static PxShape * | CreateColliderShape (physx::PxGeometryHolder geometry, physx::PxMaterial *material, physx::PxTransform const &trans, const Util::String &colliderName, bool exclusive) |
| static void | AddCollider (physx::PxGeometryHolder geometry, IndexT material, const Math::transform &trans, const char *name, const Util::String &colliderName, BodyInfo &bodyInfo, const Util::StringAtom &tag, Ids::Id32 entry) |
| static void | AddMeshColliders (PhysicsResource::MeshColliderT *colliderNode, Math::transform const &nodeTransform, Util::String nodeName, IndexT materialIdx, const Util::StringAtom &tag, Ids::Id32 entry, BodyInfo &targetBody) |
| static void | AddHeightField (PhysicsResource::HeightFieldColliderT *colliderNode, Math::transform const &nodeTransform, Util::String nodeName, IndexT materialIdx, const Util::StringAtom &tag, Ids::Id32 entry, BodyInfo &targetBody) |
| __ImplementInterfaceSingleton (Physics::VisualDebugger) | |
| void | LoadMaterialTable (const IO::URI &materialTable) |
| void | Setup () |
| initialize the physics subsystem and create a default scene | |
| void | ShutDown () |
| close the physics subsystem | |
| IndexT | CreateScene () |
| void | DestroyScene (IndexT sceneId) |
| Physics::Scene & | GetScene (IndexT idx) |
| void | SetEventCallback (EventCallbackType callback, IndexT sceneId) |
| void | SetActiveActorCallback (UpdateFunctionType callback, IndexT sceneId=0) |
| called once per step for every actor PhysX reported active on that step | |
| void | RenderDebug () |
| render a debug visualization of the level | |
| void | LoadCollisionFilters () |
| Physics::Material & | GetMaterial (IndexT idx) |
| void | SetOnSleepCallback (Util::Delegate< void(ActorId *id, SizeT num)> const &callback) |
| void | SetOnWakeCallback (Util::Delegate< void(ActorId *id, SizeT num)> const &callback) |
| IndexT | SetPhysicsMaterial (Util::StringAtom name, float staticFriction, float dynamicFriction, float restitution, float density) |
| IndexT | LookupMaterial (Util::StringAtom name) |
| SizeT | GetNrMaterials () |
| void | Step (Timing::Time delta) |
| perform a sync simulation step on every scene | |
| void | Step (Timing::Time delta, IndexT scene) |
| one sync simulation step of a single scene. Actor reads and writes have to happen outside of this | |
| ActorId | CreateActorInstance (Physics::ActorResourceId id, Math::transform const &trans, Physics::ActorType type, uint64_t userData, IndexT scene) |
| void | DestroyActorInstance (Physics::ActorId id) |
Variables | |
| Util::Array< Character > | controllers |
| Ids::IdGenerationPool | controllerIdPool |
| Core::CVar * | cl_debug_draw_physics = Core::CVarCreate(Core::CVarType::CVar_Int, "cl_debug_draw_physics", "0", "Set to 1 will enable physics debug drawing") |
| Core::CVar * | cl_physics_draw_scale = Core::CVarCreate(Core::CVar_Float, "cl_physics_draw_scale", "1.0", "Visualization drawing scale.") |
| Core::CVar * | cl_physics_draw_scale_points = Core::CVarCreate(Core::CVar_Float, "cl_physics_draw_scale_points", "2.0", "Point visualization drawing scale.") |
| Core::CVar * | cl_physics_draw_scale_lines = Core::CVarCreate(Core::CVar_Float, "cl_physics_draw_scale_lines", "2.0", "Line visualization drawing scale.") |
| Core::CVar * | cl_physics_draw_scale_triangles = Core::CVarCreate(Core::CVar_Float, "cl_physics_draw_scale_triangles", "2.0", "Triangle visualization drawing scale.") |
| Core::CVar * | cl_physics_draw_world_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_world_axes", "0", "Visualize the world axes. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_body_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_body_axes", "0", "Visualize a bodies axes. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_body_mass_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_body_mass_axes", "0", "Visualize a body's mass axes. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_body_lin_velocity = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_body_lin_velocity", "0", "Visualize the bodies linear velocity. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_body_ang_velocity = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_body_ang_velocity", "0", "Visualize the bodies angular velocity. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_contact_point = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_contact_point", "0", " Visualize contact points. Will enable contact information. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_contact_normal = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_contact_normal", "0", "Visualize contact normals. Will enable contact information. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_contact_error = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_contact_error", "0", " Visualize contact errors. Will enable contact information. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_contact_force = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_contact_force", "0", "Visualize Contact forces. Will enable contact information. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_actor_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_actor_axes", "0", "Visualize actor axes. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_collision_aabbs = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_aabbs", "0", "Visualize bounds (AABBs in world space). Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_collision_shapes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_shapes", "1", "Shape visualization. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_collision_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_axes", "0", "Shape axis visualization. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_collision_compounds = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_compounds", "0", "Compound visualization (compound AABBs in world space). Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_collision_fnormals = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_fnormals", "0", "Mesh & convex face normals. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_collision_edges = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_edges", "0", "Active edges for meshes. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_collision_static = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_static", "0", "Static pruning structures. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_collision_dynamic = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_dynamic", "0", "Dynamic pruning structures. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_joint_local_frames = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_joint_local_frames", "0", "Visualize joint local axes. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_joint_limits = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_joint_limits", "0", "Visualize joint limits. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_cull_box = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_cull_box", "0", "Visualize culling box. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar * | cl_physics_draw_mbp_regions = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_mbp_regions", "0", "MBP regions. Needs cl_debug_draw_physics set to 1.") |
| DebugState | dstate |
| static GeometryLoader | geometryLoader |
| PhysxState | state |
| StreamActorPool * | actorPool = nullptr |
| Ptr< Physics::StreamActorPool > | actorLoader |
| using Physics::EventCallbackType = void (*) (const Util::Array<ContactEvent>&) |
| using Physics::UpdateFunctionType = void (*) (const Actor&) |
| enum Physics::ActorType |
|
strong |
| Physics::__ImplementInterfaceSingleton | ( | Physics::VisualDebugger | ) |
|
static |
|
static |
|
static |
| void Physics::ApplyBounds | ( | PxBounds3 const & | box | ) |
|
static |
Recompute the mass and inertia of a body.
A mass of 0 means the mass is derived from the shape volumes and the material densities, otherwise the mass is distributed over the shapes.
|
static |
word0 is the collision group and word1 the feedback, which is what the simulation filter reads
|
static |
|
static |
Apply the material, flags and filter data of a description onto an existing shape.
|
static |
| bool Physics::CheckAndResetModified | ( | Core::CVar * | cvar | ) |
|
static |
Fills the scene with the actors PhysX reports active.
|
static |
Hash of the parts of a collider description that decide the cooked geometry.
The transform is not hashed, because a shape can be moved without recooking, and neither is the material, which is applied without rebuilding the shape.
| Util::Array< CookedConvex > Physics::CookApproxSkin | ( | const MeshGeometryInput & | input | ) |
Cook one convex hull per bone from skinned geometry.
| bool Physics::CookHeightField | ( | const HeightFieldInput & | input, |
| float | heightRange, | ||
| float | targetSizeX, | ||
| float | targetSizeZ, | ||
| physx::PxGeometryHolder & | out ) |
Cook height field samples into a physx height field.
heightRange is the vertical span in meters and targetSizeX / targetSizeZ the world extent of the field
| bool Physics::CookHeightField | ( | const HeightFieldInput & | input, |
| float | heightRange, | ||
| float | targetSizeX, | ||
| float | targetSizeZ, | ||
| PxGeometryHolder & | out ) |
| bool Physics::CookMesh | ( | const MeshGeometryInput & | input, |
| physx::PxGeometryHolder & | out ) |
Cook geometry into a triangle mesh or a convex mesh, depending on the topology.
| bool Physics::CookMesh | ( | const MeshGeometryInput & | input, |
| PxGeometryHolder & | out ) |
| ActorId Physics::CreateActorInstance | ( | Physics::ActorResourceId | id, |
| Math::transform const & | trans, | ||
| Physics::ActorType | type, | ||
| uint64_t | userData, | ||
| IndexT | scene ) |
|
static |
| IndexT Physics::CreateScene | ( | ) |
| void Physics::DebugVisualizeScene | ( | PxScene * | scene | ) |
| void Physics::DestroyActorInstance | ( | Physics::ActorId | id | ) |
| void Physics::DestroyScene | ( | IndexT | sceneId | ) |
| void Physics::DrawPhysicsDebug | ( | ) |
| void Physics::EnableDebugDrawing | ( | bool | enabled | ) |
| const GeometryLoader & Physics::GetGeometryLoader | ( | ) |
get the currently registered geometry loader
| SizeT Physics::GetNrMaterials | ( | ) |
| Physics::Scene & Physics::GetScene | ( | IndexT | idx | ) |
|
static |
|
inlinestatic |
|
inlinestatic |
FNV-1a hash.
|
inline |
Byte size of an index type.
|
static |
Kinematic is a rigid body flag, and the actors tracked here can be static, so the actor kind has to be checked before the flag is read.
| void Physics::LoadCollisionFilters | ( | ) |
| void Physics::LoadMaterialTable | ( | const IO::URI & | materialTable | ) |
| IndexT Physics::LookupMaterial | ( | Util::StringAtom | name | ) |
|
static |
|
static |
| void Physics::RegisterDefaultGeometryLoader | ( | ) |
Register the compiled-in readers as the geometry loader.
A project that uses another format calls Physics::SetGeometryLoader() instead.
| void Physics::RenderDebug | ( | ) |
render a debug visualization of the level
| void Physics::RenderMaterialsUI | ( | ) |
| void Physics::RenderUI | ( | Math::mat4 const & | cameraViewTransform | ) |
|
static |
|
static |
| void Physics::SetActiveActorCallback | ( | UpdateFunctionType | callback, |
| IndexT | sceneId ) |
called once per step for every actor PhysX reported active on that step
| void Physics::SetDebugDrawInterface | ( | DebugDrawInterface const & | drawInterface | ) |
| void Physics::SetEventCallback | ( | EventCallbackType | callback, |
| IndexT | sceneId ) |
| void Physics::SetGeometryLoader | ( | const GeometryLoader & | loader | ) |
register the geometry loader to use
| void Physics::SetOnSleepCallback | ( | Util::Delegate< void(ActorId *id, SizeT num)> const & | callback | ) |
| void Physics::SetOnWakeCallback | ( | Util::Delegate< void(ActorId *id, SizeT num)> const & | callback | ) |
| IndexT Physics::SetPhysicsMaterial | ( | Util::StringAtom | name, |
| float | staticFriction, | ||
| float | dynamicFriction, | ||
| float | restitution, | ||
| float | density ) |
| void Physics::Setup | ( | ) |
initialize the physics subsystem and create a default scene
| void Physics::ShutDown | ( | ) |
close the physics subsystem
| void Physics::Step | ( | Timing::Time | delta | ) |
perform a sync simulation step on every scene
| void Physics::Step | ( | Timing::Time | delta, |
| IndexT | scene ) |
one sync simulation step of a single scene. Actor reads and writes have to happen outside of this
| void Physics::UpdateDebugDrawingParameters | ( | ) |
| Ptr<Physics::StreamActorPool> Physics::actorLoader |
| StreamActorPool * Physics::actorPool = nullptr |
| Core::CVar* Physics::cl_debug_draw_physics = Core::CVarCreate(Core::CVarType::CVar_Int, "cl_debug_draw_physics", "0", "Set to 1 will enable physics debug drawing") |
| Core::CVar* Physics::cl_physics_draw_actor_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_actor_axes", "0", "Visualize actor axes. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_body_ang_velocity = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_body_ang_velocity", "0", "Visualize the bodies angular velocity. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_body_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_body_axes", "0", "Visualize a bodies axes. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_body_lin_velocity = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_body_lin_velocity", "0", "Visualize the bodies linear velocity. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_body_mass_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_body_mass_axes", "0", "Visualize a body's mass axes. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_collision_aabbs = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_aabbs", "0", "Visualize bounds (AABBs in world space). Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_collision_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_axes", "0", "Shape axis visualization. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_collision_compounds = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_compounds", "0", "Compound visualization (compound AABBs in world space). Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_collision_dynamic = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_dynamic", "0", "Dynamic pruning structures. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_collision_edges = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_edges", "0", "Active edges for meshes. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_collision_fnormals = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_fnormals", "0", "Mesh & convex face normals. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_collision_shapes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_shapes", "1", "Shape visualization. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_collision_static = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_collision_static", "0", "Static pruning structures. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_contact_error = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_contact_error", "0", " Visualize contact errors. Will enable contact information. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_contact_force = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_contact_force", "0", "Visualize Contact forces. Will enable contact information. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_contact_normal = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_contact_normal", "0", "Visualize contact normals. Will enable contact information. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_contact_point = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_contact_point", "0", " Visualize contact points. Will enable contact information. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_cull_box = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_cull_box", "0", "Visualize culling box. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_joint_limits = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_joint_limits", "0", "Visualize joint limits. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_joint_local_frames = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_joint_local_frames", "0", "Visualize joint local axes. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_mbp_regions = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_mbp_regions", "0", "MBP regions. Needs cl_debug_draw_physics set to 1.") |
| Core::CVar* Physics::cl_physics_draw_scale = Core::CVarCreate(Core::CVar_Float, "cl_physics_draw_scale", "1.0", "Visualization drawing scale.") |
| Core::CVar* Physics::cl_physics_draw_scale_lines = Core::CVarCreate(Core::CVar_Float, "cl_physics_draw_scale_lines", "2.0", "Line visualization drawing scale.") |
| Core::CVar* Physics::cl_physics_draw_scale_points = Core::CVarCreate(Core::CVar_Float, "cl_physics_draw_scale_points", "2.0", "Point visualization drawing scale.") |
| Core::CVar* Physics::cl_physics_draw_scale_triangles = Core::CVarCreate(Core::CVar_Float, "cl_physics_draw_scale_triangles", "2.0", "Triangle visualization drawing scale.") |
| Core::CVar* Physics::cl_physics_draw_world_axes = Core::CVarCreate(Core::CVar_Int, "cl_physics_draw_world_axes", "0", "Visualize the world axes. Needs cl_debug_draw_physics set to 1.") |
| Ids::IdGenerationPool Physics::controllerIdPool |
| Util::Array<Character> Physics::controllers |
| DebugState Physics::dstate |
|
static |
| PhysxState Physics::state |