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