예제 #1
0
 public void SetViewTargetFromCameraComponent(CameraComponent cameraComponent)
 {
     lock (lockObj)
     {
         nextViewTarget = new ViewTarget(cameraComponent.Center, cameraComponent.ViewMatrix, cameraComponent.ProjectionMatrix);
     }
 }
예제 #2
0
        private void ApplyPreFrame(double deltaTime)
        {
            lock (lockObj)
            {
                if (nextViewTarget != null)
                {
                    ViewTarget = nextViewTarget;
                    nextViewTarget = null;
                }

                ClearRenderPassses();
                ApplyRenderProxyStagingArea();
            }

            UpdateRenderProxies(deltaTime);
        }
예제 #3
0
        public RenderManager(IRenderConfiguration setRenderConfig)
        {
            maxFPS = -1;

            ViewTarget = null;
            nextViewTarget = null;

            renderThread = null;
            renderThreadActive = false;
            lockObj = new Object();
            renderProxyStagingArea = new List<BaseRenderProxy>();

            renderPasses = new List<RenderPass>();
            renderConfig = setRenderConfig;

            CreateRenderTarget();
            CreateEffectLibrary();
            CreateMaterialLibrary();

            frameCounter = 0;
            frameCalcStart = System.Diagnostics.Stopwatch.GetTimestamp();

            MaxRenderCount = -1;
        }