From cdf40b852e22f3f883f5db49ee7f7b6462dff9b1 Mon Sep 17 00:00:00 2001 From: sippeangelo Date: Thu, 19 May 2016 00:35:30 +0200 Subject: [PATCH] Semi-working fade into warehouse by trigger press --- Assets/CameraFade.cs | 17 +++- Assets/LeftEyeRenderTexture.renderTexture | Bin 0 -> 4204 bytes .../LeftEyeRenderTexture.renderTexture.meta | 8 ++ Assets/RightEyeRenderTexture.renderTexture | Bin 0 -> 4208 bytes .../RightEyeRenderTexture.renderTexture.meta | 8 ++ Assets/SteamVR/Editor/SteamVR_Editor.cs | 7 +- Assets/SteamVR/Scripts/SteamVR_Camera.cs | 79 ++++++++++-------- Assets/SteamVR/Scripts/SteamVR_PlayArea.cs | 2 +- Assets/Test.unity | Bin 57512 -> 56680 bytes Assets/TransparencyBitch.shader | 47 +++++++++++ Assets/TransparencyBitch.shader.meta | 11 +++ ProjectSettings/ProjectSettings.asset | Bin 36701 -> 36729 bytes 12 files changed, 140 insertions(+), 39 deletions(-) create mode 100755 Assets/LeftEyeRenderTexture.renderTexture create mode 100755 Assets/LeftEyeRenderTexture.renderTexture.meta create mode 100755 Assets/RightEyeRenderTexture.renderTexture create mode 100755 Assets/RightEyeRenderTexture.renderTexture.meta create mode 100755 Assets/TransparencyBitch.shader create mode 100755 Assets/TransparencyBitch.shader.meta diff --git a/Assets/CameraFade.cs b/Assets/CameraFade.cs index 739495e..f2bcf2f 100755 --- a/Assets/CameraFade.cs +++ b/Assets/CameraFade.cs @@ -1,12 +1,21 @@ using UnityEngine; using System.Collections; +using Valve.VR; public class CameraFade : MonoBehaviour { + public RenderTexture BlendTextureLeft; + public RenderTexture BlendTextureRight; + private float alpha = 0.0F; + static Material blitMaterial; + // Use this for initialization void Start () { + if (!blitMaterial) { + blitMaterial = new Material(Shader.Find("Custom/TransparencyBitch")); + } } // Update is called once per frame @@ -16,6 +25,12 @@ public class CameraFade : MonoBehaviour { } void OnRenderImage(RenderTexture src, RenderTexture dest) { - + blitMaterial.SetFloat("_Ratio", alpha); + if (SteamVR_Render.eye == EVREye.Eye_Left) { + blitMaterial.SetTexture("_BlendTex", BlendTextureLeft); + } else { + blitMaterial.SetTexture("_BlendTex", BlendTextureRight); + } + Graphics.Blit(src, dest, blitMaterial); } } diff --git a/Assets/LeftEyeRenderTexture.renderTexture b/Assets/LeftEyeRenderTexture.renderTexture new file mode 100755 index 0000000000000000000000000000000000000000..08af3ba176dce3e086097bafbd25647cd3528fed GIT binary patch literal 4204 zcmeH~yKmD_6vmH}7Q*{g%A=HLdD9B_jZ{^AKcrTawx~lvl~HaJqr{G!3u+}KEFo2F zsEkY?Bo;a#238oDm?W}QFD94tv64vzyJ0mvvK(n*g6(@oktImkNipy_{E(6&fvwIX@laZO~~&oKb6>&9Ai-`5%=|eJnq& zvn9skI$I-d&;;~fLx=0HD#EnhmH9*<^#;rL7h!FhU?tUJg_v~K<-@_$2%f! zP&fR37`K;yGg4Teo9OH|Km~*e>ntp8vm?#lg9C%2>Np@ z;zqEK-x1frngh-`RsK`);~M{^_z8_?(0tZ8sqsd|PsR8YHlhU_Z#u2jX~yif5K z<^$C_hrw>bc+bx=#|Y1(95~l=E}%6o6+a*2FHp||#V^D-pGRwoUsQZnI9cJ%ixqj# z6Erg;y}r?`EnRPPMGB{EyG}n9m&WXZm>hvKW63<639Fnp+j{{fi&jnyyAG0NnK9j2 zm7=_O^|o@%&}k2yj?n20ovzU74xOIR=?$H0p<~vhBW*JhHzRd3k~g7WTw1WRGLLye z*txufGw4WruwYwd+sPpu5ha-)bG@R)i^Fcg^`dCnE=^k{;Bnyy&yoV5jBsvte2B)U zRQu+Hl+faZe+gPBg*WYH1(pXLyX<0y%n%BIx8PZ&U=jO+;a~BCnLi3JzGTmnx*Ri1 zM$&<#14##x4kR5&I*@cA=|Iwf|8#&K^`^wK99pBBEWG zF%fmOb+mQfHtAQTQZWpGIoS8Uht2H`H(o!v`tIxF%=*O(U~5?9bsjxLKJqI;;4?Sq zWt#jq2KjY>oL4o2cEaBP-;OyIaL!KA7ihE~=KOSww?U^BaYn6iHosO=uip=K@-q_1s$%Rzr*mk)|6qQ9yaD%m=7>d2X!{#7_M_G^T5({4Y_w<9B+%b zLEZ5CVccH+%}8N=dIpUwBF^8zIK~$cG3Q>zc@7bC>=s5%r-+Dobqj0!p5l8j$MYX3 zzE|Uq6yK-uHN_h={#5b(8h@d9qsG@2KcMlqiXYVYd&LiF{G;NBHU3HQCXM4i5%lLs z#EoDdzag%JH3yt?s{DuIM>YOa@nag#p!uwGT;q+3pNR1(Y(xt<-gHvqt%{%0c%R}e z%m=D<4uf5X@t&V%juDw(G>T=95 z8A%6{4kR5&I*@cA=|IwfqytF@{?h?|q|5TX@92v7^S1vV2WG%vd^gIE^ua(-y*rIU F`V9^*1(); + //if (flip == null) + // flip = gameObject.AddComponent(); #endif // Store off values to be restored on new instance values = new Hashtable(); @@ -385,8 +387,8 @@ public class SteamVR_Camera : MonoBehaviour void OnPreRender() { - if (flip) - flip.enabled = (SteamVR_Render.Top() == this && SteamVR.instance.graphicsAPI == EGraphicsAPIConvention.API_DirectX); + //if (flip) + // flip.enabled = (SteamVR_Render.Top() == this && SteamVR.instance.graphicsAPI == EGraphicsAPIConvention.API_DirectX); var headCam = head.GetComponent(); if (headCam != null) @@ -402,44 +404,49 @@ public class SteamVR_Camera : MonoBehaviour GL.wireframe = false; } - void OnRenderImage(RenderTexture src, RenderTexture dest) - { - if (SteamVR_Render.Top() == this) - { - int eventID; - if (SteamVR_Render.eye == EVREye.Eye_Left) - { - // Get gpu started on work early to avoid bubbles at the top of the frame. - SteamVR_Utils.QueueEventOnRenderThread(SteamVR.Unity.k_nRenderEventID_Flush); + void OnRenderImage(RenderTexture src, RenderTexture dest) { + if (LeftEyeRenderTexture == null) { + //if (SteamVR_Render.Top() == this) { + int eventID; + if (SteamVR_Render.eye == EVREye.Eye_Left) { + // Get gpu started on work early to avoid bubbles at the top of the frame. + SteamVR_Utils.QueueEventOnRenderThread(SteamVR.Unity.k_nRenderEventID_Flush); - eventID = SteamVR.Unity.k_nRenderEventID_SubmitL; - } - else - { - eventID = SteamVR.Unity.k_nRenderEventID_SubmitR; - } + eventID = SteamVR.Unity.k_nRenderEventID_SubmitL; + } + else { + eventID = SteamVR.Unity.k_nRenderEventID_SubmitR; + } - // Queue up a call on the render thread to Submit our render target to the compositor. - SteamVR_Utils.QueueEventOnRenderThread(eventID); - } + // Queue up a call on the render thread to Submit our render target to the compositor. + SteamVR_Utils.QueueEventOnRenderThread(eventID); + //} + } else { + if (SteamVR_Render.eye == EVREye.Eye_Right) { + Graphics.Blit(src, RightEyeRenderTexture); + } + else { + Graphics.Blit(src, LeftEyeRenderTexture); + } + } - Graphics.SetRenderTarget(dest); - SteamVR_Camera.blitMaterial.mainTexture = src; + //Graphics.SetRenderTarget(dest); + //SteamVR_Camera.blitMaterial.mainTexture = src; - GL.PushMatrix(); - GL.LoadOrtho(); - SteamVR_Camera.blitMaterial.SetPass(0); - GL.Begin(GL.QUADS); - GL.TexCoord2(0.0f, 0.0f); GL.Vertex3(-1, 1, 0); - GL.TexCoord2(1.0f, 0.0f); GL.Vertex3(1, 1, 0); - GL.TexCoord2(1.0f, 1.0f); GL.Vertex3(1, -1, 0); - GL.TexCoord2(0.0f, 1.0f); GL.Vertex3(-1, -1, 0); - GL.End(); - GL.PopMatrix(); + //GL.PushMatrix(); + //GL.LoadOrtho(); + //SteamVR_Camera.blitMaterial.SetPass(0); + //GL.Begin(GL.QUADS); + //GL.TexCoord2(0.0f, 0.0f); GL.Vertex3(-1, 1, 0); + //GL.TexCoord2(1.0f, 0.0f); GL.Vertex3(1, 1, 0); + //GL.TexCoord2(1.0f, 1.0f); GL.Vertex3(1, -1, 0); + //GL.TexCoord2(0.0f, 1.0f); GL.Vertex3(-1, -1, 0); + //GL.End(); + //GL.PopMatrix(); - Graphics.SetRenderTarget(null); - } + //Graphics.SetRenderTarget(null); + } #endregion diff --git a/Assets/SteamVR/Scripts/SteamVR_PlayArea.cs b/Assets/SteamVR/Scripts/SteamVR_PlayArea.cs index 1165850..550b932 100755 --- a/Assets/SteamVR/Scripts/SteamVR_PlayArea.cs +++ b/Assets/SteamVR/Scripts/SteamVR_PlayArea.cs @@ -261,7 +261,7 @@ public class SteamVR_PlayArea : MonoBehaviour // No need to remain enabled at runtime. // Anyone that wants to change properties at runtime // should call BuildMesh themselves. - //enabled = false; + enabled = false; // If we want the configured bounds of the user, // we need to wait for tracking. diff --git a/Assets/Test.unity b/Assets/Test.unity index a3b5259d63f24a30e0cb3ff80dfc688cd823dcf2..a21f798dc2cc0977b3814a5a1c44696cdf47468c 100755 GIT binary patch delta 3411 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 MWg0e1cDb+u08z6O8vp