示例#1
0
 public static void SetKeywords(Material mat)
 {
   if (Application.isPlaying)
   {
     NVIDIA.VRWorks.Feature feature = GetActiveFeatureInternal();
     if (feature == NVIDIA.VRWorks.Feature.MultiResolution)
     {
       mat.EnableKeyword("VRWORKS_MRS");
       mat.DisableKeyword("VRWORKS_LMS");
       mat.DisableKeyword("VRWORKS_NONE");
     }
     else if (feature == NVIDIA.VRWorks.Feature.LensMatchedShading)
     {
       mat.EnableKeyword("VRWORKS_LMS");
       mat.DisableKeyword("VRWORKS_MRS");
       mat.DisableKeyword("VRWORKS_NONE");
     }
     else
     {
       mat.EnableKeyword("VRWORKS_NONE");
       mat.DisableKeyword("VRWORKS_MRS");
       mat.DisableKeyword("VRWORKS_LMS");
     }
   }
   else
   {
     mat.DisableKeyword("VRWORKS_MRS");
     mat.DisableKeyword("VRWORKS_LMS");
     mat.EnableKeyword("VRWORKS_NONE");
   }
 }
示例#2
0
        private void CheckVRWorksInput()
        {
            NVIDIA.VRWorks.Feature oldFeature = m_VRWorks.GetActiveFeature();
            NVIDIA.VRWorks.Feature newFeature = oldFeature;

            if (Input.GetKeyUp(KeyCode.M))
            {
                if (m_VRWorks.IsFeatureAvailable(NVIDIA.VRWorks.Feature.MultiResolution))
                {
                    if (oldFeature != NVIDIA.VRWorks.Feature.MultiResolution)
                    {
                        newFeature = NVIDIA.VRWorks.Feature.MultiResolution;
                    }
                    else
                    {
                        newFeature = NVIDIA.VRWorks.Feature.None;
                    }
                }
            }
            else if (Input.GetKeyUp(KeyCode.L) || Input.GetButton("Fire2"))
            {
                if (m_VRWorks.IsFeatureAvailable(NVIDIA.VRWorks.Feature.SinglePassStereo))
                {
                    if (oldFeature != NVIDIA.VRWorks.Feature.LensMatchedShading)
                    {
                        newFeature = NVIDIA.VRWorks.Feature.LensMatchedShading;
                    }
                    else
                    {
                        newFeature = NVIDIA.VRWorks.Feature.None;
                    }
                }
            }
            else if (Input.GetKeyUp(KeyCode.S))
            {
                if (m_VRWorks.IsFeatureAvailable(NVIDIA.VRWorks.Feature.SinglePassStereo))
                {
                    if (oldFeature != NVIDIA.VRWorks.Feature.SinglePassStereo)
                    {
                        newFeature = NVIDIA.VRWorks.Feature.SinglePassStereo;
                    }
                    else
                    {
                        newFeature = NVIDIA.VRWorks.Feature.None;
                    }
                }
            }
            if (oldFeature != newFeature)
            {
                m_VRWorks.SetActiveFeature(newFeature);
            }
        }
示例#3
0
 // Called by camera to apply image effect
 void OnRenderImage(RenderTexture source, RenderTexture destination)
 {
     NVIDIA.VRWorks.Feature feature = m_VRWorks.GetActiveFeature();
     if (feature == NVIDIA.VRWorks.Feature.LensMatchedShading || feature == NVIDIA.VRWorks.Feature.MultiResolution)
     {
         UnityEngine.Rendering.CommandBuffer buf = new UnityEngine.Rendering.CommandBuffer();
         buf.SetRenderTarget(destination);
         buf.IssuePluginCustomBlit(PluginExtGetIssueEventCallback(), kPluginExtCommandUpscale, source, destination, 0, VerticalFlip ? 1U : 0U);
         Graphics.ExecuteCommandBuffer(buf);
     }
     else
     {
         Graphics.Blit(source, destination);
     }
 }
示例#4
0
        private void OnGUI()
        {
            if (m_VRWorks == null)
            {
                m_VRWorks = Camera.main.GetComponent <NVIDIA.VRWorks>();
            }
            string mode = "None";

            NVIDIA.VRWorks.Feature feature = m_VRWorks.GetActiveFeature();
            if (feature == NVIDIA.VRWorks.Feature.LensMatchedShading)
            {
                mode = "SPS + LMS";
            }
            else if (feature == NVIDIA.VRWorks.Feature.SinglePassStereo)
            {
                mode = "SPS";
            }
            else if (feature == NVIDIA.VRWorks.Feature.MultiResolution)
            {
                mode = "MRS";
            }
            GUI.Label(new Rect(10, 10, 300, 30), "VRWorks: " + mode, m_GUIStyle);
        }