簡體   English   中英

OpenGL明暗器的.HLSL文件

[英].HLSL file for OpenGL Shaders

我正在嘗試使用教程制作一個簡單的OpenGL應用程序。 它說我可以給着色器任何我想要的文件擴展名。 但是,在VS2013中,當我單擊“添加新項”時,轉到Visual C ++選項卡並添加Pixel Shader或Vertex Shader,它無法正確編譯,並且出現錯誤。 為什么會這樣呢? 為什么普通的.txt只能編譯時,為什么我的着色器不能使用.hlsl文件?

我得到的錯誤:

  • 錯誤x3000
  • 錯誤x1504

問題不在於文件擴展名,而是與文件關聯的編譯器選項。 在Visual Studio中創建hlsl文件之一時,其默認Item Type (可以在屬性面板中看到)為HLSL Compiler 這意味着編譯器鏈嘗試使用hlsl編譯器來編譯此文件,當文件包含glsl代碼時,hlsl編譯器將無法工作。

您可以將項目類型手動切換為“ Text (或其他沒有編譯關系的項目),也可以使用其他擴展名。 我個人決不會以任何方式命名glsl着色器文件* .hlsl,因為項目中的每個其他人都將假定它包含hlsl代碼。

Hlsl是DirectX着色器的擴展。 當您在Visual中添加hlsl文件時,它會識別該文件並嘗試將其編譯為DirectX着色器,這當然與OpenGL着色器不同。 我建議使用glsl文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM