DirectX11 渲染——输入装配、绑定着色器、绘制
1.输入装配有哪些工作要做?
- 每次渲染我们都要考虑使用哪个输入布局来渲染几何图形。所以我们使用Direct3D环境对象的IASetInputLayout函数用于绑定我们所创建的顶点布局,该函数只有一个单一的类型为 ID3D11InputLayout 的对象。
- 此外,IASetVertexBuffers函数用来设置一个或多个顶点缓存:
第一个参数是绑定缓存的开始槽,就是你传递过去的创建好的顶点缓存数组中的第一个你要使用的缓存序号。
第二个参数是传进去的顶点缓存数量。
第三个参数是一个或多个缓存数组。
第四个参数是步长,它表示每个顶点的字节数。
第五个参数是从缓存的开始位置到顶点的第一个元素的开始位置的字节偏移量。- 函数 IASetPrimitiveTopology 用于告诉 Direct3D 我们所渲染的几何图形的类型。例如渲染一个三角形列表我们将使用标识 D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST 作为函数的参数,或者我们想渲染三角形带将使用标识
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP。这些标识总共有 42 个值,它们大多数处理更加高级的几何体的顶点控制,该列表见于 DirectX 的文档。
2. 如何绑定着色器?
通过调用 Direct3D 设备环境的 VSSetShader 函数来设置顶点