--- title: "Graphics Pipeline" date: 2021-01-28T13:30:11-08:00 weight: 10 --- Finally, we have everything we need to build the graphics pipeline. We just need to pass our various structures into a `GraphicsPipelineCreateInfo` object. ```cs var myGraphicsPipelineCreateInfo = new GraphicsPipelineCreateInfo { ColorBlendState = myColorBlendState, DepthStencilState = myDepthStencilState, VertexShaderState = myVertexShaderState, FragmentShaderState = myFragmentShaderState, MultisampleState = myMultisampleState, PipelineLayoutInfo = myPipelineLayoutInfo, RasterizerState = myRasterizerState, PrimitiveType = PrimitiveType.TriangleList, VertexInputState = myVertexInputState, ViewportState = myViewportState, RenderPass = myRenderPass }; 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.