예제 #1
0
        private void addToDisplayList(List <IObject> displayList, IObject obj, IRoom room)
        {
            if (!obj.Visible)
            {
                IImageRenderer imageRenderer = getImageRenderer(obj);

                imageRenderer.Prepare(obj, obj, room.Viewport);
                return;
            }

            addToDisplayList(displayList, obj);
        }
예제 #2
0
        private void renderObject(IRoom room, IObject obj)
        {
            Size resolution = obj.RenderLayer == null || obj.RenderLayer.IndependentResolution == null ?
                              _game.Settings.VirtualResolution :
                              obj.RenderLayer.IndependentResolution.Value;

            _glUtils.AdjustResolution(resolution.Width, resolution.Height);

            IImageRenderer imageRenderer = getImageRenderer(obj);

            imageRenderer.Prepare(obj, obj, room.Viewport);

            var shader = applyObjectShader(obj);

            imageRenderer.Render(obj, room.Viewport);

            removeObjectShader(shader);
        }