如何正確入門Direct2D?
所以想要學Direct2D,畢竟以後如果要做大遊戲,再學D3D也容易些。
完全錯誤。先放棄這個想法再說。
看了MSDN上的入門例子,看不懂,沒有Win32基礎。
那和不會程式設計沒區別。先補這個吧,否則什麼D3D/D2D,都是白扯。
另外,怎麼沒看你說資料結構和演算法?這些沒學,也白扯。
https://
zhuanlan。zhihu。com/p/25
717640
完全c++程式碼。借用了輪子哥
@vczh
gaclib中的圖元機制渲染完全用d2d,支援視窗自動縮放。
想學d2d,想學gui,先啃程式碼再說,不多看書怎麼寫出好文章呢?
感覺你思路挺奇怪。
學紮實C++和掌握Direct2D沒有因果關係。
如果你想學DirectX API,其實應該從D3D開始:
1。 D2D是以D3D為基礎,先學D3D有助於理解D2D的一些特性。並且如果你要在D2D中實現自定義效果,需要自己寫HLSL程式,有D3D基礎這方面更容易上手。
2。 D3D應用範圍更廣。
3。 D3D的資料更多。
Win32程式設計,現在學這個價效比不高,特別是用大學寶貴的時間,有點得不償失。當然要是自己特別喜歡,或者自己確定的職業方向真的特別需要這個,那另當別論。一定要學這個的話,還是先看書吧。不然例子程式碼都看不懂,還學什麼。也不用全部看完,能知道Win32程式怎樣初始化視窗,怎麼跑起來,怎麼接受和相應滑鼠鍵盤訊息,怎麼實現簡單的選單、工具欄、對話方塊,一開始就夠用了,其他東西用到的時候再查吧。
最後,微軟的D2D樣例,很有可能是基於WinRT API而不是Win32 API。
強烈推薦大牛 @毛星雲 的Windows遊戲程式設計從零開始,完全符合題主描述的從Direct2D入門然後轉為D3D。裡面前幾章把Win32程式結構講得清楚,後面基本都是API怎麼用得例項。
你問的這個問題已經一年了吧。最早看到你這個問題的時候我還一點兒都不會d2d和d3d。而今天我已經能分別用d2d和d3d在視窗上繪製點簡單的2d東西了。隨便交流一下。我不是學這個專業的。我是學音樂的。但是業餘時間的90%都用在C++程式設計上面了。所以還是有資格交流一下的。
《Windows程式設計》這本書內容確實相當舊。但是看一下還是很有必要的。就相當於看程式設計領域的歷史書了。其至少證明了C++語言的優越性。
推薦兩本書:
1。《遊戲程式設計入門》[美]Jonathan S。 Harbour 著 李軍 譯
2。 DirectX11 高階圖形開發技術實戰 [中]韓元利 王漢東 著
第一本書的內容不算老。但也算不上最新了。裡面主要講Dx 9。我有一本內容更老的,就不推薦了。
第二本書內容要算是新了。主要講Dx11,也有點更新的內容(比如Dx12)。但是程式碼不接地氣。不是C++。主要是介紹Dx的。
我在各種網購渠道查找了很久,也沒有找到真正全面完整細緻的講解當下Dx的教程。唯一一次實踐d2d,靠的是網路上的一篇部落格:
Direct2D教程(一)Direct2D已經來了,誰是GDI的終結者? - h2z - 部落格園