参考:DirectX11 With Windows SDK--02 顶点/像素着色器的创建、顶点缓冲区 - X_Jun - 博客园
渲染管线是指:在给定一个 3D 场景 的几何描述及一架已确定位置和方向的虚拟摄像机(virtual camera)时,根据虚拟摄 像机的视角生成 2D 图像的一系列步骤。渲染管线也称为渲染流水线。
首先,需要声明一个顶点来记录三维坐标,即颜色.。
在声明了顶点结构体后,Direct3D是不能理解我们要干什么的,我们可以通过输入布局(ID3D10InputLayout)来告诉Direct3D这些信息是干什么的。
使用D3D10_INPUT_ELEMENT_DESC结构体来描述这些信息,然后通过CreateInputLayout()来创建输入布局
并且在输入汇编器阶段(Inpt Assembler Stge)设置输入布局
任何模型的最基本组成单位其实是顶点,顶点的具体表现形式就是顶点缓存(Vertex Buffer),顶点保持了顶点数据的内存空间。顶点缓冲区的作用是,将顶点数组以缓冲区ID3D10Buffer的形式提供给输入装配阶段(即,输入汇编阶段)。
要创建顶点缓冲区,首先需要填充好缓冲区描述D3D10_BUFFER_DESC
:
先创建顶点数组,然后填充D3D10_BUFFER_DESC,通过CreateBuffer就可以创建顶点缓冲区了, 创建一个索引缓冲区来创建需要的三角形,同样也是通过CreateBuffer,随便定义一下颜色供我们在创建顶点时使用
同样,我们需要在输入汇编器阶段(Inpt Assembler Stge)设置顶点缓冲区和索引缓冲区,并且因为我们使用了索引缓冲区,所有我们要用DrawIndexed 方法代替 Draw 方法,并且设置图元类型
最后就可以渲染出一个彩色的三角形
如果想要创建四边形,需要改变一下顶点缓冲区与索引缓冲区,具体可以看:D3D索引缓冲 - 画一个矩形_x-2010的博客-CSDN博客