Exemplo n.º 1
0
        protected override void DrawCore(RenderContext context, RenderFrame output)
        {
            // Early exit if some properties are null
            if (Mode == null)
            {
                return;
            }

            // Gets the current camera state from the slot
            var camera = context.GetCameraFromSlot(Camera);

            // Draw this camera.
            using (context.PushTagAndRestore(Current, this))
                using (context.PushTagAndRestore(CameraComponentRenderer.Current, camera))
                {
                    // Run all pre-renderers
                    foreach (var renderer in PreRenderers)
                    {
                        renderer.Draw(context);
                    }

                    // Draw the scene based on its drawing mode (e.g. implementation forward or deferred... etc.)
                    Mode.Draw(context);

                    // Run all post-renderers
                    foreach (var renderer in PostRenderers)
                    {
                        renderer.Draw(context);
                    }
                }
        }
Exemplo n.º 2
0
        public override void Collect(RenderContext context)
        {
            base.Collect(context);

            // Early exit if some properties are null
            if (Mode == null)
            {
                return;
            }

            // Gets the current camera state from the slot
            var camera = context.GetCameraFromSlot(Camera);

            // Draw this camera.
            using (context.PushTagAndRestore(Current, this))
                using (context.PushTagAndRestore(CameraComponentRendererExtensions.Current, camera))
                {
                    Mode.Collect(context);
                }
        }
Exemplo n.º 3
0
        public override void Collect(RenderContext context)
        {
            base.Collect(context);

            // Early exit if some properties are null
            if (Mode == null)
            {
                return;
            }

            // Gets the current camera state from the slot
            var camera = context.GetCameraFromSlot(Camera);

            //TODO camera can be null but we still push it as null... review me please.
            //TODO this is needed or if we have no camera we don't render anything e.g. UI only

            // Draw this camera.
            using (context.PushTagAndRestore(Current, this))
                using (context.PushTagAndRestore(CameraComponentRendererExtensions.Current, camera))
                {
                    Mode.Collect(context);
                }
        }
Exemplo n.º 4
0
        protected override void DrawCore(RenderContext context, RenderFrame output)
        {
            // Early exit if some properties are null
            if (Mode == null)
            {
                return;
            }

            // Gets the current camera state from the slot
            var camera = context.GetCameraFromSlot(Camera);

            // Draw this camera.
            using (context.PushTagAndRestore(Current, this))
            using (context.PushTagAndRestore(CameraComponentRenderer.Current, camera))
            {
                // Run all pre-renderers
                foreach (var renderer in PreRenderers)
                {
                    renderer.Draw(context);
                }

                // Draw the scene based on its drawing mode (e.g. implementation forward or deferred... etc.)
                Mode.Draw(context);

                // Run all post-renderers
                foreach (var renderer in PostRenderers)
                {
                    renderer.Draw(context);
                }
            }
        }
        public override void Collect(RenderContext context)
        {
            base.Collect(context);

            // Early exit if some properties are null
            if (Mode == null)
            {
                return;
            }

            // Gets the current camera state from the slot
            var camera = context.GetCameraFromSlot(Camera);

            //TODO camera can be null but we still push it as null... review me please.
            //TODO this is needed or if we have no camera we don't render anything e.g. UI only

            // Draw this camera.
            using (context.PushTagAndRestore(Current, this))
            using (context.PushTagAndRestore(CameraComponentRendererExtensions.Current, camera))
            {
                Mode.Collect(context);
            }
        }