1#ifndef _SDL_GPU_GLES_3_H__
2#define _SDL_GPU_GLES_3_H__
5#include "SDL_platform.h"
7#if !defined(SDL_GPU_DISABLE_GLES) && !defined(SDL_GPU_DISABLE_GLES_3)
10 #include <OpenGLES/ES3/gl.h>
11 #include <OpenGLES/ES3/glext.h>
12#elif defined(SDL_GPU_DYNAMIC_GLES_3)
15 #include "GLES3/gl3.h"
16 #include "GLES2/gl2ext.h"
19 #define glVertexAttribI1i glVertexAttrib1f
20 #define glVertexAttribI2i glVertexAttrib2f
21 #define glVertexAttribI3i glVertexAttrib3f
22 #define glVertexAttribI1ui glVertexAttrib1f
23 #define glVertexAttribI2ui glVertexAttrib2f
24 #define glVertexAttribI3ui glVertexAttrib3f
25 #define glMapBuffer glMapBufferOES
26 #define glUnmapBuffer glUnmapBufferOES
27 #define GL_WRITE_ONLY GL_WRITE_ONLY_OES
32#define GPU_CONTEXT_DATA ContextData_GLES_3
33#define GPU_IMAGE_DATA ImageData_GLES_3
34#define GPU_TARGET_DATA TargetData_GLES_3
37#define GPU_DEFAULT_TEXTURED_VERTEX_SHADER_SOURCE \
39precision highp float;\n\
40precision mediump int;\n\
43in vec2 gpu_TexCoord;\n\
44in mediump vec4 gpu_Color;\n\
45uniform mat4 gpu_ModelViewProjectionMatrix;\n\
47out mediump vec4 color;\n\
53 texCoord = vec2(gpu_TexCoord);\n\
54 gl_Position = gpu_ModelViewProjectionMatrix * vec4(gpu_Vertex, 0.0, 1.0);\n\
58#define GPU_DEFAULT_UNTEXTURED_VERTEX_SHADER_SOURCE \
60precision highp float;\n\
61precision mediump int;\n\
64in mediump vec4 gpu_Color;\n\
65uniform mat4 gpu_ModelViewProjectionMatrix;\n\
67out mediump vec4 color;\n\
72 gl_Position = gpu_ModelViewProjectionMatrix * vec4(gpu_Vertex, 0.0, 1.0);\n\
76#define GPU_DEFAULT_TEXTURED_FRAGMENT_SHADER_SOURCE \
78#ifdef GL_FRAGMENT_PRECISION_HIGH\n\
79precision highp float;\n\
81precision mediump float;\n\
83precision mediump int;\n\
85in mediump vec4 color;\n\
88uniform sampler2D tex;\n\
94 fragColor = texture(tex, texCoord) * color;\n\
97#define GPU_DEFAULT_UNTEXTURED_FRAGMENT_SHADER_SOURCE \
99#ifdef GL_FRAGMENT_PRECISION_HIGH\n\
100precision highp float;\n\
102precision mediump float;\n\
104precision mediump int;\n\
106in mediump vec4 color;\n\
108out vec4 fragColor;\n\
112 fragColor = color;\n\
120 SDL_Color last_color;
121 GPU_bool last_use_texturing;
122 unsigned int last_shape;
123 GPU_bool last_use_blending;
127 GPU_bool last_camera_inverted;
129 GPU_bool last_depth_test;
130 GPU_bool last_depth_write;
135 unsigned short blit_buffer_num_vertices;
136 unsigned short blit_buffer_max_num_vertices;
137 unsigned short* index_buffer;
138 unsigned int index_buffer_num_vertices;
139 unsigned int index_buffer_max_num_vertices;
142 unsigned int blit_VAO;
143 unsigned int blit_VBO[2];
144 unsigned int blit_IBO;
145 GPU_bool blit_VBO_flop;
148 unsigned int attribute_VBO[16];
154 GPU_bool owns_handle;
GPU_ComparisonEnum
Definition: SDL_gpu.h:183
Definition: SDL_gpu_GLES_3.h:119
Definition: SDL_gpu.h:710
Definition: SDL_gpu.h:227
Definition: SDL_gpu.h:380
Definition: SDL_gpu.h:334
Definition: SDL_gpu.h:138
Definition: SDL_gpu_GLES_3.h:152
Definition: SDL_gpu_GLES_3.h:160