summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/files.h4
-rw-r--r--include/gpu.h1
-rw-r--r--include/model.h1
-rw-r--r--include/models/floor_data.h31
-rw-r--r--include/models/teapot_data.h6
5 files changed, 40 insertions, 3 deletions
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 <https://www.gnu.org/licenses/>.
+ */
+
+#ifndef TA_MODELS_FLOOR_DATA_H
+#define TA_MODELS_FLOOR_DATA_H
+
+#include <stddef.h>
+
+#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 <https://www.gnu.org/licenses/>.
*/
-#ifndef TA_TEAPOT_DATA_H
-#define TA_TEAPOT_DATA_H
+#ifndef TA_MODELS_TEAPOT_DATA_H
+#define TA_MODELS_TEAPOT_DATA_H
#include <stddef.h>
@@ -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