internal void StepUpdateFiltering() { if (6 <= state && state < 12) { int faceId = state - 6; var matrix = CubeFaceViewMatrix(Vector3.Zero, faceId); MyEnvProbeProcessing.RunForwardPostprocess(workCubemap.SubresourceRtv(faceId), m_cubemapDepth.SubresourceSrv(faceId), ref matrix, MyAtmosphereRenderer.GetCurrentAtmosphereId()); MyEnvProbeProcessing.BuildMipmaps(workCubemap); MyEnvProbeProcessing.Prefilter(workCubemap, workCubemapPrefiltered); ++state; if (state == 12) { blendT0 = MyRender11.CurrentDrawTime; } return; } }
void PostprocessProbe(int nProbe) { var matrix = CubeFaceViewMatrix(Vector3.Zero, nProbe); MyEnvProbeProcessing.RunForwardPostprocess(m_workCubemap.SubresourceRtv(nProbe), CubemapDepth.SubresourceSrv(nProbe), ref matrix, MyAtmosphereRenderer.GetCurrentAtmosphereId()); }