From c8c44b352f248e542a534c65683264f95cec6940 Mon Sep 17 00:00:00 2001 From: Nico de Poel Date: Fri, 20 Jan 2023 13:45:04 +0100 Subject: [PATCH] A bit of cleanup ahead of attempting to make textures work --- ps1bsp.h | 22 +++++++++------------- test.ps1bsp | Bin 162995 -> 152275 bytes world.c | 8 ++++---- 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/ps1bsp.h b/ps1bsp.h index 56217df..74fd2cb 100755 --- a/ps1bsp.h +++ b/ps1bsp.h @@ -46,27 +46,22 @@ typedef struct unsigned short nextframe; // If non-zero, the texture is animated and this points to the next texture in the sequence } ps1bsp_texture_t; -// This matches the SVECTOR data type, using the extra padding to store vertex color data. -// The full range and precision required cannot be stored in just shorts, so we make use of a floating origin stored in the BSP leafs. -// With this the higher-order bits of each vertex position are calculated into the model-view matrix, giving good precision for polygons near the camera. +// This matches the SVECTOR data type; we can use the extra padding to store some more data. typedef struct { short x; short y; short z; - unsigned char baseLight, finalLight; // Used for gouraud shading based on static lightmap data - - // Sampled color value from the face texture, for untextured gouraud shaded drawing - unsigned char a : 1; // 0 = opaque, 1 = semi-transparent - unsigned char r : 5; - unsigned char g : 5; - unsigned char b : 5; + short pad; } ps1bsp_vertex_t; typedef struct { unsigned short index; unsigned short light; + + // TODO: add texture uv's + // TODO: add sampled texture color * light, for untextured gouraud shaded drawing at range } ps1bsp_facevertex_t; typedef struct @@ -77,7 +72,7 @@ typedef struct unsigned short firstFaceVertex; unsigned short numFaceVertices; - SVECTOR centerPoint; + SVECTOR center; u_long drawFrame; // Which frame was this face last drawn on? Used to check if this face should be drawn. } ps1bsp_face_t; @@ -94,7 +89,7 @@ typedef struct int planeId; short children[2]; - // TODO: add bounding box for frustum culling + // TODO: add bounding box for frustum culling (or bounding sphere, might be cheaper) u_short firstFace; u_short numFaces; @@ -105,7 +100,8 @@ typedef struct int type; int vislist; - // TODO: add bounding box for frustum culing + // TODO: add bounding box for frustum culling (or do we? could save half the number of bounds checks if we only check nodes) + //SVECTOR center; u_short firstLeafFace; u_short numLeafFaces; diff --git a/test.ps1bsp b/test.ps1bsp index 3173adb3d2fd5829fdeea41252874a56d1c3b9da..3b0d9cb2013b32459a2129dbf3393989f8ba6aef 100755 GIT binary patch delta 62815 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 DD41#Z delta 73618 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 - cam_vec.vx = center.vx - cam_pos.vx; - cam_vec.vy = center.vy - cam_pos.vy; - cam_vec.vz = center.vz - cam_pos.vz; + SVECTOR cam_vec; + cam_vec.vx = face->center.vx - cam_pos.vx; + cam_vec.vy = face->center.vy - cam_pos.vy; + cam_vec.vz = face->center.vz - cam_pos.vz; const ps1bsp_plane_t *plane = &world->planes[face->planeId]; // NOTE: this value could be REALLY useful for determining the tessellation subdivisions. It has camera distance *and* angle in it.