Ensure that the two types of HUD and weapon wheel all render at the same depth

also set the precision of the shaders to use the default precision
This commit is contained in:
Simon 2022-04-08 18:14:53 +01:00
parent 3196c2b676
commit c7d67820c5
27 changed files with 85 additions and 78 deletions

View file

@ -2,8 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.drbeef.ioq3quest"
android:installLocation="preferExternal"
android:versionCode="45"
android:versionName="0.31.0">
android:versionCode="46"
android:versionName="0.31.1">
<uses-feature android:name="android.hardware.vr.headtracking" android:version="1" android:required="true" />
<uses-feature android:glEsVersion="0x00030001" />
<!-- <uses-feature android:name="oculus.software.overlay_keyboard" android:required="false"/>-->

View file

@ -2901,7 +2901,7 @@ void CG_DrawActive( void ) {
vec3_t forward, right, up;
float scale = trap_Cvar_VariableValue("vr_worldscaleScaler");
float dist = (trap_Cvar_VariableValue("vr_hudDepth")+2) * 5 * scale;
float dist = (trap_Cvar_VariableValue("vr_hudDepth")+3) * 3 * scale;
float radius = dist / 3.0f;
if (cg.snap->ps.stats[STAT_HEALTH] > 0 &&

View file

@ -2077,9 +2077,9 @@ void CG_DrawWeaponSelector( void )
VectorCopy(vr->hmdorientation, cg.weaponSelectorAngles);
VectorCopy(vr->hmdposition, cg.weaponSelectorOrigin);
VectorClear(cg.weaponSelectorOffset);
dist = (trap_Cvar_VariableValue("vr_hudDepth")+2) * 5;
dist = (trap_Cvar_VariableValue("vr_hudDepth")+3) * 3;
radius = dist / 3.0f;
scale = 0.04f + 0.02f * (trap_Cvar_VariableValue("vr_hudDepth")+1);
scale = 0.04f + 0.01f * (trap_Cvar_VariableValue("vr_hudDepth")+1);
}
float frac = (cg.time - cg.weaponSelectorTime) / 100.0f;
@ -2336,10 +2336,13 @@ void CG_DrawWeaponSelector( void )
refEntity_t sprite;
memset( &sprite, 0, sizeof( sprite ) );
float sRadius = 0.7f
+ (0.2f * (trap_Cvar_VariableValue("vr_hudDepth")-1));
VectorCopy(iconOrigin, sprite.origin);
sprite.reType = RT_SPRITE;
sprite.customShader = cg_weapons[weaponId].weaponIcon;
sprite.radius = 0.6f + (cg.weaponSelectorSelection == weaponId ? 0.1f : 0);
sprite.radius = sRadius * 0.9f * (cg.weaponSelectorSelection == weaponId ? 1.1f : 1.0);
sprite.shaderRGBA[0] = 255;
sprite.shaderRGBA[1] = 255;
sprite.shaderRGBA[2] = 255;
@ -2351,7 +2354,7 @@ void CG_DrawWeaponSelector( void )
VectorCopy( iconBackground, sprite.origin );
sprite.reType = RT_SPRITE;
sprite.customShader = cgs.media.selectShader;
sprite.radius = 0.7f + (cg.weaponSelectorSelection == weaponId ? 0.1f : 0);
sprite.radius = sRadius * (cg.weaponSelectorSelection == weaponId ? 1.1f : 1.0);
sprite.shaderRGBA[0] = 255;
sprite.shaderRGBA[1] = 255;
sprite.shaderRGBA[2] = 255;
@ -2364,7 +2367,7 @@ void CG_DrawWeaponSelector( void )
VectorCopy(iconForeground, sprite.origin);
sprite.reType = RT_SPRITE;
sprite.customShader = cgs.media.noammoShader;
sprite.radius = 0.7f;
sprite.radius = sRadius;
sprite.shaderRGBA[0] = 255;
sprite.shaderRGBA[1] = 255;
sprite.shaderRGBA[2] = 255;

View file

@ -4,13 +4,13 @@ attribute vec4 attr_TexCoord0;
// Uniforms
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
varying vec2 var_TexCoords;

View file

@ -4,13 +4,13 @@ attribute vec4 attr_TexCoord0;
// Uniforms
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
varying vec2 var_TexCoords;

View file

@ -12,16 +12,16 @@ uniform float u_Time;
uniform vec4 u_Color;
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
// Uniforms
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
varying vec2 var_Tex1;

View file

@ -2,15 +2,15 @@ attribute vec3 attr_Position;
attribute vec4 attr_TexCoord0;
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
// Uniforms
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
varying vec2 var_TexCoords;

View file

@ -15,7 +15,7 @@ uniform vec4 u_FogDistance;
uniform vec4 u_FogDepth;
uniform float u_FogEyeT;
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
#if defined(USE_DEFORM_VERTEXES)
uniform int u_DeformGen;
@ -35,11 +35,11 @@ uniform vec4 u_Color;
// Uniforms
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
varying float var_Scale;

View file

@ -36,7 +36,7 @@ uniform float u_FogEyeT;
uniform vec4 u_FogColorMask;
#endif
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
#if defined(USE_DEFORM_VERTEXES)
uniform int u_DeformGen;
@ -66,11 +66,11 @@ uniform mat4 u_BoneMatrix[MAX_GLSL_BONES];
// Uniforms
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
varying vec2 var_DiffuseTex;

View file

@ -42,7 +42,7 @@ uniform vec4 u_DiffuseTexOffTurb;
#endif
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
uniform vec4 u_BaseColor;
uniform vec4 u_VertColor;
@ -69,11 +69,11 @@ uniform float u_PrimaryLightRadius;
// Uniforms
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
varying vec4 var_TexCoords;

View file

@ -1,15 +1,15 @@
attribute vec3 attr_Position;
attribute vec3 attr_Normal;
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
varying vec3 var_Position;

View file

@ -20,7 +20,7 @@ uniform float u_DeformParams[5];
uniform float u_Time;
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
#if defined(USE_VERTEX_ANIMATION)
uniform float u_VertexLerp;
@ -30,11 +30,11 @@ uniform mat4 u_BoneMatrix[MAX_GLSL_BONES];
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
varying vec3 var_Position;

View file

@ -3,15 +3,15 @@ attribute vec4 attr_TexCoord0;
// Uniforms
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
varying vec2 var_Tex1;

View file

@ -2,17 +2,17 @@ attribute vec3 attr_Position;
attribute vec4 attr_TexCoord0;
// Uniforms
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
uniform vec3 u_ToneMinAvgMaxLinear;
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};

View file

@ -213,12 +213,16 @@ static void GLSL_ViewMatricesUniformBuffer(const float eyeView[32], const float
break;
case STEREO_ORTHO_PROJECTION:
{
const auto depth = (6-vr_hudDepth->integer) * 16;
//This is a bit of a fiddle this calc.. it is just done like this to
//make the HUD depths line up with the weapon wheel depth. I _know_ there
//would be a proper calculation to do this exactly, but this is good enough
//and I've just had enough messing about with this
const auto depthOffset = (5-powf(vr_hudDepth->integer, 0.7f)) * 16;
vec3_t translate;
VectorSet(translate, depth, 0, 0);
VectorSet(translate, depthOffset, 0, 0);
Mat4Translation( translate, viewMatrices );
VectorSet(translate, -depth, 0, 0);
VectorSet(translate, -depthOffset, 0, 0);
Mat4Translation( translate, viewMatrices + 16 );
}
break;

View file

@ -4,13 +4,13 @@ attribute vec4 attr_TexCoord0;
// Uniforms
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
varying vec2 var_TexCoords;

View file

@ -4,13 +4,13 @@ attribute vec4 attr_TexCoord0;
// Uniforms
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
varying vec2 var_TexCoords;

View file

@ -12,16 +12,16 @@ uniform float u_Time;
uniform vec4 u_Color;
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
// Uniforms
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
varying vec2 var_Tex1;

View file

@ -2,15 +2,15 @@ attribute vec3 attr_Position;
attribute vec4 attr_TexCoord0;
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
// Uniforms
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
varying vec2 var_TexCoords;

View file

@ -15,7 +15,7 @@ uniform vec4 u_FogDistance;
uniform vec4 u_FogDepth;
uniform float u_FogEyeT;
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
#if defined(USE_DEFORM_VERTEXES)
uniform int u_DeformGen;
@ -35,11 +35,11 @@ uniform vec4 u_Color;
// Uniforms
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
varying float var_Scale;

View file

@ -36,7 +36,7 @@ uniform float u_FogEyeT;
uniform vec4 u_FogColorMask;
#endif
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
#if defined(USE_DEFORM_VERTEXES)
uniform int u_DeformGen;
@ -66,11 +66,11 @@ uniform mat4 u_BoneMatrix[MAX_GLSL_BONES];
// Uniforms
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
varying vec2 var_DiffuseTex;

View file

@ -42,7 +42,7 @@ uniform vec4 u_DiffuseTexOffTurb;
#endif
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
uniform vec4 u_BaseColor;
uniform vec4 u_VertColor;
@ -69,11 +69,11 @@ uniform float u_PrimaryLightRadius;
// Uniforms
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
varying vec4 var_TexCoords;

View file

@ -1,15 +1,15 @@
attribute vec3 attr_Position;
attribute vec3 attr_Normal;
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
varying vec3 var_Position;

View file

@ -20,7 +20,7 @@ uniform float u_DeformParams[5];
uniform float u_Time;
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
#if defined(USE_VERTEX_ANIMATION)
uniform float u_VertexLerp;
@ -30,11 +30,11 @@ uniform mat4 u_BoneMatrix[MAX_GLSL_BONES];
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
varying vec3 var_Position;

View file

@ -3,15 +3,15 @@ attribute vec4 attr_TexCoord0;
// Uniforms
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};
varying vec2 var_Tex1;

View file

@ -2,17 +2,17 @@ attribute vec3 attr_Position;
attribute vec4 attr_TexCoord0;
// Uniforms
uniform highp mat4 u_ModelMatrix;
uniform mat4 u_ModelMatrix;
uniform vec3 u_ToneMinAvgMaxLinear;
layout(shared) uniform ViewMatrices
{
uniform highp mat4 u_ViewMatrices[NUM_VIEWS];
uniform mat4 u_ViewMatrices[NUM_VIEWS];
};
layout(shared) uniform ProjectionMatrix
{
uniform highp mat4 u_ProjectionMatrix;
uniform mat4 u_ProjectionMatrix;
};

View file

@ -3,7 +3,7 @@
setlocal
set BUILD_TYPE=release
set VERSION=0.31.0-multiview
set VERSION=0.31.1-multiview
@REM Define the following environment variables to sign a release build
@REM set KEYSTORE=