【问题标题】:What does *.hlsl files do, what the relationship between this file and *.fx file?*.hlsl 文件有什么作用,这个文件和 *.fx 文件有什么关系?
【发布时间】:2015-05-01 23:57:26
【问题描述】:

我正在阅读 DirectX 项目的示例,我看到了 *.fx*.hlsl 文件。

我知道fx 是DirectX 读取的效果文件,但hlsl 文件的用途是什么?这些文件有用吗?

【问题讨论】:

    标签: directx directx-11


    【解决方案1】:

    过去,fx 包含使用效果系统语法(techniquepass 等)的着色器,而 hlsl 包含没有效果系统语法的纯 HLSL 着色器。

    然而,这纯粹是一种约定,实际上并没有特别一致地遵循。最后,重要的是您使用什么配置文件来编译文件。 VS 2012+ 将处理 fxhlsl 文件相同(即作为您使用 FXC 构建的文件)。

    最新的 Direct3D 11 效果在 CodePlexGitHub 上可用,但对 fx_5_0 配置文件的编译器支持已正式弃用。它仍然有效,但存在许多已知问题,并且可能会在未来某个时候被删除。

    在 Effects 11 项目网站上查看此讨论主题:What's the difference between an .fx and .hlsl file anyhow?

    【讨论】:

      【解决方案2】:

      .hlsl 文件包含着色器及其包含。 .fx 效果系统已弃用,不再包含在 DirectX SDK 中。

      【讨论】:

      • DirectX SDK 本身已被弃用。请参阅MSDN 和此blog post
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      • 2010-09-27
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      • 2017-11-14
      相关资源
      最近更新 更多