/* * 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_GPU_H #define TA_GPU_H #include #include "color.h" #include "ta_sdl.h" extern SDL_GPUDevice *ta_gpu_device; extern SDL_GPUGraphicsPipeline *ta_gpu_text_pipeline; extern SDL_GPUTexture *ta_gpu_text_texture; extern SDL_GPUSampler *ta_gpu_text_sampler; 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); void ta_gpu_draw_filled_rectangle(ta_color color, int x, int y, int width, int height); void ta_gpu_draw_rectangle(ta_color color, int x, int y, int width, int height, int thickness); void ta_gpu_draw_line(ta_color color, int x1, int y1, int x2, int y2, int thickness); void ta_gpu_draw_circle(ta_color color, int x, int y, int radius, int thickness); void ta_gpu_draw_filled_circle(ta_color color, int x, int y, int radius); void ta_gpu_draw_triangle(ta_color color, int x1, int y1, int x2, int y2, int x3, int y3, int thickness); void ta_gpu_draw_filled_triangle(ta_color color, int x1, int y1, int x2, int y2, int x3, int y3); void ta_gpu_end_frame(void); #endif // TA_GPU_H