|
@@ -516,28 +516,28 @@ typedef enum {
|
|
|
// Framebuffer attachment type
|
|
|
// NOTE: By default up to 8 color channels defined, but it can be more
|
|
|
typedef enum {
|
|
|
- RL_ATTACHMENT_COLOR_CHANNEL0 = 0, // Framebuffer attachment type: color 0
|
|
|
- RL_ATTACHMENT_COLOR_CHANNEL1, // Framebuffer attachment type: color 1
|
|
|
- RL_ATTACHMENT_COLOR_CHANNEL2, // Framebuffer attachment type: color 2
|
|
|
- RL_ATTACHMENT_COLOR_CHANNEL3, // Framebuffer attachment type: color 3
|
|
|
- RL_ATTACHMENT_COLOR_CHANNEL4, // Framebuffer attachment type: color 4
|
|
|
- RL_ATTACHMENT_COLOR_CHANNEL5, // Framebuffer attachment type: color 5
|
|
|
- RL_ATTACHMENT_COLOR_CHANNEL6, // Framebuffer attachment type: color 6
|
|
|
- RL_ATTACHMENT_COLOR_CHANNEL7, // Framebuffer attachment type: color 7
|
|
|
- RL_ATTACHMENT_DEPTH = 100, // Framebuffer attachment type: depth
|
|
|
- RL_ATTACHMENT_STENCIL = 200, // Framebuffer attachment type: stencil
|
|
|
+ RL_ATTACHMENT_COLOR_CHANNEL0 = 0, // Framebuffer attachment type: color 0
|
|
|
+ RL_ATTACHMENT_COLOR_CHANNEL1 = 1, // Framebuffer attachment type: color 1
|
|
|
+ RL_ATTACHMENT_COLOR_CHANNEL2 = 2, // Framebuffer attachment type: color 2
|
|
|
+ RL_ATTACHMENT_COLOR_CHANNEL3 = 3, // Framebuffer attachment type: color 3
|
|
|
+ RL_ATTACHMENT_COLOR_CHANNEL4 = 4, // Framebuffer attachment type: color 4
|
|
|
+ RL_ATTACHMENT_COLOR_CHANNEL5 = 5, // Framebuffer attachment type: color 5
|
|
|
+ RL_ATTACHMENT_COLOR_CHANNEL6 = 6, // Framebuffer attachment type: color 6
|
|
|
+ RL_ATTACHMENT_COLOR_CHANNEL7 = 7, // Framebuffer attachment type: color 7
|
|
|
+ RL_ATTACHMENT_DEPTH = 100, // Framebuffer attachment type: depth
|
|
|
+ RL_ATTACHMENT_STENCIL = 200, // Framebuffer attachment type: stencil
|
|
|
} rlFramebufferAttachType;
|
|
|
|
|
|
// Framebuffer texture attachment type
|
|
|
typedef enum {
|
|
|
- RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0, // Framebuffer texture attachment type: cubemap, +X side
|
|
|
- RL_ATTACHMENT_CUBEMAP_NEGATIVE_X, // Framebuffer texture attachment type: cubemap, -X side
|
|
|
- RL_ATTACHMENT_CUBEMAP_POSITIVE_Y, // Framebuffer texture attachment type: cubemap, +Y side
|
|
|
- RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y, // Framebuffer texture attachment type: cubemap, -Y side
|
|
|
- RL_ATTACHMENT_CUBEMAP_POSITIVE_Z, // Framebuffer texture attachment type: cubemap, +Z side
|
|
|
- RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z, // Framebuffer texture attachment type: cubemap, -Z side
|
|
|
- RL_ATTACHMENT_TEXTURE2D = 100, // Framebuffer texture attachment type: texture2d
|
|
|
- RL_ATTACHMENT_RENDERBUFFER = 200, // Framebuffer texture attachment type: renderbuffer
|
|
|
+ RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0, // Framebuffer texture attachment type: cubemap, +X side
|
|
|
+ RL_ATTACHMENT_CUBEMAP_NEGATIVE_X = 1, // Framebuffer texture attachment type: cubemap, -X side
|
|
|
+ RL_ATTACHMENT_CUBEMAP_POSITIVE_Y = 2, // Framebuffer texture attachment type: cubemap, +Y side
|
|
|
+ RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y = 3, // Framebuffer texture attachment type: cubemap, -Y side
|
|
|
+ RL_ATTACHMENT_CUBEMAP_POSITIVE_Z = 4, // Framebuffer texture attachment type: cubemap, +Z side
|
|
|
+ RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z = 5, // Framebuffer texture attachment type: cubemap, -Z side
|
|
|
+ RL_ATTACHMENT_TEXTURE2D = 100, // Framebuffer texture attachment type: texture2d
|
|
|
+ RL_ATTACHMENT_RENDERBUFFER = 200, // Framebuffer texture attachment type: renderbuffer
|
|
|
} rlFramebufferAttachTextureType;
|
|
|
|
|
|
// Face culling mode
|
|
@@ -823,6 +823,9 @@ RLAPI void rlLoadDrawQuad(void); // Load and draw a quad
|
|
|
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISOREXTPROC) (GLuint index, GLuint divisor);
|
|
|
#endif
|
|
|
#endif
|
|
|
+#if defined(GRAPHICS_API_OPENGL_ES3)
|
|
|
+ #include <GLES3/gl3.h>
|
|
|
+#endif
|
|
|
|
|
|
#include <stdlib.h> // Required for: malloc(), free()
|
|
|
#include <string.h> // Required for: strcmp(), strlen() [Used in rlglInit(), on extensions loading]
|
|
@@ -2243,7 +2246,7 @@ void rlLoadExtensions(void *loader)
|
|
|
|
|
|
#if defined(GRAPHICS_API_OPENGL_ES3)
|
|
|
// Register supported extensions flags
|
|
|
- // OpenGL ES 3.0 extensions supported by default
|
|
|
+ // OpenGL ES 3.0 extensions supported by default (or it should be)
|
|
|
RLGL.ExtSupported.vao = true;
|
|
|
RLGL.ExtSupported.instancing = true;
|
|
|
RLGL.ExtSupported.texNPOT = true;
|
|
@@ -2254,20 +2257,20 @@ void rlLoadExtensions(void *loader)
|
|
|
RLGL.ExtSupported.maxDepthBits = 24;
|
|
|
RLGL.ExtSupported.texAnisoFilter = true;
|
|
|
RLGL.ExtSupported.texMirrorClamp = true;
|
|
|
- // TODO: Make sure that the ones above are actually present by default
|
|
|
- // TODO: Check for these...
|
|
|
- // RLGL.ExtSupported.texCompDXT
|
|
|
- // RLGL.ExtSupported.texCompETC1
|
|
|
- // RLGL.ExtSupported.texCompETC2
|
|
|
- // RLGL.ExtSupported.texCompPVRT
|
|
|
- // RLGL.ExtSupported.texCompASTC
|
|
|
- // RLGL.ExtSupported.computeShader
|
|
|
- // RLGL.ExtSupported.ssbo
|
|
|
- // RLGL.ExtSupported.maxAnisotropyLevel
|
|
|
+ // TODO: Check for additional OpenGL ES 3.0 supported extensions:
|
|
|
+ //RLGL.ExtSupported.texCompDXT = true;
|
|
|
+ //RLGL.ExtSupported.texCompETC1 = true;
|
|
|
+ //RLGL.ExtSupported.texCompETC2 = true;
|
|
|
+ //RLGL.ExtSupported.texCompPVRT = true;
|
|
|
+ //RLGL.ExtSupported.texCompASTC = true;
|
|
|
+ //RLGL.ExtSupported.maxAnisotropyLevel = true;
|
|
|
+ //RLGL.ExtSupported.computeShader = true;
|
|
|
+ //RLGL.ExtSupported.ssbo = true;
|
|
|
+
|
|
|
#elif defined(GRAPHICS_API_OPENGL_ES2)
|
|
|
|
|
|
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_DESKTOP_SDL)
|
|
|
- // TODO: Support OpenGL ES 3.0
|
|
|
+ // TODO: Support GLAD loader for OpenGL ES 3.0
|
|
|
if (gladLoadGLES2((GLADloadfunc)loader) == 0) TRACELOG(RL_LOG_WARNING, "GLAD: Cannot load OpenGL ES2.0 functions");
|
|
|
else TRACELOG(RL_LOG_INFO, "GLAD: OpenGL ES 2.0 loaded successfully");
|
|
|
#endif
|