Turbowarp link: https://turbowarp.org/1001511631?stuck&hqpen&fps=60 Use turbowarp and click the green flag. Wait for the scene to load(can take a few minutes on TW). WASDQE for movement Arrow Keys for rotation
WHAT IS THIS? This is a Gamma Engine development save which uses a new binary space partitioning algorithm* which generates a BSP tree and pushes the polygons into convex groupings in the leaves. *Edited. @Chrome_Cat brought to my attention that this leafy type would be considered algorithmic, not heuristic. Oops. This "leafy BSP tree" provides a robust structure for querying collisions on complex scenes. Collision detection using the BSP tree is implemented in this project for raytracing the scene. By switching from ray-octree to ray-BSP, this project has undergone a significant block count reduction. Octrees are also much heavier in space complexity. Leafy BSP trees also naturally form sectors, which can be used to form neighborhoods using adjacency queries. Sectors and adjacency are incredibly powerful concepts brought by BSP. This project stores and renders the first map from Quake. I use @52525rr's fast image scanner to retrieve a color value from textures. Dynamic objects are removed for the time being. Consequently, some doors are missing. There may be some issues with how the lighting turned out and how I wanted it to look. I didn't spend too much time trying to perfect the lighting. WHAT'S NEXT? I'm thinking of adding a PVS structure, as well as implementing a fast frustum culling algorithm, both of which take advantage of the sectorization of the scene. CREDITS: 3D gamemap is from Quake's E1M1, the "Slipgate Complex" 3D BSP sort adapted from @Chrome_Cat's 2D BSP sort. Compare the code, which can be found here: https://scratch.mit.edu/projects/714869495/ Uses 's "Ridiculously fast Image scanner": Triangle filler by (): Uses clipping scheme from Vadik1's 3D engine: