Quake BSP renderer for PS1
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Nico de Poel
a8d3bf567b
First pass at leaf-based rendering order:
- Sort leafs first into a linked list, before drawing their faces
- Depth value for faces is determined by the leaf order, OT position is calculated once per leaf
- Removes the need for per-primitive depth calculation & check, so those are removed
- Moved primitive buffer check out of the primitive drawing routines and to the start of each face drawing function
- Triangle drawing routines now only draw a single triangle, no loops involved
- Simplified drawing routines where possible
- Face drawing is still happening in back-to-front order, so this needs another good look at
3 years ago
.gitignore
First import, with bits of code taken from the MDL viewer prototype, split up into organized units.
3 years ago
CMakeLists.txt
Switched to map atlas image file generated directly by the preprocessing tool, rather than a .pcx converted by img2tim.
3 years ago
CMakePresets.json
Added debug and release build configurations
3 years ago
asset.c
First import, with bits of code taken from the MDL viewer prototype, split up into organized units.
3 years ago
asset.h
First import, with bits of code taken from the MDL viewer prototype, split up into organized units.
3 years ago
atlas-e1m1.tim
First import, with bits of code taken from the MDL viewer prototype, split up into organized units.
3 years ago
atlas-e2m2.tim
First import, with bits of code taken from the MDL viewer prototype, split up into organized units.
3 years ago
atlas-n64start.tim
Overhaul of geometry representation, with correct UV'ing and more finely tesselated surfaces.
3 years ago
common.h
Added check to backface culling to see if the face is behind the camera.
3 years ago
display.c
Fixed frustum calculation and implemented point and sphere tests. Now also tested and looking decent.
3 years ago
display.h
Simplified toggle behavior for button inputs, and added an option to toggle texturing with the circle button.
3 years ago
draw.h
First pass at leaf-based rendering order:
3 years ago
frustum.c
Added box-frustum test code, used to experiment with more accurate per-leaf bounding box frustum culling.
3 years ago
frustum.h
Added box-frustum test code, used to experiment with more accurate per-leaf bounding box frustum culling.
3 years ago
input.c
Added check to backface culling to see if the face is behind the camera.
3 years ago
input.h
First import, with bits of code taken from the MDL viewer prototype, split up into organized units.
3 years ago
iso.xml
First import, with bits of code taken from the MDL viewer prototype, split up into organized units.
3 years ago
main.c
Added check to backface culling to see if the face is behind the camera.
3 years ago
memory.c
Made polygon building faster by checking ahead of time if we have enough primitive buffer space, instead of checking it per polygon.
3 years ago
memory.h
Overhaul of geometry representation, with correct UV'ing and more finely tesselated surfaces.
3 years ago
ps1bsp.h
First pass at leaf-based rendering order:
3 years ago
qmath.c
Fixed the wonky camera rotation, though the left/right vectors are still off.
3 years ago
qmath.h
Added initial frustum calculation based on screen parameters and view matrix.
3 years ago
system.cnf
First import, with bits of code taken from the MDL viewer prototype, split up into organized units.
3 years ago
test.ps1bsp
First pass at leaf-based rendering order:
3 years ago
time.c
Fixes to the time system to make it work on real hardware, and prevent potential crash from division by zero.
3 years ago
time.h
Implemented real-time clock, allowing for precise timekeeping and framerate-independent game updates.
3 years ago
world.c
First pass at leaf-based rendering order:
3 years ago
world.h
Small tweaks: made background black to cover up seams, defined a few flags
3 years ago