最近在學習DirectX3D,目前的學習路線是龍書+X_jun同學的博客:https://blog.csdn.net/x_jun96/category_8596621.html
接下去整理一下博客中每一節的課後習題,如果解答有問題,請各位同學批評指正。
共勉!(#^.^#)
注:有些問題博主也沒有解決,逐漸完善中。。。
一、源代碼的運行結果爲:
二、題目
- 嘗試交換三角形第一個和第三個頂點的數據,屏幕將顯示什麼?爲什麼?
交換後的結果是:
原因分析:
交換後頂點的座標順序是逆時針的,我們默認順時針旋轉的頂點是正面,逆時針的頂點是反面。
因此最終呈現的效果是黑色的背景。
注:默認正面的旋轉方向可以由一個參數來控制,這個參數博主忘記了,等下次找到了再來補充————
2020/1/31補充:
博主找到了:在描述光柵狀態塊:D3D11_RASTERIZER_DESC
(實心/線框,三角形朝前/朝後消隱,順時針/逆時針朝前)
這個參數在這一小節沒有用到,繼續往後學纔會用到。
- 嘗試用6個頂點繪製矩形表面
修改draw(繪製頂點數目,起始索引)爲:
使用兩個直角三角形構成矩形:
效果:
補充:這裏的顏色我沒有修改,你也可以把XMFLOAT4修改成你喜歡的RGBA
- 嘗試用4個頂點繪製矩形表面(提示:
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
)
改變頂點數量
改變一下頂點順序,是的123,234座標形成的三角形可以組合成矩形
改變佈局方式爲:D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
呈現的結果: