mirror of
https://github.com/DrBeef/ioq3quest.git
synced 2025-03-13 05:32:10 +00:00
Restored missing matrix
This commit is contained in:
parent
6506c96194
commit
71708ee91e
12 changed files with 43 additions and 15 deletions
Binary file not shown.
|
@ -56,6 +56,11 @@ uniform highp mat4 u_ModelMatrix;
|
||||||
uniform vec4 u_BaseColor;
|
uniform vec4 u_BaseColor;
|
||||||
uniform vec4 u_VertColor;
|
uniform vec4 u_VertColor;
|
||||||
|
|
||||||
|
#if defined(USE_MODELTRANSFORMMATRIX)
|
||||||
|
uniform mat4 u_ModelTransformMatrix;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if defined(USE_VERTEX_ANIMATION)
|
#if defined(USE_VERTEX_ANIMATION)
|
||||||
uniform float u_VertexLerp;
|
uniform float u_VertexLerp;
|
||||||
#elif defined(USE_BONE_ANIMATION)
|
#elif defined(USE_BONE_ANIMATION)
|
||||||
|
@ -197,11 +202,11 @@ void main()
|
||||||
|
|
||||||
gl_Position = u_ProjectionMatrix * (u_ViewMatrices[gl_ViewID_OVR] * (u_ModelMatrix * vec4(position, 1.0)));
|
gl_Position = u_ProjectionMatrix * (u_ViewMatrices[gl_ViewID_OVR] * (u_ModelMatrix * vec4(position, 1.0)));
|
||||||
|
|
||||||
#if defined(USE_MODELMATRIX)
|
#if defined(USE_MODELTRANSFORMMATRIX)
|
||||||
position = (u_ModelMatrix * vec4(position, 1.0)).xyz;
|
position = (u_ModelTransformMatrix * vec4(position, 1.0)).xyz;
|
||||||
normal = (u_ModelMatrix * vec4(normal, 0.0)).xyz;
|
normal = (u_ModelTransformMatrix * vec4(normal, 0.0)).xyz;
|
||||||
#if defined(USE_LIGHT) && !defined(USE_FAST_LIGHT)
|
#if defined(USE_LIGHT) && !defined(USE_FAST_LIGHT)
|
||||||
tangent = (u_ModelMatrix * vec4(tangent, 0.0)).xyz;
|
tangent = (u_ModelTransformMatrix * vec4(tangent, 0.0)).xyz;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -213,8 +218,8 @@ void main()
|
||||||
vec3 L = u_LightOrigin.xyz - (position * u_LightOrigin.w);
|
vec3 L = u_LightOrigin.xyz - (position * u_LightOrigin.w);
|
||||||
#elif defined(USE_LIGHT) && !defined(USE_FAST_LIGHT)
|
#elif defined(USE_LIGHT) && !defined(USE_FAST_LIGHT)
|
||||||
vec3 L = attr_LightDirection;
|
vec3 L = attr_LightDirection;
|
||||||
#if defined(USE_MODELMATRIX)
|
#if defined(USE_MODELTRANSFORMMATRIX)
|
||||||
L = (u_ModelMatrix * vec4(L, 0.0)).xyz;
|
L = (u_ModelTransformMatrix * vec4(L, 0.0)).xyz;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -737,6 +737,7 @@ void RE_StretchRaw (int x, int y, int w, int h, int cols, int rows, const byte *
|
||||||
|
|
||||||
GLSL_BindProgram(&tr.textureColorShader);
|
GLSL_BindProgram(&tr.textureColorShader);
|
||||||
|
|
||||||
|
GLSL_SetUniformMat4(&tr.textureColorShader, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||||
GLSL_SetUniformMat4(&tr.textureColorShader, UNIFORM_MODELMATRIX, glState.modelview);
|
GLSL_SetUniformMat4(&tr.textureColorShader, UNIFORM_MODELMATRIX, glState.modelview);
|
||||||
GLSL_BindBuffers(&tr.textureColorShader);
|
GLSL_BindBuffers(&tr.textureColorShader);
|
||||||
GLSL_SetUniformVec4(&tr.textureColorShader, UNIFORM_COLOR, colorWhite);
|
GLSL_SetUniformVec4(&tr.textureColorShader, UNIFORM_COLOR, colorWhite);
|
||||||
|
|
|
@ -577,6 +577,7 @@ void FBO_BlitFromTexture(struct image_s *src, vec4_t inSrcTexCorners, vec2_t inS
|
||||||
|
|
||||||
GLSL_BindProgram(shaderProgram);
|
GLSL_BindProgram(shaderProgram);
|
||||||
|
|
||||||
|
GLSL_SetUniformMat4(shaderProgram, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||||
GLSL_SetUniformMat4(shaderProgram, UNIFORM_MODELMATRIX, glState.modelview);
|
GLSL_SetUniformMat4(shaderProgram, UNIFORM_MODELMATRIX, glState.modelview);
|
||||||
GLSL_BindBuffers(shaderProgram);
|
GLSL_BindBuffers(shaderProgram);
|
||||||
GLSL_SetUniformVec4(shaderProgram, UNIFORM_COLOR, color);
|
GLSL_SetUniformVec4(shaderProgram, UNIFORM_COLOR, color);
|
||||||
|
|
|
@ -130,6 +130,7 @@ static uniformInfo_t uniformsInfo[] =
|
||||||
{ "u_FogColorMask", GLSL_VEC4 },
|
{ "u_FogColorMask", GLSL_VEC4 },
|
||||||
|
|
||||||
{ "u_ModelMatrix", GLSL_MAT16 },
|
{ "u_ModelMatrix", GLSL_MAT16 },
|
||||||
|
{ "u_ModelTransformMatrix", GLSL_MAT16 },
|
||||||
|
|
||||||
{ "u_Time", GLSL_FLOAT },
|
{ "u_Time", GLSL_FLOAT },
|
||||||
{ "u_VertexLerp" , GLSL_FLOAT },
|
{ "u_VertexLerp" , GLSL_FLOAT },
|
||||||
|
@ -1313,7 +1314,7 @@ void GLSL_InitGPUShaders(void)
|
||||||
|
|
||||||
if (i & LIGHTDEF_ENTITY_VERTEX_ANIMATION)
|
if (i & LIGHTDEF_ENTITY_VERTEX_ANIMATION)
|
||||||
{
|
{
|
||||||
Q_strcat(extradefines, 1024, "#define USE_VERTEX_ANIMATION\n#define USE_MODELMATRIX\n");
|
Q_strcat(extradefines, 1024, "#define USE_VERTEX_ANIMATION\n#define USE_MODELTRANSFORMMATRIX\n");
|
||||||
attribs |= ATTR_POSITION2 | ATTR_NORMAL2;
|
attribs |= ATTR_POSITION2 | ATTR_NORMAL2;
|
||||||
|
|
||||||
if (r_normalMapping->integer)
|
if (r_normalMapping->integer)
|
||||||
|
@ -1323,7 +1324,7 @@ void GLSL_InitGPUShaders(void)
|
||||||
}
|
}
|
||||||
else if (i & LIGHTDEF_ENTITY_BONE_ANIMATION)
|
else if (i & LIGHTDEF_ENTITY_BONE_ANIMATION)
|
||||||
{
|
{
|
||||||
Q_strcat(extradefines, 1024, "#define USE_MODELMATRIX\n");
|
Q_strcat(extradefines, 1024, "#define USE_MODELTRANSFORMMATRIX\n");
|
||||||
Q_strcat(extradefines, 1024, va("#define USE_BONE_ANIMATION\n#define MAX_GLSL_BONES %d\n", glRefConfig.glslMaxAnimatedBones));
|
Q_strcat(extradefines, 1024, va("#define USE_BONE_ANIMATION\n#define MAX_GLSL_BONES %d\n", glRefConfig.glslMaxAnimatedBones));
|
||||||
attribs |= ATTR_BONE_INDEXES | ATTR_BONE_WEIGHTS;
|
attribs |= ATTR_BONE_INDEXES | ATTR_BONE_WEIGHTS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,6 +107,7 @@ typedef struct {
|
||||||
vec3_t origin; // in world coordinates
|
vec3_t origin; // in world coordinates
|
||||||
vec3_t axis[3]; // orientation in world
|
vec3_t axis[3]; // orientation in world
|
||||||
vec3_t viewOrigin; // viewParms->or.origin in local coordinates
|
vec3_t viewOrigin; // viewParms->or.origin in local coordinates
|
||||||
|
float transformMatrix[16];
|
||||||
union {
|
union {
|
||||||
float eyeViewMatrix[3][16];
|
float eyeViewMatrix[3][16];
|
||||||
float viewMatrix[48];
|
float viewMatrix[48];
|
||||||
|
@ -673,6 +674,7 @@ typedef enum
|
||||||
UNIFORM_FOGCOLORMASK,
|
UNIFORM_FOGCOLORMASK,
|
||||||
|
|
||||||
UNIFORM_MODELMATRIX,
|
UNIFORM_MODELMATRIX,
|
||||||
|
UNIFORM_MODELTRANSFORMMATRIX,
|
||||||
|
|
||||||
UNIFORM_TIME,
|
UNIFORM_TIME,
|
||||||
UNIFORM_VERTEXLERP,
|
UNIFORM_VERTEXLERP,
|
||||||
|
|
|
@ -536,6 +536,7 @@ void R_RotateForEntity( const trRefEntity_t *ent, const viewParms_t *viewParms,
|
||||||
glMatrix[11] = 0;
|
glMatrix[11] = 0;
|
||||||
glMatrix[15] = 1;
|
glMatrix[15] = 1;
|
||||||
|
|
||||||
|
Mat4Copy(glMatrix, or->transformMatrix);
|
||||||
for (int eye = 0; eye <= 2; ++eye) {
|
for (int eye = 0; eye <= 2; ++eye) {
|
||||||
myGlMultMatrix( glMatrix, viewParms->world.eyeViewMatrix[eye], or->eyeViewMatrix[eye] );
|
myGlMultMatrix( glMatrix, viewParms->world.eyeViewMatrix[eye], or->eyeViewMatrix[eye] );
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,6 +114,7 @@ static void DrawTris (shaderCommands_t *input) {
|
||||||
|
|
||||||
GLSL_BindProgram(sp);
|
GLSL_BindProgram(sp);
|
||||||
|
|
||||||
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||||
GLSL_BindBuffers(sp);
|
GLSL_BindBuffers(sp);
|
||||||
VectorSet4(color, 1, 1, 1, 1);
|
VectorSet4(color, 1, 1, 1, 1);
|
||||||
|
@ -353,6 +354,7 @@ static void ProjectDlightTexture( void ) {
|
||||||
|
|
||||||
GLSL_BindProgram(sp);
|
GLSL_BindProgram(sp);
|
||||||
|
|
||||||
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||||
GLSL_BindBuffers(sp);
|
GLSL_BindBuffers(sp);
|
||||||
|
|
||||||
|
@ -693,6 +695,7 @@ static void ForwardDlight( void ) {
|
||||||
|
|
||||||
GLSL_BindProgram(sp);
|
GLSL_BindProgram(sp);
|
||||||
|
|
||||||
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||||
GLSL_BindBuffers(sp);
|
GLSL_BindBuffers(sp);
|
||||||
GLSL_SetUniformVec3(sp, UNIFORM_VIEWORIGIN, backEnd.viewParms.or.origin);
|
GLSL_SetUniformVec3(sp, UNIFORM_VIEWORIGIN, backEnd.viewParms.or.origin);
|
||||||
|
@ -756,6 +759,7 @@ static void ForwardDlight( void ) {
|
||||||
GL_State( GLS_SRCBLEND_ONE | GLS_DSTBLEND_ONE | GLS_DEPTHFUNC_EQUAL );
|
GL_State( GLS_SRCBLEND_ONE | GLS_DSTBLEND_ONE | GLS_DEPTHFUNC_EQUAL );
|
||||||
GLSL_SetUniformInt(sp, UNIFORM_ALPHATEST, 0);
|
GLSL_SetUniformInt(sp, UNIFORM_ALPHATEST, 0);
|
||||||
|
|
||||||
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||||
GLSL_BindBuffers(sp);
|
GLSL_BindBuffers(sp);
|
||||||
|
|
||||||
|
@ -848,6 +852,7 @@ static void ProjectPshadowVBOGLSL( void ) {
|
||||||
|
|
||||||
GLSL_BindProgram(sp);
|
GLSL_BindProgram(sp);
|
||||||
|
|
||||||
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||||
GLSL_BindBuffers(sp);
|
GLSL_BindBuffers(sp);
|
||||||
|
|
||||||
|
@ -925,6 +930,7 @@ static void RB_FogPass( void ) {
|
||||||
|
|
||||||
fog = tr.world->fogs + tess.fogNum;
|
fog = tr.world->fogs + tess.fogNum;
|
||||||
|
|
||||||
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||||
GLSL_BindBuffers(sp);
|
GLSL_BindBuffers(sp);
|
||||||
|
|
||||||
|
@ -1100,6 +1106,7 @@ static void RB_IterateStagesGeneric( shaderCommands_t *input )
|
||||||
|
|
||||||
GLSL_BindProgram(sp);
|
GLSL_BindProgram(sp);
|
||||||
|
|
||||||
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||||
GLSL_BindBuffers(sp);
|
GLSL_BindBuffers(sp);
|
||||||
GLSL_SetUniformVec3(sp, UNIFORM_VIEWORIGIN, backEnd.viewParms.or.origin);
|
GLSL_SetUniformVec3(sp, UNIFORM_VIEWORIGIN, backEnd.viewParms.or.origin);
|
||||||
|
@ -1217,6 +1224,7 @@ static void RB_IterateStagesGeneric( shaderCommands_t *input )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||||
GLSL_BindBuffers(sp);
|
GLSL_BindBuffers(sp);
|
||||||
|
|
||||||
|
@ -1421,6 +1429,7 @@ static void RB_RenderShadowmap( shaderCommands_t *input )
|
||||||
|
|
||||||
GLSL_BindProgram(sp);
|
GLSL_BindProgram(sp);
|
||||||
|
|
||||||
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||||
GLSL_BindBuffers(sp);
|
GLSL_BindBuffers(sp);
|
||||||
|
|
||||||
|
|
|
@ -439,6 +439,7 @@ static void DrawSkySide( struct image_s *image, const int mins[2], const int max
|
||||||
|
|
||||||
GLSL_BindProgram(sp);
|
GLSL_BindProgram(sp);
|
||||||
|
|
||||||
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||||
GLSL_BindBuffers(sp);
|
GLSL_BindBuffers(sp);
|
||||||
|
|
||||||
|
|
|
@ -227,6 +227,7 @@ void RB_InstantQuad(vec4_t quadVerts[4])
|
||||||
|
|
||||||
GLSL_BindProgram(&tr.textureColorShader);
|
GLSL_BindProgram(&tr.textureColorShader);
|
||||||
|
|
||||||
|
GLSL_SetUniformMat4(&tr.textureColorShader, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||||
GLSL_SetUniformMat4(&tr.textureColorShader, UNIFORM_MODELMATRIX, glState.modelview);
|
GLSL_SetUniformMat4(&tr.textureColorShader, UNIFORM_MODELMATRIX, glState.modelview);
|
||||||
GLSL_BindBuffers(&tr.textureColorShader);
|
GLSL_BindBuffers(&tr.textureColorShader);
|
||||||
GLSL_SetUniformVec4(&tr.textureColorShader, UNIFORM_COLOR, colorWhite);
|
GLSL_SetUniformVec4(&tr.textureColorShader, UNIFORM_COLOR, colorWhite);
|
||||||
|
@ -540,6 +541,7 @@ static void RB_SurfaceBeam( void )
|
||||||
|
|
||||||
GLSL_BindProgram(sp);
|
GLSL_BindProgram(sp);
|
||||||
|
|
||||||
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||||
GLSL_BindBuffers(sp);
|
GLSL_BindBuffers(sp);
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,11 @@ uniform highp mat4 u_ModelMatrix;
|
||||||
uniform vec4 u_BaseColor;
|
uniform vec4 u_BaseColor;
|
||||||
uniform vec4 u_VertColor;
|
uniform vec4 u_VertColor;
|
||||||
|
|
||||||
|
#if defined(USE_MODELTRANSFORMMATRIX)
|
||||||
|
uniform mat4 u_ModelTransformMatrix;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if defined(USE_VERTEX_ANIMATION)
|
#if defined(USE_VERTEX_ANIMATION)
|
||||||
uniform float u_VertexLerp;
|
uniform float u_VertexLerp;
|
||||||
#elif defined(USE_BONE_ANIMATION)
|
#elif defined(USE_BONE_ANIMATION)
|
||||||
|
@ -197,11 +202,11 @@ void main()
|
||||||
|
|
||||||
gl_Position = u_ProjectionMatrix * (u_ViewMatrices[gl_ViewID_OVR] * (u_ModelMatrix * vec4(position, 1.0)));
|
gl_Position = u_ProjectionMatrix * (u_ViewMatrices[gl_ViewID_OVR] * (u_ModelMatrix * vec4(position, 1.0)));
|
||||||
|
|
||||||
#if defined(USE_MODELMATRIX)
|
#if defined(USE_MODELTRANSFORMMATRIX)
|
||||||
position = (u_ModelMatrix * vec4(position, 1.0)).xyz;
|
position = (u_ModelTransformMatrix * vec4(position, 1.0)).xyz;
|
||||||
normal = (u_ModelMatrix * vec4(normal, 0.0)).xyz;
|
normal = (u_ModelTransformMatrix * vec4(normal, 0.0)).xyz;
|
||||||
#if defined(USE_LIGHT) && !defined(USE_FAST_LIGHT)
|
#if defined(USE_LIGHT) && !defined(USE_FAST_LIGHT)
|
||||||
tangent = (u_ModelMatrix * vec4(tangent, 0.0)).xyz;
|
tangent = (u_ModelTransformMatrix * vec4(tangent, 0.0)).xyz;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -213,8 +218,8 @@ void main()
|
||||||
vec3 L = u_LightOrigin.xyz - (position * u_LightOrigin.w);
|
vec3 L = u_LightOrigin.xyz - (position * u_LightOrigin.w);
|
||||||
#elif defined(USE_LIGHT) && !defined(USE_FAST_LIGHT)
|
#elif defined(USE_LIGHT) && !defined(USE_FAST_LIGHT)
|
||||||
vec3 L = attr_LightDirection;
|
vec3 L = attr_LightDirection;
|
||||||
#if defined(USE_MODELMATRIX)
|
#if defined(USE_MODELTRANSFORMMATRIX)
|
||||||
L = (u_ModelMatrix * vec4(L, 0.0)).xyz;
|
L = (u_ModelTransformMatrix * vec4(L, 0.0)).xyz;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
BIN
android/app/src/main/pakQ3Q/pakQ3Q.pk3
Normal file
BIN
android/app/src/main/pakQ3Q/pakQ3Q.pk3
Normal file
Binary file not shown.
Loading…
Reference in a new issue