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
0c0de31b78
Experimenting with tessellation subdivision formula:
using dot product for backface culling as a parameter of camera-to-face distance and angle.
Also includes face area as a parameter: the larger the face, the more subdivisions it'll need.
Visualizing this with colors, blended with the lighting data.
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
First implementation of world loading and rendering. No BSP logic or optimizations in here yet, but something is being displayed!
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
common.h
Fixes to make things work on real hardware again:
3 years ago
display.c
Added anamorphic 16:9 widescreen support because why the heck not?
3 years ago
display.h
Added anamorphic 16:9 widescreen support because why the heck not?
3 years ago
input.c
Added anamorphic 16:9 widescreen support because why the heck not?
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
Made the framerate counter show 100ths of a second
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
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
ps1bsp.h
Small optimization to BSP tree traversal, by making the child node selection branchless
3 years ago
qmath.c
First implementation of world loading and rendering. No BSP logic or optimizations in here yet, but something is being displayed!
3 years ago
qmath.h
Experimenting with tessellation subdivision formula:
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
Experimenting with tessellation subdivision formula:
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
Experimenting with tessellation subdivision formula:
3 years ago
world.h
Implemented PVS decompression, leaf visibility check using PVS data, and front-to-back traversal of the BSP tree.
3 years ago