学习X_Jun的D3D教程:02顶点/像素着色器、顶点缓冲区课后习题

最近在学习DirectX3D,目前的学习路线是龙书+X_jun同学的博客:https://blog.****.net/x_jun96/category_8596621.html

接下去整理一下博客中每一节的课后习题,如果解答有问题,请各位同学批评指正。

共勉!(#^.^#)

注:有些问题博主也没有解决,逐渐完善中。。。

一、源代码的运行结果为:

学习X_Jun的D3D教程:02顶点/像素着色器、顶点缓冲区课后习题

二、题目

  1. 尝试交换三角形第一个和第三个顶点的数据,屏幕将显示什么?为什么?
    学习X_Jun的D3D教程:02顶点/像素着色器、顶点缓冲区课后习题
    交换后的结果是:
    学习X_Jun的D3D教程:02顶点/像素着色器、顶点缓冲区课后习题
    原因分析:
    交换后顶点的坐标顺序是逆时针的,我们默认顺时针旋转的顶点是正面,逆时针的顶点是反面。
    因此最终呈现的效果是黑色的背景。

    注:默认正面的旋转方向可以由一个参数来控制,这个参数博主忘记了,等下次找到了再来补充————

     
  2. 尝试用6个顶点绘制矩形表面
    修改draw(绘制顶点数目,起始索引)为:
    学习X_Jun的D3D教程:02顶点/像素着色器、顶点缓冲区课后习题
    使用两个直角三角形构成矩形:
    学习X_Jun的D3D教程:02顶点/像素着色器、顶点缓冲区课后习题
    效果:
    学习X_Jun的D3D教程:02顶点/像素着色器、顶点缓冲区课后习题
    补充:这里的颜色我没有修改,你也可以把XMFLOAT4修改成你喜欢的RGBA

     
  3. 尝试用4个顶点绘制矩形表面(提示:D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
    改变顶点数量

    学习X_Jun的D3D教程:02顶点/像素着色器、顶点缓冲区课后习题
    改变一下顶点顺序,是的123,234坐标形成的三角形可以组合成矩形
    学习X_Jun的D3D教程:02顶点/像素着色器、顶点缓冲区课后习题
    改变布局方式为:D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
    学习X_Jun的D3D教程:02顶点/像素着色器、顶点缓冲区课后习题
    呈现的结果:
    学习X_Jun的D3D教程:02顶点/像素着色器、顶点缓冲区课后习题