我正在讀一個DirectX項目的例子,我看到了*.fx
和*.hlsl
文件。* .hlsl文件做了什麼,該文件和* .fx文件之間的關係是什麼?
我知道fx
是由DirectX讀取的效果文件,但hlsl
文件的目的是什麼?這個文件有用嗎?
我正在讀一個DirectX項目的例子,我看到了*.fx
和*.hlsl
文件。* .hlsl文件做了什麼,該文件和* .fx文件之間的關係是什麼?
我知道fx
是由DirectX讀取的效果文件,但hlsl
文件的目的是什麼?這個文件有用嗎?
歷史fx
包含使用影響系統語法(technique
,pass
等),而hlsl
包含不影響系統語法純HLSL材質着色器。
然而,這純粹是一種慣例,而且實際上並沒有特別遵循。最終,所有重要的是你用來編譯文件的配置文件。 VS 2012+會將fx
或hlsl
文件視爲相同(即,您使用FXC創建的內容)。
Direct3D 11的最新效果可在CodePlex和GitHub上獲得,但fx_5_0
配置文件的編譯器支持已正式棄用。它仍然有效,但它有一些已知的問題,並可能在未來某個時候被刪除。
請參閱此討論主題:效果11項目網站:What's the difference between an .fx and .hlsl file anyhow?
.hlsl文件包含着色器及其包含。 .fx效果系統已被棄用,不再包含在DirectX SDK中。
DirectX SDK本身已被棄用。請參閱[MSDN](https://msdn.microsoft.com/en-us/library/windows/desktop/ee663275.aspx)和[博客文章](http://blogs.msdn.com/b/chuckw/)存檔/ 2013/07/01 /,其中-是最DirectX的SDK-2013-edition.aspx)。 –