From 8fc46365d6bdcde0c18a8b413b9f7a80fa487107 Mon Sep 17 00:00:00 2001 From: Connor Thomson Date: Sat, 12 Sep 2026 10:20:39 -0700 Subject: Getting ready to add PCSS shadows --- include/files.h | 4 ++++ include/gpu.h | 1 + include/model.h | 1 + include/models/floor_data.h | 31 +++++++++++++++++++++++++++++++ include/models/teapot_data.h | 6 +++--- 5 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 include/models/floor_data.h (limited to 'include') diff --git a/include/files.h b/include/files.h index 94ec43c..8c68d38 100644 --- a/include/files.h +++ b/include/files.h @@ -51,4 +51,8 @@ extern unsigned char *file_model_frag_slang_spv_start; extern unsigned char *file_model_frag_slang_spv_end; extern unsigned int file_model_frag_slang_spv_size; +extern unsigned char *file_model_wireframe_frag_slang_spv_start; +extern unsigned char *file_model_wireframe_frag_slang_spv_end; +extern unsigned int file_model_wireframe_frag_slang_spv_size; + #endif // TA_FILES_H \ No newline at end of file diff --git a/include/gpu.h b/include/gpu.h index 5e10d1e..f46f472 100644 --- a/include/gpu.h +++ b/include/gpu.h @@ -31,6 +31,7 @@ extern Uint32 ta_gpu_text_texture_width; extern Uint32 ta_gpu_text_texture_height; extern SDL_GPUSampleCount ta_gpu_sample_count; extern SDL_GPUTextureFormat ta_gpu_swapchain_format; +extern bool ta_gpu_enable_wireframe; void ta_gpu_init(void); void ta_gpu_start_frame(void); diff --git a/include/model.h b/include/model.h index 52849d2..47364ba 100644 --- a/include/model.h +++ b/include/model.h @@ -37,6 +37,7 @@ typedef struct ta_model_mesh { typedef struct ta_model { SDL_GPUGraphicsPipeline *pipeline; + SDL_GPUGraphicsPipeline *wireframe_pipeline; SDL_GPUBuffer *vertex_buffer; ta_model_mesh mesh; Uint32 vertex_count; diff --git a/include/models/floor_data.h b/include/models/floor_data.h new file mode 100644 index 0000000..720b798 --- /dev/null +++ b/include/models/floor_data.h @@ -0,0 +1,31 @@ +/* + * Tuxánci 2 - A first person shooter + * Copyright (C) 2025-2026 Connor Thomson + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef TA_MODELS_FLOOR_DATA_H +#define TA_MODELS_FLOOR_DATA_H + +#include + +#define TA_FLOOR_DIMENSION 3 + +extern const float ta_floor_positions[][TA_FLOOR_DIMENSION]; +extern const unsigned int ta_floor_faces[][TA_FLOOR_DIMENSION]; +extern const size_t ta_floor_position_count; +extern const size_t ta_floor_face_count; + +#endif // TA_MODELS_FLOOR_DATA_H \ No newline at end of file diff --git a/include/models/teapot_data.h b/include/models/teapot_data.h index 4e2c26b..ce02d44 100644 --- a/include/models/teapot_data.h +++ b/include/models/teapot_data.h @@ -16,8 +16,8 @@ * along with this program. If not, see . */ -#ifndef TA_TEAPOT_DATA_H -#define TA_TEAPOT_DATA_H +#ifndef TA_MODELS_TEAPOT_DATA_H +#define TA_MODELS_TEAPOT_DATA_H #include @@ -28,4 +28,4 @@ extern const unsigned int ta_teapot_faces[][TA_TEAPOT_DIMENSION]; extern const size_t ta_teapot_position_count; extern const size_t ta_teapot_face_count; -#endif // TA_TEAPOT_DATA_H +#endif // TA_MODELS_TEAPOT_DATA_H \ No newline at end of file -- cgit v1.2.3