MoonWorks-docs/content/Graphics/Resources/GraphicsPipeline/GraphicsPipeline.md

1.1 KiB

title date weight
Graphics Pipeline 2021-01-28T13:30:11-08:00 10

Finally, we have everything we need to build the graphics pipeline. We just need to pass our various structures into a GraphicsPipelineCreateInfo object.

var myGraphicsPipelineCreateInfo = new GraphicsPipelineCreateInfo
{
	AttachmentInfo = myAttachmentInfo,
    DepthStencilState = myDepthStencilState,
    VertexShaderInfo = myVertexShaderInfo,
    FragmentShaderInfo = myFragmentShaderInfo,
    MultisampleState = myMultisampleState,
    RasterizerState = myRasterizerState,
    PrimitiveType = PrimitiveType.TriangleList,
    VertexInputState = myVertexInputState,
    ViewportState = myViewportState,
	BlendConstants = myBlendConstants
};

var myGraphicsPipeline = new GraphicsPipeline(
    GraphicsDevice,
    myGraphicsPipelineCreateInfo
);

Finally! That's it! You might have noticed that a lot of this structure can be reused across pipelines. I strongly recommend creating individual container objects for the various states your renderer uses so you don't have to repeat yourself a whole bunch.