Exemplo n.º 1
0
        //No function in monogame to draw without vb it seems...

        /*
         * struct VertexShaderInput
         * {
         *  float2 Position : POSITION0;
         * };
         *
         * VertexShaderOutput VertexShaderFunction(VertexShaderInput input, uint id:SV_VERTEXID)
         * {
         * VertexShaderOutput output;
         * output.Position = float4(input.Position, 0, 1);
         * output.TexCoord.x = (float)(id / 2) * 2.0;
         * output.TexCoord.y = 1.0 - (float)(id % 2) * 2.0;
         *
         * return output;
         * }
         *
         */

        public FullScreenTriangle(GraphicsDevice graphics)
        {
            FullScreenQuadVertex[] vertices = new FullScreenQuadVertex[3];
            vertices[0] = new FullScreenQuadVertex(new Vector2(-1, -1));
            vertices[1] = new FullScreenQuadVertex(new Vector2(-1, 3));
            vertices[2] = new FullScreenQuadVertex(new Vector2(3, -1));

            vertexBuffer = new VertexBuffer(graphics, FullScreenQuadVertex.VertexDeclaration, 3, BufferUsage.WriteOnly);
            vertexBuffer.SetData(vertices);
        }
Exemplo n.º 2
0
        public FullScreenQuadRenderer(GraphicsDevice graphics)
        {
            FullScreenQuadVertex[] vertexBufferTemp = new FullScreenQuadVertex[4];
            vertexBufferTemp[0] = new FullScreenQuadVertex(new Vector2(-1, 1));
            vertexBufferTemp[1] = new FullScreenQuadVertex(new Vector2(1, 1));
            vertexBufferTemp[2] = new FullScreenQuadVertex(new Vector2(-1, -1));
            vertexBufferTemp[3] = new FullScreenQuadVertex(new Vector2(1, -1));
            short[] indexBufferTemp = new short[] { 0, 3, 2, 0, 1, 3 };

            _vertexBuffer = new VertexBuffer(graphics, FullScreenQuadVertex.VertexDeclaration, 4, BufferUsage.WriteOnly);
            _indexBuffer  = new IndexBuffer(graphics, IndexElementSize.SixteenBits, 6, BufferUsage.WriteOnly);

            _vertexBuffer.SetData(vertexBufferTemp);
            _indexBuffer.SetData(indexBufferTemp);
        }