示例#1
0
        public RenderPipeline(Game game)
        {
            _renderList = new RenderList();

            var graphicsDevice = game.GraphicsDevice;

            _loadContext = game.GraphicsLoadContext;

            _globalShaderResources    = game.GraphicsLoadContext.ShaderResources.Global;
            _globalShaderResourceData = AddDisposable(new GlobalShaderResourceData(game.GraphicsDevice, _globalShaderResources, game.GraphicsLoadContext.StandardGraphicsResources));

            _commandList = AddDisposable(graphicsDevice.ResourceFactory.CreateCommandList());

            _drawingContext = AddDisposable(new DrawingContext2D(
                                                game.ContentManager,
                                                game.GraphicsLoadContext,
                                                BlendStateDescription.SingleAlphaBlend,
                                                GameOutputDescription));

            _shadowMapRenderer = AddDisposable(new ShadowMapRenderer(game.GraphicsDevice));
            _waterMapRenderer  = AddDisposable(new WaterMapRenderer(game.AssetStore, _loadContext, game.GraphicsDevice, game.GraphicsLoadContext.ShaderResources.Global));

            _textureCopier = AddDisposable(new TextureCopier(
                                               game,
                                               game.Panel.OutputDescription));
        }
示例#2
0
        public RenderPipeline(Game game)
        {
            _renderList = new RenderList();

            var graphicsDevice = game.GraphicsDevice;

            _loadContext = game.GraphicsLoadContext;

            _globalShaderResources    = game.GraphicsLoadContext.ShaderResources.Global;
            _globalShaderResourceData = AddDisposable(new GlobalShaderResourceData(game.GraphicsDevice, _globalShaderResources));

            _renderItemConstantsBufferVS = AddDisposable(new ConstantBuffer <MeshShaderResources.RenderItemConstantsVS>(graphicsDevice, "RenderItemConstantsVS"));
            _renderItemConstantsBufferPS = AddDisposable(new ConstantBuffer <MeshShaderResources.RenderItemConstantsPS>(graphicsDevice, "RenderItemConstantsPS"));

            _renderItemConstantsResourceSet = AddDisposable(graphicsDevice.ResourceFactory.CreateResourceSet(
                                                                new ResourceSetDescription(
                                                                    game.GraphicsLoadContext.ShaderResources.Mesh.RenderItemConstantsResourceLayout,
                                                                    _renderItemConstantsBufferVS.Buffer,
                                                                    _renderItemConstantsBufferPS.Buffer)));

            _commandList = AddDisposable(graphicsDevice.ResourceFactory.CreateCommandList());

            _drawingContext = AddDisposable(new DrawingContext2D(
                                                game.ContentManager,
                                                game.GraphicsLoadContext,
                                                BlendStateDescription.SingleAlphaBlend,
                                                GameOutputDescription));

            _shadowMapRenderer = AddDisposable(new ShadowMapRenderer(game.GraphicsDevice, game.GraphicsLoadContext.ShaderResources.Global));
            _waterMapRenderer  = AddDisposable(new WaterMapRenderer(game.AssetStore, _loadContext, game.GraphicsDevice, game.GraphicsLoadContext.ShaderResources.Global));

            _textureCopier = AddDisposable(new TextureCopier(
                                               game,
                                               game.Panel.OutputDescription));
        }