Ⅰ 缺少d3dcompiler_43.dll文件怎麼辦
一、d3dcompiler_43.dll文件相關信息
我們來分析一下d3dcompiler_43.dll功能作用。d3dcompiler_43.dll是軟體和游戲運行的重要動態鏈接庫,如熱血無賴、游戲塵埃2、榮譽勛章等游戲都要用到D3DCompiler_43.dll文件,D3DCompiler_43.dll所屬公司Microsoft Corporation,中文描述Direct3D的HLSL編譯器,適用平台2K/XP/2003/Vista/win7等,存放文件路徑C:/Windows/System32,文件大小1.56MB。
二、造成缺少d3dcompiler_43.dll的原因
通常造成缺少d3dcompiler_43.dll的原因大多為病毒感染所致,一旦感染病毒我們電腦中的殺毒軟體就會無情地把d3dcompiler_43.dll刪除掉,從而導致缺少d3dcompiler_43.dll,熱血無賴等游戲就無法運行,當然除了病毒原因之外也有人為誤刪除或安裝其他軟體沖突等原因。
三、解決辦法
方法一:
最簡單的方法就是在網上下載d3dcompiler_43.dll文件,然後手工替換相關文件就可以了,下載的d3dcompiler_43.dll文件需要復制放到工作的相關軟體安裝目錄中。
1、Windows 95/98/Me系統,則復制到C:/Windows/System目錄下。
2、Windows NT/2000系統,則復制到C:/WINNT/System32目錄下。
3、Windows XP/Vista/7系統,則復制到C:/Windows/System32目錄下。
然後打開「開始-運行-輸入regsvr32 D3DCompiler_43.dll」,回車即可解決錯誤提示!
方法二:
從其他正常運行的電腦上拷貝d3dcompiler_43.dll文件,然後放到C:/WINDOWS/SYSTEM32文件夾下。另外復制到X盤:/游戲文件夾/,如果還不行可能是文件版本與游戲所支持的版本不一致。
方法三
修復的方法可能比較繁瑣,如果不會操作可以下載DLL修復小助手全自動修復,省心省力。
方法四:
重新安裝系統,這種辦法是最不推薦的,是勞心勞力的事,一般人不幹,除非你電腦本身運行速度太慢,系統存在很多問題,正好通過安裝系統一並解決掉。
Ⅱ 編寫任何HLSL效應問題問題,怎麼解決
第一,HLSL錯誤類型。
HLSL錯誤兩類兩大類:
第一,載入shader文件路徑出錯或者文件名出錯,這應該是最低級的錯誤.
第二,是shader的語法錯誤,比如無效字元,不記得返回值,值未初始化就使用等等。
一般來說,這時候調試時最好對想調試的那個shader文件進行設置為HLSL調試器,
如圖 我的shader文件為 ColorShader.fx文件,對該shader文件右鍵,然後點擊屬性,屬性-》配置屬性-》常規-》項類型,設為HLSL編譯器,
這個問題出現的原因是將.fx文件(著色器文件)導入自己新建的工程以後,VS2013會默認使用HLSL編譯器對其進行編譯,而.fx文件中並未定義main函數,所以會導致編譯出錯。
這樣的話 該shader文件有語法錯誤的話可以從VS2015的面板上找到錯誤,不然的話老是得到那個shader輸出錯誤文件里,真心麻煩。
當然調試完畢後記得,對每個shader文件右鍵,然後點擊屬性,屬性-》配置屬性-》常規-》項類型,設為不參與生成,不然編譯Shader時會出錯。
這里建議shader編寫文件直接用.HLSL,就省去手動設置的功夫了,或者在FX里編寫shader代碼,用HLSL文件包含FX文件,然後D3DCompile編譯.fx文件,參見微軟的Directx11基礎入門教程代碼。
第二,HLSL調試方法。
hlsl可以進行斷點的調試 (VS2015環境下)用Visual Studio Graphics Debugger調試Shader
Ⅲ hlsl 是什麼文件
高級Shaders語言分為兩種,Cg和HLSL。兩種語言的語法完全一樣,但Cg是跨平台的,HLSL則是微軟專為DX9設計的,它們的特色是相對而言編寫簡單,調試方便,因此越來越多的3D游戲開始傾向於採用高級Shaders語言來編寫渲染程序。和匯編語言不同,高級語言必須經過編譯之後才能執行,可以簡單的理解為編譯器可以把高級Shaders程序針對不同的圖形處理器編譯出針對性的匯編程序。
而高級Shaders程序的編譯有兩種途徑——預編譯和實時編譯。前者是在軟體的開發環節就將Shaders程序編譯成匯編程序,後者則是在進入游戲時依靠用戶的顯卡來實時完成。而因為程序編寫難度大、開放性不夠好等諸多原因,預編譯多出現在如3DMark等測試軟體和顯卡演示Demo中,而實際游戲大都採用實時編譯方式。