Exemple #1
0
        public void CreateRT(CameraData data)
        {
            CoreUtils.ReleaseRT(hiZDepthRenderTexture);
            int NumMipsX = Mathf.Max(Mathf.CeilToInt(Mathf.Log(data.pixelWidth, 2f)) - 1, 1);
            int NumMipsY = Mathf.Max(Mathf.CeilToInt(Mathf.Log(data.pixelHeight, 2f)) - 1, 1);
            int NumMips  = Mathf.Max(NumMipsX, NumMipsY);
            // Must be power of 2
            Vector2 HZBSize = new Vector2(1 << NumMipsX, 1 << NumMipsY);

            hiZDepthRenderTexture            = CoreUtils.CreateRT((int)HZBSize.x, (int)HZBSize.y, 0, RenderTextureFormat.RGHalf, 1, RenderTextureReadWrite.Linear);
            hiZDepthRenderTexture.useMipMap  = true;
            hiZDepthRenderTexture.filterMode = FilterMode.Point;
            hiZDepthRenderTexture.name       = "HZB Depth RT";
        }