示例#1
0
    public static RenderTexture GetSceneTexture(bool hdr)
    {
        SteamVR instance = SteamVR.instance;

        if (instance == null)
        {
            return(null);
        }
        int num  = (int)(instance.sceneWidth * SteamVR_Camera.sceneResolutionScale);
        int num2 = (int)(instance.sceneHeight * SteamVR_Camera.sceneResolutionScale);
        int num3 = (QualitySettings.antiAliasing != 0) ? QualitySettings.antiAliasing : 1;
        RenderTextureFormat renderTextureFormat = (!hdr) ? RenderTextureFormat.ARGB32 : RenderTextureFormat.ARGBHalf;

        if (SteamVR_Camera._sceneTexture != null && (SteamVR_Camera._sceneTexture.width != num || SteamVR_Camera._sceneTexture.height != num2 || SteamVR_Camera._sceneTexture.antiAliasing != num3 || SteamVR_Camera._sceneTexture.format != renderTextureFormat))
        {
            Debug.Log(string.Format("Recreating scene texture.. Old: {0}x{1} MSAA={2} [{3}] New: {4}x{5} MSAA={6} [{7}]", new object[]
            {
                SteamVR_Camera._sceneTexture.width,
                SteamVR_Camera._sceneTexture.height,
                SteamVR_Camera._sceneTexture.antiAliasing,
                SteamVR_Camera._sceneTexture.format,
                num,
                num2,
                num3,
                renderTextureFormat
            }));
            UnityEngine.Object.Destroy(SteamVR_Camera._sceneTexture);
            SteamVR_Camera._sceneTexture = null;
        }
        if (SteamVR_Camera._sceneTexture == null)
        {
            SteamVR_Camera._sceneTexture = new RenderTexture(num, num2, 0, renderTextureFormat);
            SteamVR_Camera._sceneTexture.antiAliasing = num3;
            EColorSpace colorSpace = (!hdr || QualitySettings.activeColorSpace != ColorSpace.Gamma) ? EColorSpace.Auto : EColorSpace.Gamma;
            SteamVR.Unity.SetColorSpace(colorSpace);
        }
        return(SteamVR_Camera._sceneTexture);
    }
示例#2
0
	public abstract EVROverlayError SetOverlayTextureColorSpace(ulong ulOverlayHandle,EColorSpace eTextureColorSpace);
示例#3
0
	public static extern void SetColorSpace(EColorSpace eColorSpace);
示例#4
0
	internal static extern EVROverlayError VR_IVROverlay_GetOverlayTextureColorSpace(IntPtr instancePtr, ulong ulOverlayHandle, ref EColorSpace peTextureColorSpace);
示例#5
0
	public override EVROverlayError GetOverlayTextureColorSpace(ulong ulOverlayHandle,ref EColorSpace peTextureColorSpace)
	{
		CheckIfUsable();
		EVROverlayError result = VRNativeEntrypoints.VR_IVROverlay_GetOverlayTextureColorSpace(m_pVROverlay,ulOverlayHandle,ref peTextureColorSpace);
		return result;
	}
示例#6
0
 public EVROverlayError SetOverlayTextureColorSpace(ulong ulOverlayHandle, EColorSpace eTextureColorSpace) => default;                                                                                                                                                                           // 0x00000001811DEE70-0x00000001811DEEA0
 public EVROverlayError GetOverlayTextureColorSpace(ulong ulOverlayHandle, ref EColorSpace peTextureColorSpace) => default;                                                                                                                                                                      // 0x00000001811DE530-0x00000001811DE560
示例#7
0
 public EVROverlayError GetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle, ref float pfMinDistanceInMeters, ref float pfMaxDistanceInMeters) => default;                                                                                                                            // 0x00000001811DE200-0x00000001811DE230
 public EVROverlayError SetOverlayTextureColorSpace(ulong ulOverlayHandle, EColorSpace eTextureColorSpace) => default;                                                                                                                                                                           // 0x00000001811DEE70-0x00000001811DEEA0
示例#8
0
 public EVROverlayError GetOverlayTexture(ulong ulOverlayHandle,ref IntPtr pNativeTextureHandle,IntPtr pNativeTextureRef,ref uint pWidth,ref uint pHeight,ref uint pNativeFormat,ref EGraphicsAPIConvention pAPI,ref EColorSpace pColorSpace)
 {
     pWidth = 0;
     pHeight = 0;
     pNativeFormat = 0;
     EVROverlayError result = FnTable.GetOverlayTexture(ulOverlayHandle,ref pNativeTextureHandle,pNativeTextureRef,ref pWidth,ref pHeight,ref pNativeFormat,ref pAPI,ref pColorSpace);
     return result;
 }
示例#9
0
 public EVROverlayError GetOverlayTextureColorSpace(ulong ulOverlayHandle, ref EColorSpace peTextureColorSpace)
 {
     return(this.FnTable.GetOverlayTextureColorSpace(ulOverlayHandle, ref peTextureColorSpace));
 }
示例#10
0
 public EVROverlayError SetOverlayTextureColorSpace(ulong ulOverlayHandle, EColorSpace eTextureColorSpace)
 {
     return(this.FnTable.SetOverlayTextureColorSpace(ulOverlayHandle, eTextureColorSpace));
 }
示例#11
0
	public EVROverlayError GetOverlayTextureColorSpace(ulong ulOverlayHandle,ref EColorSpace peTextureColorSpace)
	{
		EVROverlayError result = FnTable.GetOverlayTextureColorSpace(ulOverlayHandle,ref peTextureColorSpace);
		return result;
	}
示例#12
0
	public EVROverlayError SetOverlayTextureColorSpace(ulong ulOverlayHandle,EColorSpace eTextureColorSpace)
	{
		EVROverlayError result = FnTable.SetOverlayTextureColorSpace(ulOverlayHandle,eTextureColorSpace);
		return result;
	}
示例#13
0
 // Token: 0x06001FBA RID: 8122 RVA: 0x0009DE54 File Offset: 0x0009C054
 public EVROverlayError GetOverlayTexture(ulong ulOverlayHandle, ref IntPtr pNativeTextureHandle, IntPtr pNativeTextureRef, ref uint pWidth, ref uint pHeight, ref uint pNativeFormat, ref ETextureType pAPIType, ref EColorSpace pColorSpace, ref VRTextureBounds_t pTextureBounds)
 {
     pWidth        = 0U;
     pHeight       = 0U;
     pNativeFormat = 0U;
     return(this.FnTable.GetOverlayTexture(ulOverlayHandle, ref pNativeTextureHandle, pNativeTextureRef, ref pWidth, ref pHeight, ref pNativeFormat, ref pAPIType, ref pColorSpace, ref pTextureBounds));
 }
示例#14
0
	public abstract EVROverlayError GetOverlayTextureColorSpace(ulong ulOverlayHandle,ref EColorSpace peTextureColorSpace);
示例#15
0
 public EVROverlayError SetOverlayFromFile(ulong ulOverlayHandle, string pchFilePath) => default;                                                                                                                                                                                                // 0x00000001811DEC50-0x00000001811DEC80
 public EVROverlayError GetOverlayTexture(ulong ulOverlayHandle, ref IntPtr pNativeTextureHandle, IntPtr pNativeTextureRef, ref uint pWidth, ref uint pHeight, ref uint pNativeFormat, ref ETextureType pAPIType, ref EColorSpace pColorSpace, ref VRTextureBounds_t pTextureBounds) => default; // 0x00000001811DE590-0x00000001811DE5E0
示例#16
0
 public static extern void SetColorSpace(EColorSpace eColorSpace);
示例#17
0
 public void InitOverlayTexture(ETextureType texType, EColorSpace colorSpace = EColorSpace.Auto)
 {
     //TODO: Try different texture types to improve perf
     _overlayTexture_t.eType       = texType;
     _overlayTexture_t.eColorSpace = colorSpace;
 }