Skip to content

Commit

Permalink
2.6.0b2 (sdk 1.12.5) - Beta release version
Browse files Browse the repository at this point in the history
  • Loading branch information
zite committed Jun 25, 2020
1 parent 533940d commit 8239f4f
Show file tree
Hide file tree
Showing 8 changed files with 279 additions and 56 deletions.
47 changes: 39 additions & 8 deletions Assets/SteamVR/Editor/SteamVR_AutoEnableVR.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System;
using System.Reflection;

namespace Valve.VR
{
Expand All @@ -21,8 +23,9 @@ static SteamVR_AutoEnableVR()
}

protected const string openVRString = "OpenVR";
protected const string openVRPackageString = "com.unity.xr.openvr.standalone";
protected const string unityOpenVRPackageString = "com.unity.xr.openvr.standalone";
protected const string valveOpenVRPackageString = "com.valvesoftware.unity.openvr";
protected const string valveOpenVRPackageStringOld = "com.valve.openvr";
protected const string valveOpenVRGitURL = "https://github.com/ValveSoftware/steamvr_unity_plugin.git#UnityXRPlugin";

#if UNITY_2018_2_OR_NEWER
Expand Down Expand Up @@ -127,19 +130,29 @@ public static void Update()
break;
}

string packageName = openVRPackageString;
#if OPENVR_XR_API
UnityEditor.PackageManager.Client.Remove(openVRPackageString); //remove the old one or the dlls will clash
string packageName = null;

#if OPENVR_XR_API || UNITY_2020_1_OR_NEWER || XR_MGMT
if (listRequest.Result.Any(package => package.name == unityOpenVRPackageString))
UnityEditor.PackageManager.Client.Remove(unityOpenVRPackageString); //remove the old one or the dlls will clash
if (listRequest.Result.Any(package => package.name == valveOpenVRPackageStringOld))
UnityEditor.PackageManager.Client.Remove(valveOpenVRPackageStringOld); //remove the old one or the dlls will clash

packageName = valveOpenVRPackageString;
#elif UNITY_2020_1_OR_NEWER || XR_MGMT
packageName = valveOpenVRGitURL;
#else
packageName = unityOpenVRPackageString;
#endif

bool hasPackage = listRequest.Result.Any(package => package.name == packageName);

if (hasPackage == false)
{
if (packageName == valveOpenVRPackageString)
{
packageState = PackageStates.Installed; //mark it as installed here so the npm installer can take over
StartAutoUpdater();
}

//if we don't have the package - then install it
addRequest = UnityEditor.PackageManager.Client.Add(packageName);
packageState = PackageStates.WaitingForAdd;
Expand Down Expand Up @@ -205,7 +218,7 @@ public static void Update()
packageState = PackageStates.Failed;
break;
}
string packageName = openVRPackageString;
string packageName = unityOpenVRPackageString;
#if OPENVR_XR_API
packageName = valveOpenVRPackageString;
#endif
Expand Down Expand Up @@ -252,9 +265,27 @@ public static void Update()
}
}
#else
UnityEditor.EditorApplication.update -= Update;
UnityEditor.EditorApplication.update -= Update;
#endif
}
}
private static void StartAutoUpdater()
{
Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
for (int assemblyIndex = 0; assemblyIndex < assemblies.Length; assemblyIndex++)
{
Assembly assembly = assemblies[assemblyIndex];
Type type = assembly.GetType("Unity.XR.OpenVR.OpenVRAutoUpdater");
if (type != null)
{
MethodInfo preinitMethodInfo = type.GetMethod("Start");
if (preinitMethodInfo != null)
{
preinitMethodInfo.Invoke(null, null);
return;
}
}
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Shader "Valve/VR/ControllerButtonHints"
_Color( "Color", Color ) = ( 1, 1, 1, 1 )
_SceneTint( "SceneTint", Color ) = ( 1, 1, 1, 1 )
}

SubShader
{
Tags{ "Queue" = "Transparent+1" "RenderType" = "Transparent" }
Expand All @@ -32,13 +33,57 @@ Shader "Valve/VR/ControllerButtonHints"
}

CGPROGRAM

#pragma vertex MainVS
#pragma fragment MainPS

// Includes -------------------------------------------------------------------------------------------------------------------------------------------------
#include "UnityCG.cginc"

#if UNITY_VERSION >= 201810

// Structs --------------------------------------------------------------------------------------------------------------------------------------------------
struct VertexInput
{
float4 vertex : POSITION;

UNITY_VERTEX_INPUT_INSTANCE_ID
};

struct VertexOutput
{
float4 vertex : SV_POSITION;

UNITY_VERTEX_OUTPUT_STEREO
};

// Globals --------------------------------------------------------------------------------------------------------------------------------------------------
UNITY_INSTANCING_BUFFER_START( Props )
UNITY_DEFINE_INSTANCED_PROP( float4, _SceneTint )
UNITY_INSTANCING_BUFFER_END( Props )


// MainVs ---------------------------------------------------------------------------------------------------------------------------------------------------
VertexOutput MainVS( VertexInput i )
{
VertexOutput o;
UNITY_SETUP_INSTANCE_ID( i );
UNITY_INITIALIZE_OUTPUT( VertexOutput, o );
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o );

o.vertex = UnityObjectToClipPos(i.vertex);

return o;
}

// MainPs ---------------------------------------------------------------------------------------------------------------------------------------------------
float4 MainPS( VertexOutput i ) : SV_Target
{
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( i );

return UNITY_ACCESS_INSTANCED_PROP( Props, _SceneTint.rgba );
}
#else

// Structs --------------------------------------------------------------------------------------------------------------------------------------------------
struct VertexInput
{
Expand Down Expand Up @@ -70,7 +115,7 @@ Shader "Valve/VR/ControllerButtonHints"
{
return _SceneTint.rgba;
}

#endif
ENDCG
}
Pass
Expand All @@ -85,10 +130,63 @@ Shader "Valve/VR/ControllerButtonHints"

#pragma vertex MainVS
#pragma fragment MainPS

// Includes -------------------------------------------------------------------------------------------------------------------------------------------------
#include "UnityCG.cginc"

#if UNITY_VERSION >= 201810

// Structs --------------------------------------------------------------------------------------------------------------------------------------------------
struct VertexInput
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;

UNITY_VERTEX_INPUT_INSTANCE_ID
};

struct VertexOutput
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;

UNITY_VERTEX_OUTPUT_STEREO
};

// Globals --------------------------------------------------------------------------------------------------------------------------------------------------
UNITY_INSTANCING_BUFFER_START( Props )
UNITY_DEFINE_INSTANCED_PROP( sampler2D, _MainTex )
UNITY_DEFINE_INSTANCED_PROP( float4, _MainTex_ST )
UNITY_DEFINE_INSTANCED_PROP( float4, _Color )
UNITY_INSTANCING_BUFFER_END( Props )

// MainVs ---------------------------------------------------------------------------------------------------------------------------------------------------
VertexOutput MainVS( VertexInput i )
{
VertexOutput o;
UNITY_SETUP_INSTANCE_ID( i );
UNITY_INITIALIZE_OUTPUT( VertexOutput, o );
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o );

o.vertex = UnityObjectToClipPos(i.vertex);

o.uv = TRANSFORM_TEX( i.uv, UNITY_ACCESS_INSTANCED_PROP( Props, _MainTex ) );

return o;
}

// MainPs ---------------------------------------------------------------------------------------------------------------------------------------------------
float4 MainPS( VertexOutput i ) : SV_Target
{
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( i );

float4 vColor;
vColor.rgb = lerp( tex2D( UNITY_ACCESS_INSTANCED_PROP( Props, _MainTex ), i.uv).rgb, UNITY_ACCESS_INSTANCED_PROP( Props, _Color.rgb ), UNITY_ACCESS_INSTANCED_PROP( Props, _Color.a ) );
vColor.a = UNITY_ACCESS_INSTANCED_PROP( Props, _Color.a );

return vColor.rgba;
}
#else
// Structs --------------------------------------------------------------------------------------------------------------------------------------------------
struct VertexInput
{
Expand Down Expand Up @@ -130,6 +228,7 @@ Shader "Valve/VR/ControllerButtonHints"

return vColor.rgba;
}
#endif

ENDCG
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,27 @@ Shader "FX/LightCone" {
#pragma fragment frag
#pragma multi_compile_particles

#if UNITY_VERSION >= 201810
#pragma multi_compile_instancing
#endif

#include "UnityCG.cginc"

sampler2D _MainTex;
sampler2D _MainTex;
fixed4 _TintColor;
uniform fixed _BWEffectOn;
float _InvFade;
half _Rim;

struct appdata_t {
float4 vertex : POSITION;
float3 normal : NORMAL;
fixed4 color : COLOR;
fixed4 viewDir : TEXCOORD0;

#if UNITY_VERSION >= 201810
UNITY_VERTEX_INPUT_INSTANCE_ID
#endif
};

struct v2f {
Expand All @@ -44,12 +54,22 @@ Shader "FX/LightCone" {
#endif
float3 normal : NORMAL;
float3 viewDir : TEXCOORD1;

#if UNITY_VERSION >= 201810
UNITY_VERTEX_OUTPUT_STEREO //Insert
#endif
};


#if UNITY_VERSION >= 201810
v2f vert(appdata_t v)
{
{
v2f o;

UNITY_SETUP_INSTANCE_ID(v); //Insert
UNITY_INITIALIZE_OUTPUT(v2f, o); //Insert
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); //Insert

o.vertex = UnityObjectToClipPos(v.vertex);
#ifdef SOFTPARTICLES_ON
o.projPos = ComputeScreenPos(o.vertex);
Expand All @@ -62,9 +82,48 @@ Shader "FX/LightCone" {
return o;
}

UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture);


fixed4 frag(v2f i) : SV_Target
{
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); //Insert

#ifdef SOFTPARTICLES_ON
float sceneZ = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)));
float partZ = i.projPos.z;
float fade = 1 - saturate(_InvFade * (partZ - sceneZ));
i.color.a *= fade;
#endif

i.color = pow(i.color,3);

half rim = saturate(pow(saturate(abs(dot(i.viewDir, i.normal))),_Rim));

i.color.a *= rim;

fixed4 finalCol = 2.0f * i.color * _TintColor;
fixed lum = Luminance(finalCol.xyz);
return finalCol;
}

#else

sampler2D_float _CameraDepthTexture;
float _InvFade;
half _Rim;
v2f vert(appdata_t v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
#ifdef SOFTPARTICLES_ON
o.projPos = ComputeScreenPos(o.vertex);
COMPUTE_EYEDEPTH(o.projPos.z);
#endif
o.color = v.color;
o.normal = v.normal;
o.viewDir = normalize(ObjSpaceViewDir(v.vertex));

return o;
}

fixed4 frag(v2f i) : SV_Target
{
Expand All @@ -85,6 +144,7 @@ Shader "FX/LightCone" {
fixed lum = Luminance(finalCol.xyz);
return finalCol;
}
#endif
ENDCG
}
}
Expand Down
11 changes: 8 additions & 3 deletions Assets/SteamVR/OpenVRAutoUpdater/Editor/OpenVRAutoUpdater.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#if UNITY_EDITOR && (UNITY_2020_1_OR_NEWER || VALVE_UPDATE_FORCE)
#if UNITY_EDITOR && (UNITY_2019_3_OR_NEWER || VALVE_UPDATE_FORCE)
using System.IO;
using System.Linq;
using Unity.XR.OpenVR.SimpleJSON;
Expand Down Expand Up @@ -60,10 +60,15 @@ private static double runningSeconds

static OpenVRAutoUpdater()
{
#if UNITY_2020_1_OR_NEWER || VALVE_UPDATE_FORCE
#if UNITY_2020_1_OR_NEWER || VALVE_UPDATE_FORCE
Start();
#endif
}

public static void Start()
{
EditorApplication.update -= Update;
EditorApplication.update += Update;
#endif
}

/// <summary>
Expand Down

0 comments on commit 8239f4f

Please sign in to comment.