Exemple #1
0
        internal static void Resize(int width, int height, int samplesNum, int samplesQuality)
        {
            if (m_resolvedDepth != null)
            {
                m_resolvedDepth.Release();
                m_ambientOcclusionHelper.Release();
                m_ambientOcclusion.Release();
                m_tileIndices.Release();
            }

            m_resolvedDepth          = new MyDepthStencil(width, height, 1, 0);
            m_ambientOcclusionHelper = new MyRenderTarget(width, height, Format.R8G8B8A8_UNorm, 1, 0);
            m_ambientOcclusion       = new MyRenderTarget(width, height, Format.R8G8B8A8_UNorm, 1, 0);

            TilesX        = (width + MyLightRendering.TILE_SIZE - 1) / MyLightRendering.TILE_SIZE;
            TilesY        = ((height + MyLightRendering.TILE_SIZE - 1) / MyLightRendering.TILE_SIZE);
            TilesNum      = TilesX * TilesY;
            m_tileIndices = new MyRWStructuredBuffer(TilesNum + TilesNum * MyRender11Constants.MAX_POINT_LIGHTS, sizeof(uint), MyRWStructuredBuffer.UAVType.Default, true, "MyScreenDependants::tileIndices");
        }
Exemple #2
0
        internal static void Resize(int width, int height, int samplesNum, int samplesQuality)
        {
            if (m_resolvedDepth != null)
            {
                m_resolvedDepth.Release();
                m_ambientOcclusionHelper.Release();
                m_ambientOcclusion.Release();
                m_tileIndexes.Release();
            }

            m_resolvedDepth          = new MyDepthStencil(width, height, 1, 0);
            m_ambientOcclusionHelper = new MyRenderTarget(width, height, Format.R8G8B8A8_UNorm, 1, 0);
            m_ambientOcclusion       = new MyRenderTarget(width, height, Format.R8G8B8A8_UNorm, 1, 0);

            int tilesNum = ((width + MyLightRendering.TILE_SIZE - 1) / MyLightRendering.TILE_SIZE) * ((height + MyLightRendering.TILE_SIZE - 1) / MyLightRendering.TILE_SIZE);

            TilesNum      = tilesNum;
            TilesX        = (width + MyLightRendering.TILE_SIZE - 1) / MyLightRendering.TILE_SIZE;
            m_tileIndexes = new MyRWStructuredBuffer(tilesNum + tilesNum * MyRender11Constants.MAX_POINT_LIGHTS, sizeof(uint));
        }