Click the green flag WASD and Arrows Use this link if you think the project is too slow on Scratch: https://turbowarp.org/762163512?stuck&hqpen&fps=60
A NOTE OF THANKS: I may have done a ton of work to make this but @Chrome_Cat did a ton cubed of the work. More on that in the credits below. WHAT IS THIS?: This framework, upon initialization, compiles the polygons, autopartitions them, and splits them as necessary. It does this only once. These partitions are stored in a tree which is traversed real-time. It is pretty fast, especially for large scenes. However, any movement in a polygon requires a re-calculating of the tree(or at least re-calculating of all nodes below). Because of this, the polygons are static. I also baked the diffuse lighting. This scene has zero splits, but if you experiment around a bit, you can get some splits. Be careful with grouping a bunch of randomly oriented objects together because it can result in a (very) large amount of splits. FURTHER NOTES: I shared this because I thought it would be cool :) Anyways, I recently finished adapting @Chrome_Cat's 2D BSP sort to 3D. I kind of did so out of impatience. The greedy pivot selection is a must-have! Do remember, I did not code it though. FINAL THOUGHTS AND WHAT IS NEXT: I am still testing around and whatnot but eventually I will have to chose a solid path for the release of Gamma Engine. This framework here is just a fraction of what I will probably need. I am looking into implementing portal occlusion culling and also baked shadows next! :O CREDITS: 3D BSP sort adapted from @Chrome_Cat's 2D BSP sort. Compare the code; the code can be found here: https://scratch.mit.edu/projects/714869495/ Triangle filler by @-Rex-():