学习X_Jun的D3D教程:02顶点/像素着色器、顶点缓冲区课后习题
最近在学习DirectX3D,目前的学习路线是龙书+X_jun同学的博客:https://blog.****.net/x_jun96/category_8596621.html
接下去整理一下博客中每一节的课后习题,如果解答有问题,请各位同学批评指正。
共勉!(#^.^#)
注:有些问题博主也没有解决,逐渐完善中。。。
一、源代码的运行结果为:
二、题目
-
尝试交换三角形第一个和第三个顶点的数据,屏幕将显示什么?为什么?
交换后的结果是:
原因分析:
交换后顶点的坐标顺序是逆时针的,我们默认顺时针旋转的顶点是正面,逆时针的顶点是反面。
因此最终呈现的效果是黑色的背景。
注:默认正面的旋转方向可以由一个参数来控制,这个参数博主忘记了,等下次找到了再来补充————
-
尝试用6个顶点绘制矩形表面
修改draw(绘制顶点数目,起始索引)为:
使用两个直角三角形构成矩形:
效果:
补充:这里的颜色我没有修改,你也可以把XMFLOAT4修改成你喜欢的RGBA
-
尝试用4个顶点绘制矩形表面(提示:
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
)
改变顶点数量
改变一下顶点顺序,是的123,234坐标形成的三角形可以组合成矩形
改变布局方式为:D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
呈现的结果: