graphics pipeline final
continuous-integration/drone/push Build is passing Details

main
cosmonaut 2021-01-28 13:43:21 -08:00
parent 3d3f10fd97
commit 0a8cd263c9
2 changed files with 32 additions and 1 deletions

View File

@ -0,0 +1,31 @@
---
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.