1.1 KiB
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.