31 Commits (861b06f2d20c1ffae14f4b4cbdccf53ebe9a92f2)

Author SHA1 Message Date
Nico de Poel 87c5517bdd Swap texture window only when the twin value changes. 3 years ago
Nico de Poel 5ecf96428d Use catPrim and addPrims to add the tessellated quads to the OT in a slightly more efficient fashion. 3 years ago
Nico de Poel 2167011f96 Commentary and TODOs 3 years ago
Nico de Poel de12999cbb Minor rearrangement for "readability" 3 years ago
Nico de Poel 2a3a8108f3 Removed the nop's before the INTPL instruction as they don't seem to be necessary. 3 years ago
Nico de Poel abc328430c Undid some of the rearrangement that made the code not want to run on real hardware. 3 years ago
Nico de Poel 4e39f28228 Made use of the fact that we use monochrome lighting to combine light and UVs into a single lerp 3 years ago
Nico de Poel 07f87c4ca2 Made a custom vertex lerp macro using pure GTE assembly code 3 years ago
Nico de Poel 909b32f4c0 Some rearrangement that will hopefully allow single light values to be lerped right alongside UVs, saving on one lerp per vertex. 3 years ago
Nico de Poel d7ec9a85a4 Interpolate vertex color and UV values using GTE instructions as well 3 years ago
Nico de Poel cdc205f59a First successful experiment with vertex interpolation using GTE intpl instructions. 3 years ago
Nico de Poel 7888f44bb8 Revert "Intersperse GTE instructions with vertex lerping and quad building code to mask load/store delays." 3 years ago
Nico de Poel 4f886bd40c Intersperse GTE instructions with vertex lerping and quad building code to mask load/store delays. 3 years ago
Nico de Poel e0e43d6e39 Reordered some vertex code to allow for optimized GTE load/stores 3 years ago
Nico de Poel 58b2e8dc20 Wrapped vertex copying code into a macro to make the quad drawing code more readable. 3 years ago
Nico de Poel 02b19a67dc First implementation of near-camera polygon tessellation, which surprisingly actually worked on the first try! 3 years ago
Nico de Poel 5442b2d4c9 Added a draw function for flat colored quads, useful for debugging 3 years ago
Nico de Poel 21101b3287 Added a special case for drawing faces that are single triangles. 3 years ago
Nico de Poel de12e4269f Minor stuff 3 years ago
Nico de Poel 32237fc6ec Fixed a few issues and further optimized the quad drawing code. 3 years ago
Nico de Poel 4f2d70cc82 Added some macros to make the optimized drawing code more readable, and applied the same optimization to water drawing. 3 years ago
Nico de Poel 74a36f0938 Found a 10% performance boost by simply reordering data access when filling in polygon data, and by blitting UV and RGB values with a single copy. 3 years ago
Nico de Poel 542a81b68c Draw lava, slime and teleporters as liquids, but not transparent. 3 years ago
Nico de Poel 314b52e99e Added a separate CLUT for transparent surfaces, and set semi-transparency mode on water polygons. 3 years ago
Nico de Poel ae080953f7 Rewrote the other face drawing functions to ditch the vertex copying stage too. 3 years ago
Nico de Poel be7eb87685 Ditched the copy-to-scratch-RAM step for drawing textured faces, which apparently is no longer needed to run on real hardware. 3 years ago
Nico de Poel a8d3bf567b First pass at leaf-based rendering order: 3 years ago
Nico de Poel 812bcb6a63 Some micro-optimizations in the face drawing code. The PS1 really does favor simple counters over pointer arithmetic. 3 years ago
Nico de Poel 85a8b332c5 Some reorganization of face drawing code; allow better separation between drawing methods, and require the "enable texturing" check only once ahead of drawing. 3 years ago
Nico de Poel c9bee9d500 Draw water surfaces as unlit textured polygons 3 years ago
Nico de Poel 73903474e4 Moved polygon drawing routines into a separate header file 3 years ago