glshim library updated. added changes 2e4c48bcb0

This commit is contained in:
lubomyr
2015-09-13 15:55:10 +03:00
parent c33db6ec16
commit f932c71f42
2 changed files with 25 additions and 0 deletions

View File

@@ -282,6 +282,10 @@
#define GL_NAME_STACK_DEPTH 0x0D70
#define GL_MAX_NAME_STACK_DEPTH 0x0D37
#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
// evaluators
#define GL_AUTO_NORMAL 0x0D80

View File

@@ -146,6 +146,15 @@ const GLubyte *glGetString(GLenum name) {
}
}
void transposeMatrix(float *matrix)
{
float tmp[16];
memcpy(tmp, matrix, sizeof(tmp));
for (int i=0; i<4; i++)
for (int j=0; j<4; j++)
matrix[i*4+j]=tmp[j*4+i];
}
// glGet
extern float zoomx, zoomy;
extern GLfloat raster_scale[4];
@@ -376,6 +385,18 @@ void glGetFloatv(GLenum pname, GLfloat *params) {
case GL_PIXEL_UNPACK_BUFFER_BINDING:
*params=(state.buffers.unpack)?state.buffers.unpack->buffer:0;
break;
case GL_TRANSPOSE_PROJECTION_MATRIX:
gles_glGetFloatv(GL_PROJECTION_MATRIX, params);
transposeMatrix(params);
break;
case GL_TRANSPOSE_MODELVIEW_MATRIX:
gles_glGetFloatv(GL_MODELVIEW_MATRIX, params);
transposeMatrix(params);
break;
case GL_TRANSPOSE_TEXTURE_MATRIX:
gles_glGetFloatv(GL_TEXTURE_MATRIX, params);
transposeMatrix(params);
break;
default:
errorGL();
gles_glGetFloatv(pname, params);