portal64-still-alive/tools/level_scripts
Matt Penny 9822ffeac9 Support precise (i.e., rotated) culling of static geometry (#73)
Standard culling is quite coarse, for performance reasons:
* Only uses axis-aligned bounding boxes
* One visible object in a BVH node will make all others in the same node visible

These properties allow the bounding boxes of rotated objects to clip through
the back of portals to be considered visible, causing improper rendering.

This commit introduces a new optional argument for `@static` level
objects: `precise_culling`. Static geometry marked for precise culling
will be culled based on its exact (i.e., rotated) bounding box, in the
same way dynamic/animated geometry is.

Precise culling is more expensive than standard culling so it is opt-in.
It is intended only for the few situations that can hit the edge cases
described above.
2024-07-26 18:47:58 -04:00
..
animation.lua Read level animation sound from first specifying bone, and play from armature center 2024-03-13 01:03:41 -04:00
collision_export.lua Autogenerate static collision for fizzler sides (#70) 2024-06-06 23:39:56 -04:00
dynamic_collision_export.lua Animated surfaces can now recieve portals 2023-01-04 08:39:08 -07:00
entities.lua Autogenerate static collision for fizzler sides (#70) 2024-06-06 23:39:56 -04:00
portal_surfaces.lua Only offset portal surface when trying decals are on the same surface 2023-11-26 21:20:11 -07:00
room_export.lua More work on level generation via luascript 2022-12-23 19:20:25 -07:00
signals.lua fix fizzler optional signals generating unnecessary signals. 2024-03-02 03:19:44 +01:00
static_export.lua Support precise (i.e., rotated) culling of static geometry (#73) 2024-07-26 18:47:58 -04:00
subtitle_generate.py Confirm when loading game while in a level 2024-03-24 20:50:03 -04:00
trigger.lua fix fizzler optional signals generating unnecessary signals. 2024-03-02 03:19:44 +01:00
util.lua Generate cutscenes and logic from yaml files instead of blend files 2023-09-02 19:31:24 -06:00
world.lua Autogenerate static collision for fizzler sides (#70) 2024-06-06 23:39:56 -04:00
yaml_loader.lua Generate cutscenes and logic from yaml files instead of blend files 2023-09-02 19:31:24 -06:00