AlkaronEngine.Graphics3D.RenderManager.ApplyRenderProxyStagingArea C# (CSharp) Метод

ApplyRenderProxyStagingArea() приватный Метод

Must only be called from inside ApplyPreFrame() or otherwise secured with lock (lockObj).
private ApplyRenderProxyStagingArea ( ) : void
Результат void
        private void ApplyRenderProxyStagingArea()
        {
            // Apply stage to current process

            Dictionary<IMaterial, RenderPass> renderPassDict = new Dictionary<IMaterial, RenderPass>();

            for (int p = 0; p < renderProxyStagingArea.Count; p++)
            {
                BaseRenderProxy proxy = renderProxyStagingArea[p];

                IMaterial materialToUse = proxy.Material;
                if (proxy.Material == null)
                {
                    materialToUse = AlkaronCoreGame.Core.AssetManager.Load<Material>(
                        "EngineMaterials.BasicEffect.material");
                }

                RenderPass passToUse = null;

                if (renderPassDict.ContainsKey(materialToUse) == false)
                {
                    passToUse = CreateAndAddRenderPassForMaterial(materialToUse);
                    renderPassDict.Add(materialToUse, passToUse);
                }
                else
                {
                    passToUse = renderPassDict[materialToUse];
                }

                passToUse.WorldOriginForDepthSorting = ViewTarget?.CameraLocation ?? Vector3.Zero;

                passToUse.AddProxy(proxy);
            }

            renderProxyStagingArea.Clear();
        }