internal static void Init()
        {
            MyGPUParticleRenderer.Init();

            m_windowsWithDecals = new HashSet <uint>();
            if (m_distances == null)
            {
                m_distances = new float[] { PROXIMITY_DECALS_SQ_TH, 0 }
            }
            ;

            m_psResolve                       = MyShaders.CreatePs("Transparent/OIT/Resolve.hlsl");
            m_psOverlappingHeatMap            = MyShaders.CreatePs("Transparent/ResolveAccumIntoHeatMap.hlsl");
            m_psOverlappingHeatMapInGrayscale = MyShaders.CreatePs("Transparent/ResolveAccumIntoHeatMap.hlsl", new ShaderMacro[] { new ShaderMacro("USE_GRAYSCALE", null), });
        }
        internal static void Init()
        {
            MyGPUParticleRenderer.Init();

            m_psResolve = MyShaders.CreatePs("Transparency/Resolve.hlsl");
        }