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
4d138b4199
Added an extra face sorting step so we can draw faces in front-to-back order:
- Nodes are traversed front-to-back, leafs are sorted back-to-front
- Leaf faces are collected back-to-front to ensure faces shared between leaves are drawn in the correct order
- Faces to be drawn are then sorted front-to-back and drawn in that order
- This obsoletes the need for any kind of depth calculations, and makes the primitive buffer cutoff work as intended
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
Textures are now showing up somewhat correctly!
3 years ago
ps1bsp.h
Added an extra face sorting step so we can draw faces in front-to-back 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
Added an extra face sorting step so we can draw faces in front-to-back 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
Added an extra face sorting step so we can draw faces in front-to-back order:
3 years ago
world.h
Small tweaks: made background black to cover up seams, defined a few flags
3 years ago