PhysX work

This commit is contained in:
2025-07-11 01:39:46 +02:00
parent 7e354b0417
commit d5a21cb3ee
7 changed files with 169 additions and 570 deletions

View File

@@ -22,7 +22,7 @@ Scene :: struct {
mode: Engine_Mode;
physx_scene: *PhysX.PxScene;
physx_scene: PhysX_Scene;
using custom_fields: _Custom_Scene_Fields;
}
@@ -76,8 +76,6 @@ load_scene :: (name: string, make_current: bool = true) -> *Scene {
next_entity_id = cast(Entity_Id)(highest + 1);
update_transforms(scene);
calculate_aabbs(scene);
make_sure_nothing_collides(scene);
if engine.procs.on_scene_loaded != null {
engine.procs.on_scene_loaded(scene, engine.mode);
@@ -144,7 +142,7 @@ unload_scene :: (scene: *Scene) {
destroy_entity(e);
}
PhysX.PxScene_release(scene.physx_scene);
deinit_physx_scene(scene);
free(scene.name);
fini(*scene.pool);
@@ -195,7 +193,7 @@ create_scene :: (name: string = "", max_entities: s64 = 256) -> *Scene {
array_reserve(*scene.entities, max_entities);
scene.physx_scene = create_physx_scene();
init_physx_scene(scene);
scene.directional_light.color_and_intensity = .{1,1,1,2};
scene.directional_light.direction = to_v4(normalize(Vector3.{0.4, -0.7, 0.4}));