返回介绍

在 Unity 4 中使用 DirectX 11

发布于 2021-06-19 18:03:26 字数 1981 浏览 1180 评论 0 收藏 0

Unity 4 推出了 DirectX 11 图形 API 功能,它具备了您所期望的所有优质功能:计算着色器、镶嵌着色器、shader model 5.0 等等。

启用 DirectX 11

要为游戏构建和编辑器启用 DirectX 11,请在播放器设置 (Player Settings) 中设置 “Use DX11” 选项。要运行此功能,还需重启 Unity 编辑器。

注意,DX11 需要在 Windows Vista 或更高版本的系统上运行,GPU 级别至少应为 DX10(DX11 更佳)。Unity 编辑器实际上在 DX11 模式中运行时,其窗口名称末尾将显示 “<DX11>”。

使用 DX11 可实现的图像效果

  • 景深 (Depth of Field) 效果(优化的焦外成像纹理光斑)
  • 噪波和杂点 (Noise and Grain) 效果(更高质量的噪波类型)
  • 动态模糊 (Motion Blur) 效果(更高质量的重建过滤)

计算着色器

计算着色器允许将 GPU 用作大规模并行处理器。模式详细信息,请参阅计算着色器页面。

镶嵌和几何着色器

表面着色器支持简单的镶嵌和置换,请参阅表面着色器镶嵌 (Surface Shader Tessellation) 页面。

手动编写着色器程序时,可以使用 DX11 shader model 5.0 的全套功能,包括几何、外壳和域着色器。

表面着色器和 DX11

目前,表面着色器编译管道的某些部分无法理解特定于 DX11 的 HLSL 语法,如果您需要使用特定于 StructuredBuffers、RWTextures 和其他非 DX9 的HLSL 语法,则必须将其添加至仅支持 DX11 的预处理器宏。有关详细信息,请参阅 特定平台之间的差异页面。

DirectX 11 示例

以下截图展示了使用 DirectX 11 可实现的效果。

这些镜头中的大体积云雾爆炸是使用光线步进(使用 shader model 5.0 可实现)渲染而成。此外,由于 DirectX 11 可生成并更新深度值,它可与基于深度的图像效果,如景深或动态模糊等完全兼容。

此镜头中的头发是使用 DirectX 11 镶嵌和几何着色器动态生成并绘制一撮头发动画制成。着色以 Kajiya-Kai 提出的模型为基础,以制作更逼真的漫反射和高光行为。

与上述头发制作技巧相似,显示的拖鞋毛发也是使用基础简单的拖鞋网格生成的几何图形制成。

此图像中的模糊效果(称为 焦外成像) 是通过将纹理泼洒在非常明亮的像素上形成。这可形成非常逼真的相机镜头模糊效果,与 HDR 渲染配合使用效果更佳。

夸张的镜头模糊效果与上述截图相似。使用新的景深 (Depth of Field) 效果也可实现上述效果

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文