added GetMatrixProjection fixed issue with GL11 where model matrix was identity (#999)
This commit is contained in:
parent
a6db31c01e
commit
90b3dceb54
2 changed files with 23 additions and 1 deletions
|
@ -432,7 +432,7 @@ typedef struct Sound {
|
||||||
typedef struct Music {
|
typedef struct Music {
|
||||||
int ctxType; // Type of music context (audio filetype)
|
int ctxType; // Type of music context (audio filetype)
|
||||||
void *ctxData; // Audio context data, depends on type
|
void *ctxData; // Audio context data, depends on type
|
||||||
|
|
||||||
unsigned int sampleCount; // Total number of samples
|
unsigned int sampleCount; // Total number of samples
|
||||||
unsigned int loopCount; // Loops count (times music will play), 0 means infinite loop
|
unsigned int loopCount; // Loops count (times music will play), 0 means infinite loop
|
||||||
|
|
||||||
|
@ -1319,6 +1319,7 @@ RLAPI void SetShaderValueTexture(Shader shader, int uniformLoc, Texture2D textur
|
||||||
RLAPI void SetMatrixProjection(Matrix proj); // Set a custom projection matrix (replaces internal projection matrix)
|
RLAPI void SetMatrixProjection(Matrix proj); // Set a custom projection matrix (replaces internal projection matrix)
|
||||||
RLAPI void SetMatrixModelview(Matrix view); // Set a custom modelview matrix (replaces internal modelview matrix)
|
RLAPI void SetMatrixModelview(Matrix view); // Set a custom modelview matrix (replaces internal modelview matrix)
|
||||||
RLAPI Matrix GetMatrixModelview(void); // Get internal modelview matrix
|
RLAPI Matrix GetMatrixModelview(void); // Get internal modelview matrix
|
||||||
|
RLAPI Matrix GetMatrixProjection(void); // Get internal projection matrix
|
||||||
|
|
||||||
// Texture maps generation (PBR)
|
// Texture maps generation (PBR)
|
||||||
// NOTE: Required shaders should be provided
|
// NOTE: Required shaders should be provided
|
||||||
|
|
21
src/rlgl.h
21
src/rlgl.h
|
@ -3155,6 +3155,23 @@ void SetMatrixProjection(Matrix proj)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return internal projection matrix
|
||||||
|
Matrix GetMatrixProjection(void) {
|
||||||
|
#if defined(GRAPHICS_API_OPENGL_11)
|
||||||
|
float mat[16];
|
||||||
|
glGetFloatv(GL_PROJECTION_MATRIX,mat);
|
||||||
|
Matrix m;
|
||||||
|
m.m0 = mat[0]; m.m1 = mat[1]; m.m2 = mat[2]; m.m3 = mat[3];
|
||||||
|
m.m4 = mat[4]; m.m5 = mat[5]; m.m6 = mat[6]; m.m7 = mat[7];
|
||||||
|
m.m8 = mat[8]; m.m9 = mat[9]; m.m10 = mat[10]; m.m11 = mat[11];
|
||||||
|
m.m12 = mat[12]; m.m13 = mat[13]; m.m14 = mat[14]; m.m15 = mat[15];
|
||||||
|
return m;
|
||||||
|
#else
|
||||||
|
return projection;
|
||||||
|
#endif
|
||||||
|
#
|
||||||
|
}
|
||||||
|
|
||||||
// Set a custom modelview matrix (replaces internal modelview matrix)
|
// Set a custom modelview matrix (replaces internal modelview matrix)
|
||||||
void SetMatrixModelview(Matrix view)
|
void SetMatrixModelview(Matrix view)
|
||||||
{
|
{
|
||||||
|
@ -3170,6 +3187,10 @@ Matrix GetMatrixModelview(void)
|
||||||
#if defined(GRAPHICS_API_OPENGL_11)
|
#if defined(GRAPHICS_API_OPENGL_11)
|
||||||
float mat[16];
|
float mat[16];
|
||||||
glGetFloatv(GL_MODELVIEW_MATRIX, mat);
|
glGetFloatv(GL_MODELVIEW_MATRIX, mat);
|
||||||
|
matrix.m0 = mat[0]; matrix.m1 = mat[1]; matrix.m2 = mat[2]; matrix.m3 = mat[3];
|
||||||
|
matrix.m4 = mat[4]; matrix.m5 = mat[5]; matrix.m6 = mat[6]; matrix.m7 = mat[7];
|
||||||
|
matrix.m8 = mat[8]; matrix.m9 = mat[9]; matrix.m10 = mat[10]; matrix.m11 = mat[11];
|
||||||
|
matrix.m12 = mat[12]; matrix.m13 = mat[13]; matrix.m14 = mat[14]; matrix.m15 = mat[15];
|
||||||
#else
|
#else
|
||||||
matrix = modelview;
|
matrix = modelview;
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue