this repo has no description
at Multitexture 62 lines 1.7 kB view raw
1#include "SDL_gpu_OpenGL_3.h" 2#include "SDL_gpu_RendererImpl.h" 3 4 5#if defined(SDL_GPU_DISABLE_OPENGL) || defined(SDL_GPU_DISABLE_OPENGL_3) 6 7// Dummy implementations 8GPU_Renderer* GPU_CreateRenderer_OpenGL_3(GPU_RendererID request) {return NULL;} 9void GPU_FreeRenderer_OpenGL_3(GPU_Renderer* renderer) {} 10 11#else 12 13 14// Most of the code pulled in from here... 15#define SDL_GPU_USE_OPENGL 16#define SDL_GPU_USE_BUFFER_PIPELINE 17#define SDL_GPU_ASSUME_SHADERS 18#define SDL_GPU_SKIP_ENABLE_TEXTURE_2D 19#define SDL_GPU_SKIP_LINE_WIDTH 20#define SDL_GPU_GL_TIER 3 21#define SDL_GPU_GLSL_VERSION 130 22#define SDL_GPU_GLSL_VERSION_CORE 150 23#define SDL_GPU_GL_MAJOR_VERSION 3 24#define SDL_GPU_ENABLE_CORE_SHADERS 25 26#include "renderer_GL_common.inl" 27#include "renderer_shapes_GL_common.inl" 28 29 30GPU_Renderer* GPU_CreateRenderer_OpenGL_3(GPU_RendererID request) 31{ 32 GPU_Renderer* renderer = (GPU_Renderer*)SDL_malloc(sizeof(GPU_Renderer)); 33 if(renderer == NULL) 34 return NULL; 35 36 memset(renderer, 0, sizeof(GPU_Renderer)); 37 38 renderer->id = request; 39 renderer->id.renderer = GPU_RENDERER_OPENGL_3; 40 renderer->shader_language = GPU_LANGUAGE_GLSL; 41 renderer->min_shader_version = 110; 42 renderer->max_shader_version = SDL_GPU_GLSL_VERSION; 43 44 renderer->current_context_target = NULL; 45 46 renderer->impl = (GPU_RendererImpl*)SDL_malloc(sizeof(GPU_RendererImpl)); 47 memset(renderer->impl, 0, sizeof(GPU_RendererImpl)); 48 SET_COMMON_FUNCTIONS(renderer->impl); 49 50 return renderer; 51} 52 53void GPU_FreeRenderer_OpenGL_3(GPU_Renderer* renderer) 54{ 55 if(renderer == NULL) 56 return; 57 58 SDL_free(renderer); 59} 60 61 62#endif