portal64-still-alive/tools
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
..
level_scripts Support precise (i.e., rotated) culling of static geometry (#73) 2024-07-26 18:47:58 -04:00
auto_uv.py Implement auto uv as a blender script 2023-06-14 22:09:11 -06:00
bake_lighting.py Work on level light baking 2023-06-24 21:11:15 -06:00
debug_simplex.py Fix crash around collision of objects 2023-07-13 08:00:43 -06:00
debug_surface_builder.py fix some surface generator bugs after refactor 2023-08-28 12:17:07 -06:00
dump_rcp_state.py bug fixes 2022-07-12 20:35:46 -06:00
export_fbx.py Animate chamber 14 stairs 2024-03-11 19:38:53 -04:00
export_level.lua Support precise (i.e., rotated) culling of static geometry (#73) 2024-07-26 18:47:58 -04:00
font_converter.js Add support for fonts with more than 256 chracters 2023-10-28 12:31:30 -06:00
generate_animation_ld.js Work on portal gun pedestal 2022-08-04 12:58:10 -06:00
generate_dynamic_animated_model_list.js Have profiler label nested display lists 2023-12-12 18:00:47 -07:00
generate_dynamic_model_list.js Have profiler label nested display lists 2023-12-12 18:00:47 -07:00
generate_level_ld.js Start work on dynamic loading of models 2023-07-14 23:10:48 -06:00
generate_level_list.js Fix pointers after loading level from cart 2022-07-24 16:03:29 -06:00
generate_sound_config.js Start work on level triggers 2022-05-19 22:07:01 -06:00
generate_sound_ids.js fix audio language sorting 2023-11-29 21:49:22 +01:00
jsox.js work on dynamic signage 2022-08-09 12:59:09 -06:00
profile_parser.js more profile work 2023-12-23 18:15:51 -07:00
romfix64.sh relocate romfix.sh 2023-12-17 17:57:38 -06:00
setup.sh Remove libnustd from setup files. 2024-03-28 02:35:32 +01:00
zimage_formatter.js more profile work 2023-12-23 18:15:51 -07:00