Пример #1
0
 public void AddShadowmapQuery(ref List <MyShadowmapQuery> shadowmapQueries)
 {
     for (int i = 0; i < m_slices.Length; i++)
     {
         MyCascadeShadowMapSlice slice = m_slices[i];
         if (slice.IsUpdated)
         {
             MyRender11.RC.ClearDsv(m_depthArrayTexture.SubresourceDsv(i), DepthStencilClearFlags.Depth, 1.0f, 0);
             shadowmapQueries.Add(slice.GetShadowmapQuery(m_depthArrayTexture.SubresourceDsv(i), i));
         }
     }
 }
Пример #2
0
            public void Init(int texSize, int numSlices)
            {
                m_volumes = new MyShadowVolume[numSlices];
                for (int i = 0; i < numSlices; i++)
                {
                    m_volumes[i] = new MyShadowVolume();
                }

                m_slices = new MyCascadeShadowMapSlice[numSlices];
                for (int i = 0; i < numSlices; i++)
                {
                    m_slices[i] = new MyCascadeShadowMapSlice();
                    m_slices[i].Init(m_volumes[i], texSize);
                }

                m_depthArrayTexture = MyManagers.ArrayTextures.CreateDepthArray("MyCascadeShadowMap.DepthArrayTexture", texSize, texSize, numSlices,
                                                                                Format.R32_Typeless, Format.R32_Float, Format.D32_Float);

                CsmPlacementStrategy = m_csmDefaultPlacementStrategy;
            }
Пример #3
0
            public void Init(int texSize, int numSlices)
            {
                m_volumes = new MyShadowVolume[numSlices];
                for (int i = 0; i < numSlices; i++)
                {
                    m_volumes[i] = new MyShadowVolume();
                }

                m_slices = new MyCascadeShadowMapSlice[numSlices];
                for (int i = 0; i < numSlices; i++)
                {
                    m_slices[i] = new MyCascadeShadowMapSlice();
                    m_slices[i].Init(m_volumes[i], texSize);
                }

                m_depthArrayTexture = MyManagers.ArrayTextures.CreateDepthArray("MyCascadeShadowMap.DepthArrayTexture", texSize, texSize, numSlices,
                    Format.R32_Typeless, Format.R32_Float, Format.D32_Float);

                CsmPlacementStrategy = m_csmDefaultPlacementStrategy;
            }