返回介绍

Unity图形功能的硬件要求

发布于 2021-06-20 00:15:04 字数 2560 浏览 971 评论 0 收藏 0

概要

 PC/MaciOS/AndroidFlash360/PS3
延时光照 (Deferred lighting)SM3.0、GPU 支持--
正向渲染 (Forward Rendering)SM2.0OpenGL ES 2.0
顶点光照渲染 (Vertex Lit Rendering)-
实时阴影 (Realtime Shadow)SM2.0、GPU 支持-部分支持
图像效果 (Image Effects)大部分需要 SM2.0大部分需要 OpenGL ES 2.0部分支持
顶点着色器 (Vertex Shader)SM1.1OpenGL ES 2.0
像素着色器 (Pixel Shader)SM2.0OpenGL ES 2.0
固定函数着色器 (Fixed Function Shaders)-

实时阴影

实时阴影 (Realtime Shadow) 目前可在桌面和控制台平台上运行。在桌面平台上运行时通常需要可用 Shader Model 2.0 的 GPU。在 Windows (Direct3D) 上运行时,GPU 还需支持阴影贴图功能;大部分离散 GPU 支持 2003 以后的版本,而大多数集成 GPU 支持 2007 以后的版本。技术方面,在 Direct3D 9 上 GPU 需要支持 D16/D24X8 或 DF16/DF24 纹理格式;而在 OpenGL 上需要支持 GL_ARB_depth_texture 扩展。

Flash 的确支持实时阴影,但由于缺少深度偏差以及着色器的限制,实时阴影有自投影的假象(增加光照的阴影偏移),并且边缘更“尖锐”些。

移动阴影 (iOS/Android) 需要 OpenGL ES 2.0 和 GL_OES_depth_texture 扩展。最为显著的是,该扩展无法在基于 Tegra 的 Android 设备上显示,因此在这些设备上无法生成阴影。

图像效果

图像效果需要渲染到纹理 (render-to-texture) 功能,本千年以来制造的所有设备上一般都支持此功能。但是,除了最简单的效果之外,所有的效果都需要完全可编程的像素着色器,因此,若要达到所有实际用途,桌面平台的 Shader Model 2.0(2003 以后的离散 GPU;2005 以后的集成 GPU)和移动平台的 OpenGL ES 2.0 是必不可少的。

一些图像效果在 Flash 上有效,但大部分并非如此;原因是不支持非 2 的幂的纹理、着色器限制或缺少类似深度纹理支持的功能。

着色器

在 Unity 中,您可以编写固定函数或可编程着色器。除控制台(Xbox 360 和 Playstation 3)之外,任何位置都支持固定函数。可编程着色器默认为 Shader Model 2.0 (桌面平台)和 OpenGL ES 2.0 (移动平台)。在桌面平台上,可以将 Shader Model 1.1 指定为顶点着色器的目标。

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

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

发布评论

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