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;
            }
        }
Beispiel #2
0
        void PostprocessProbe(int nProbe)
        {
            var matrix = CubeFaceViewMatrix(Vector3.Zero, nProbe);

            MyEnvProbeProcessing.RunForwardPostprocess(m_workCubemap.SubresourceRtv(nProbe),
                                                       CubemapDepth.SubresourceSrv(nProbe), ref matrix, MyAtmosphereRenderer.GetCurrentAtmosphereId());
        }