move platform specific functions to platform header

This commit is contained in:
Recep Aslantas
2016-10-09 17:57:55 +03:00
parent 1f12adbfae
commit a6f96de292
3 changed files with 24 additions and 5 deletions

View File

@@ -68,7 +68,7 @@ glm_ortho_default(mat4 dest) {
GLint rect[4]; GLint rect[4];
float aspectRatio; float aspectRatio;
glGetIntegerv(GL_VIEWPORT, rect); glm_platfom_get_viewport_rect(rect);
aspectRatio = (float)rect[2]/rect[3]; aspectRatio = (float)rect[2]/rect[3];
if (rect[2] >= rect[3]) { if (rect[2] >= rect[3]) {
@@ -114,11 +114,11 @@ glm_perspective(float fovy,
CGLM_INLINE CGLM_INLINE
void void
glm_perspective_default(mat4 dest) { glm_perspective_default(mat4 dest) {
GLint viewport[4]; GLint rect[4];
glGetIntegerv(GL_VIEWPORT, viewport); glm_platfom_get_viewport_rect(rect);
glm_perspective((float)M_PI_4, glm_perspective((float)M_PI_4,
(float)viewport[2]/viewport[3], (float)rect[2]/rect[3],
0.01f, 0.01f,
100.0f, 100.0f,
dest); dest);

View File

@@ -14,7 +14,7 @@
CGLM_INLINE CGLM_INLINE
void void
glm_mat4_uniform(mat4 m, GLint location){ glm_mat4_uniform(mat4 m, GLint location){
glUniformMatrix4fv(location, 1, GL_FALSE, m[0]); glm_platform_uniform_mat4fv(location, m[0]);
} }
#endif /* cglm_mat_opengl_h */ #endif /* cglm_mat_opengl_h */

View File

@@ -8,6 +8,8 @@
#ifndef cglm_platform_h #ifndef cglm_platform_h
#define cglm_platform_h #define cglm_platform_h
#include "cglm-common.h"
#ifdef __APPLE__ #ifdef __APPLE__
# include <OpenGL/gl3.h> # include <OpenGL/gl3.h>
#else #else
@@ -25,6 +27,23 @@ glUniformMatrix4fv(GLint location,
GLsizei count, GLsizei count,
GLboolean transpose, GLboolean transpose,
const GLfloat *value); const GLfloat *value);
extern
void
glGetIntegerv(GLenum pname, GLint *params);
#endif #endif
CGLM_INLINE
void
glm_platform_uniform_mat4fv(int32_t location,
const float *value) {
glUniformMatrix4fv(location, 1, GL_FALSE, value);
}
CGLM_INLINE
void
glm_platfom_get_viewport_rect(int32_t *rect) {
glGetIntegerv(GL_VIEWPORT, rect);
}
#endif /* cglm_platform_h */ #endif /* cglm_platform_h */