mirror of
https://github.com/DrBeef/ioq3quest.git
synced 2025-03-12 21:31:01 +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_VertColor;
|
||||
|
||||
#if defined(USE_MODELTRANSFORMMATRIX)
|
||||
uniform mat4 u_ModelTransformMatrix;
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(USE_VERTEX_ANIMATION)
|
||||
uniform float u_VertexLerp;
|
||||
#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)));
|
||||
|
||||
#if defined(USE_MODELMATRIX)
|
||||
position = (u_ModelMatrix * vec4(position, 1.0)).xyz;
|
||||
normal = (u_ModelMatrix * vec4(normal, 0.0)).xyz;
|
||||
#if defined(USE_MODELTRANSFORMMATRIX)
|
||||
position = (u_ModelTransformMatrix * vec4(position, 1.0)).xyz;
|
||||
normal = (u_ModelTransformMatrix * vec4(normal, 0.0)).xyz;
|
||||
#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
|
||||
|
||||
|
@ -213,8 +218,8 @@ void main()
|
|||
vec3 L = u_LightOrigin.xyz - (position * u_LightOrigin.w);
|
||||
#elif defined(USE_LIGHT) && !defined(USE_FAST_LIGHT)
|
||||
vec3 L = attr_LightDirection;
|
||||
#if defined(USE_MODELMATRIX)
|
||||
L = (u_ModelMatrix * vec4(L, 0.0)).xyz;
|
||||
#if defined(USE_MODELTRANSFORMMATRIX)
|
||||
L = (u_ModelTransformMatrix * vec4(L, 0.0)).xyz;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
|
|
@ -736,7 +736,8 @@ void RE_StretchRaw (int x, int y, int w, int h, int cols, int rows, const byte *
|
|||
VectorSet2(texCoords[3], 0.5f / cols, (rows - 0.5f) / rows);
|
||||
|
||||
GLSL_BindProgram(&tr.textureColorShader);
|
||||
|
||||
|
||||
GLSL_SetUniformMat4(&tr.textureColorShader, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||
GLSL_SetUniformMat4(&tr.textureColorShader, UNIFORM_MODELMATRIX, glState.modelview);
|
||||
GLSL_BindBuffers(&tr.textureColorShader);
|
||||
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_SetUniformMat4(shaderProgram, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||
GLSL_SetUniformMat4(shaderProgram, UNIFORM_MODELMATRIX, glState.modelview);
|
||||
GLSL_BindBuffers(shaderProgram);
|
||||
GLSL_SetUniformVec4(shaderProgram, UNIFORM_COLOR, color);
|
||||
|
|
|
@ -130,6 +130,7 @@ static uniformInfo_t uniformsInfo[] =
|
|||
{ "u_FogColorMask", GLSL_VEC4 },
|
||||
|
||||
{ "u_ModelMatrix", GLSL_MAT16 },
|
||||
{ "u_ModelTransformMatrix", GLSL_MAT16 },
|
||||
|
||||
{ "u_Time", GLSL_FLOAT },
|
||||
{ "u_VertexLerp" , GLSL_FLOAT },
|
||||
|
@ -1313,7 +1314,7 @@ void GLSL_InitGPUShaders(void)
|
|||
|
||||
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;
|
||||
|
||||
if (r_normalMapping->integer)
|
||||
|
@ -1323,7 +1324,7 @@ void GLSL_InitGPUShaders(void)
|
|||
}
|
||||
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));
|
||||
attribs |= ATTR_BONE_INDEXES | ATTR_BONE_WEIGHTS;
|
||||
}
|
||||
|
|
|
@ -107,6 +107,7 @@ typedef struct {
|
|||
vec3_t origin; // in world coordinates
|
||||
vec3_t axis[3]; // orientation in world
|
||||
vec3_t viewOrigin; // viewParms->or.origin in local coordinates
|
||||
float transformMatrix[16];
|
||||
union {
|
||||
float eyeViewMatrix[3][16];
|
||||
float viewMatrix[48];
|
||||
|
@ -673,6 +674,7 @@ typedef enum
|
|||
UNIFORM_FOGCOLORMASK,
|
||||
|
||||
UNIFORM_MODELMATRIX,
|
||||
UNIFORM_MODELTRANSFORMMATRIX,
|
||||
|
||||
UNIFORM_TIME,
|
||||
UNIFORM_VERTEXLERP,
|
||||
|
|
|
@ -536,6 +536,7 @@ void R_RotateForEntity( const trRefEntity_t *ent, const viewParms_t *viewParms,
|
|||
glMatrix[11] = 0;
|
||||
glMatrix[15] = 1;
|
||||
|
||||
Mat4Copy(glMatrix, or->transformMatrix);
|
||||
for (int eye = 0; eye <= 2; ++eye) {
|
||||
myGlMultMatrix( glMatrix, viewParms->world.eyeViewMatrix[eye], or->eyeViewMatrix[eye] );
|
||||
}
|
||||
|
|
|
@ -114,6 +114,7 @@ static void DrawTris (shaderCommands_t *input) {
|
|||
|
||||
GLSL_BindProgram(sp);
|
||||
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||
GLSL_BindBuffers(sp);
|
||||
VectorSet4(color, 1, 1, 1, 1);
|
||||
|
@ -353,6 +354,7 @@ static void ProjectDlightTexture( void ) {
|
|||
|
||||
GLSL_BindProgram(sp);
|
||||
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||
GLSL_BindBuffers(sp);
|
||||
|
||||
|
@ -693,6 +695,7 @@ static void ForwardDlight( void ) {
|
|||
|
||||
GLSL_BindProgram(sp);
|
||||
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||
GLSL_BindBuffers(sp);
|
||||
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 );
|
||||
GLSL_SetUniformInt(sp, UNIFORM_ALPHATEST, 0);
|
||||
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||
GLSL_BindBuffers(sp);
|
||||
|
||||
|
@ -848,6 +852,7 @@ static void ProjectPshadowVBOGLSL( void ) {
|
|||
|
||||
GLSL_BindProgram(sp);
|
||||
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||
GLSL_BindBuffers(sp);
|
||||
|
||||
|
@ -925,6 +930,7 @@ static void RB_FogPass( void ) {
|
|||
|
||||
fog = tr.world->fogs + tess.fogNum;
|
||||
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||
GLSL_BindBuffers(sp);
|
||||
|
||||
|
@ -1100,6 +1106,7 @@ static void RB_IterateStagesGeneric( shaderCommands_t *input )
|
|||
|
||||
GLSL_BindProgram(sp);
|
||||
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||
GLSL_BindBuffers(sp);
|
||||
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_BindBuffers(sp);
|
||||
|
||||
|
@ -1421,6 +1429,7 @@ static void RB_RenderShadowmap( shaderCommands_t *input )
|
|||
|
||||
GLSL_BindProgram(sp);
|
||||
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||
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_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||
GLSL_BindBuffers(sp);
|
||||
|
||||
|
|
|
@ -227,6 +227,7 @@ void RB_InstantQuad(vec4_t quadVerts[4])
|
|||
|
||||
GLSL_BindProgram(&tr.textureColorShader);
|
||||
|
||||
GLSL_SetUniformMat4(&tr.textureColorShader, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||
GLSL_SetUniformMat4(&tr.textureColorShader, UNIFORM_MODELMATRIX, glState.modelview);
|
||||
GLSL_BindBuffers(&tr.textureColorShader);
|
||||
GLSL_SetUniformVec4(&tr.textureColorShader, UNIFORM_COLOR, colorWhite);
|
||||
|
@ -540,6 +541,7 @@ static void RB_SurfaceBeam( void )
|
|||
|
||||
GLSL_BindProgram(sp);
|
||||
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELTRANSFORMMATRIX, backEnd.or.transformMatrix);
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, glState.modelview);
|
||||
GLSL_BindBuffers(sp);
|
||||
|
||||
|
|
|
@ -56,6 +56,11 @@ uniform highp mat4 u_ModelMatrix;
|
|||
uniform vec4 u_BaseColor;
|
||||
uniform vec4 u_VertColor;
|
||||
|
||||
#if defined(USE_MODELTRANSFORMMATRIX)
|
||||
uniform mat4 u_ModelTransformMatrix;
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(USE_VERTEX_ANIMATION)
|
||||
uniform float u_VertexLerp;
|
||||
#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)));
|
||||
|
||||
#if defined(USE_MODELMATRIX)
|
||||
position = (u_ModelMatrix * vec4(position, 1.0)).xyz;
|
||||
normal = (u_ModelMatrix * vec4(normal, 0.0)).xyz;
|
||||
#if defined(USE_MODELTRANSFORMMATRIX)
|
||||
position = (u_ModelTransformMatrix * vec4(position, 1.0)).xyz;
|
||||
normal = (u_ModelTransformMatrix * vec4(normal, 0.0)).xyz;
|
||||
#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
|
||||
|
||||
|
@ -213,8 +218,8 @@ void main()
|
|||
vec3 L = u_LightOrigin.xyz - (position * u_LightOrigin.w);
|
||||
#elif defined(USE_LIGHT) && !defined(USE_FAST_LIGHT)
|
||||
vec3 L = attr_LightDirection;
|
||||
#if defined(USE_MODELMATRIX)
|
||||
L = (u_ModelMatrix * vec4(L, 0.0)).xyz;
|
||||
#if defined(USE_MODELTRANSFORMMATRIX)
|
||||
L = (u_ModelTransformMatrix * vec4(L, 0.0)).xyz;
|
||||
#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