【D3D】Directx12運行報錯&win10無法添加【圖形工具】


“我歡欣雀躍地打開《3D programming with Directx12》,准備接受D3D的洗禮,然后就卡在了 chapter 0 。”——Liez

 

100%純小白的chapter 0(就是連第一章都沒到的開頭那個BoxApp示例= - =)錯誤總集。

 

錯誤一:

 

運行dxd12程序時出現HR failed問題

找到原因在於win10需要自行添加圖形工具(Graphics Tool)

但是在我的win10系統中添加可選工具是一片空白,問題原因,【服務】中“windows update”被禁用。(所以系統更新也會報錯,錯誤編號0x80240442)

解決方法:

【運行】(win+R)→輸入service.msc回車打開服務窗口→右側找到“Windows Update”檢查是否禁用,如果是,你就是遇到和我一樣的問題,啟用該服務。

如圖,已經可以下載安裝圖形工具了

微軟的官方客服能提出的最靠譜的答案就是讓用戶去打客服電話了呵呵。 相關問題 (已添加回答)

 

 

錯誤二:

 

找到原因——書上有說需要copy文件BoxApp.cpp和Shader文件夾,於是我就把它們直接拖到正打開的vs工程里了,正確做法是copy這兩樣然后粘貼到工程文件夾里,然后再在打開的工程中添加現有項。所以這兩個操作不是重復(我以為是重復= - =)

網上還有一個類似的問題,也是d3dutil.cpp報錯,line101,那個是因為在創建項目時沒有uncheck右下方的第一個選項“創建解決目錄”導致,這點書上提到了的,仔細看書。

 

 

錯誤三:

 

運行后報錯"error X3501: 'main': entrypoint not found"。

原因在於渲染文件.hlsl,右鍵點開hlsl文件的屬性窗口,

“entrypoint”就是“入口點名稱”,原始情況如上圖,為main函數,然而打開hlsl文件看一看,壓根沒有main()嘛,只有一個VS函數,那就決定是你了= - = 

着色器類型一欄,可以保持上圖的默認,也沒問題,但是如果要選的話就要根據shader代碼內容來選了,這里明顯是頂點渲染(Vertex shader,這里要用點shader常識),如果選了其他的着色器就會報錯,更改如下就可以順利運行了。

 

運行成功:

(當然你要是不走運繼續出問題。。。那可真是大快人心啊

 

以上。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM