diff --git a/atlas-start.pcx b/atlas-start.pcx new file mode 100755 index 0000000..c47becd Binary files /dev/null and b/atlas-start.pcx differ diff --git a/memory.h b/memory.h index 820c6d1..04cc457 100644 --- a/memory.h +++ b/memory.h @@ -4,7 +4,7 @@ #define SCRATCHLEN 1024 extern u_char* const scratchpad; // Starting address of scratchpad memory, i.e. the 1kB of data cache usable as fast RAM -#define PRIMBUFLEN 65536 // TODO: reduce this to what's needed for a typical scene +#define PRIMBUFLEN 65536*2 // TODO: reduce this to what's needed for a typical scene extern char *nextprim; extern char *primbuf_bounds; diff --git a/test.ps1bsp b/test.ps1bsp index edcc416..03a7bf0 100755 Binary files a/test.ps1bsp and b/test.ps1bsp differ diff --git a/world.c b/world.c index ed957c6..bdb58d4 100644 --- a/world.c +++ b/world.c @@ -288,6 +288,8 @@ static INLINE short world_planeDot(const SVECTOR *dir, const ps1bsp_plane_t *pla static void world_drawface(const world_t *world, const ps1bsp_face_t *face) { + // TODO: do an early primitive buffer check here, so we can skip backface culling & vertex copying if it's already full + // Backface culling using the face's plane and center point // This eliminates the need for normal clipping per polygon SVECTOR cam_vec;