24 #include <flw/Config.h> 26 #if defined(__APPLE__) 28 #include <OpenGL/gl3.h> 30 #elif defined(_WIN32) || defined(_WIN64) 32 #include <glad/glad.h> 34 bool initExtensions();
38 #if defined(__ANDROID__) 40 #define GLFW_INCLUDE_ES2 41 #define GL_GLEXT_PROTOTYPES 43 #include <GLES3/gl3.h> 44 #include <GLES3/gl3ext.h> 46 #define glClearDepth glClearDepthf 47 #define GL_CLAMP_TO_BORDER GL_CLAMP_TO_EDGE 48 #define GL_DEPTH_COMPONENT32 GL_DEPTH_COMPONENT32F 50 #elif defined(FILLWAVE_BACKEND_OPENGL_ES_30) || defined(FILLWAVE_BACKEND_OPENGL_ES_20) 52 #include <glad/glad.h> 54 #define glClearDepth glClearDepthf 56 #ifndef GL_CLAMP_TO_BORDER 57 #define GL_CLAMP_TO_BORDER GL_CLAMP_TO_EDGE 60 #ifndef GL_DEPTH_COMPONENT32 61 #define GL_DEPTH_COMPONENT32 GL_DEPTH_COMPONENT32F 64 bool initExtensions(
void (* (*getAddress)(
const char*))());
68 #include <glad/glad.h> 70 bool initExtensions();
76 #if defined(GL_TEXTURE31) 77 constexpr GLint MAX_TEXTURE_UNITS = 32;
78 #elif defined(GL_TEXTURE16) 79 constexpr GLint MAX_TEXTURE_UNITS = 16;
80 #elif defined(GL_TEXTURE8) 81 constexpr GLint MAX_TEXTURE_UNITS = 8;
82 #elif defined(GL_TEXTURE4) 83 constexpr GLint MAX_TEXTURE_UNITS = 4;
85 constexpr GLint MAX_TEXTURE_UNITS = 1;
89 constexpr GLint FILLWAVE_POSITION_ATTACHMENT = 0;
90 constexpr GLint FILLWAVE_DIFFUSE_ATTACHMENT = 1;
91 constexpr GLint FILLWAVE_NORMAL_ATTACHMENT = 2;
92 constexpr GLint FILLWAVE_SPECULAR_ATTACHMENT = 3;
93 constexpr GLint FILLWAVE_FINAL_ATTACHMENT = 4;
94 constexpr GLint FILLWAVE_DIFFUSE_UNIT = 5;
95 constexpr GLint FILLWAVE_NORMAL_UNIT = 6;
96 constexpr GLint FILLWAVE_SPECULAR_UNIT = 7;
97 constexpr GLint FILLWAVE_NOISE_UNIT = 8;
98 constexpr GLint FILLWAVE_AO_UNIT = 9;
99 constexpr GLint FILLWAVE_SHADOW_FIRST_UNIT = 10;
102 constexpr
unsigned int FILLWAVE_LIGHTS_BINDING_POINT = 0;
103 constexpr
int FILLWAVE_UNIFORM_NOT_FOUND = -1;
105 constexpr
float FILLWAVE_AO_SAMPLE_RADIUS = 1.6f;
106 constexpr
unsigned int FILLWAVE_OQ_VERTICES = 36;
108 constexpr GLsizei FILLWAVE_GLOBJECTS_MAX = 10;
111 unsigned int getFramebufferStatus();
113 unsigned int getGlError();