this repo has no description
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_GLSL_VERSION 120
18#define SDL_GPU_GL_MAJOR_VERSION 2
19#define SDL_GPU_NO_VAO
20
21#include "renderer_GL_common.inl"
22#include "renderer_shapes_GL_common.inl"
23
24
25GPU_Renderer* GPU_CreateRenderer_OpenGL_2(GPU_RendererID request)
26{
27 GPU_Renderer* renderer = (GPU_Renderer*)SDL_malloc(sizeof(GPU_Renderer));
28 if(renderer == NULL)
29 return NULL;
30
31 memset(renderer, 0, sizeof(GPU_Renderer));
32
33 renderer->id = request;
34 renderer->id.renderer = GPU_RENDERER_OPENGL_2;
35 renderer->shader_language = GPU_LANGUAGE_GLSL;
36 renderer->min_shader_version = 110;
37 renderer->max_shader_version = SDL_GPU_GLSL_VERSION;
38
39 renderer->default_image_anchor_x = 0.5f;
40 renderer->default_image_anchor_y = 0.5f;
41
42 renderer->current_context_target = NULL;
43
44 renderer->impl = (GPU_RendererImpl*)SDL_malloc(sizeof(GPU_RendererImpl));
45 memset(renderer->impl, 0, sizeof(GPU_RendererImpl));
46 SET_COMMON_FUNCTIONS(renderer->impl);
47
48 return renderer;
49}
50
51void GPU_FreeRenderer_OpenGL_2(GPU_Renderer* renderer)
52{
53 if(renderer == NULL)
54 return;
55
56 SDL_free(renderer->impl);
57 SDL_free(renderer);
58}
59
60
61#endif