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; }
public void Destroy() { m_shadowVolume = null; }
public void Init(MyShadowVolume sharedVolume, int texSize) { IsUpdated = true; m_shadowVolume = sharedVolume; }