【问题标题】:How widely supported are Vertex Shaders?顶点着色器的支持范围有多广?
【发布时间】:2014-07-10 06:43:28
【问题描述】:

我正在 OpenGL 中实现骨架动画,我发现的唯一方法是使用顶点着色器,通过骨骼变换矩阵变换模型顶点。

我对片段着色器很熟悉,但到目前为止,我只将它用于一些琐碎的事情,如果着色器不可用,游戏仍然可以在不加载它的情况下运行。但是,如果我使用顶点着色器,则不会有回退。没有着色器支持的人会卡住(或者至少他们屏幕上的角色会卡住)

顶点着色器是否得到广泛支持?是否有任何平台/硬件/等不可用,或者为此目的太慢? (笔记本电脑、旧电脑、旧操作系统等?)

我最关心的是让游戏尽可能地普及。 (话虽如此,使用着色器似乎是最简单的方法,但不确定如何使用 OpenGL 的管道有效地完成它。)

【问题讨论】:

  • 片段着色器依赖于顶点着色器。如果您的代码使用片段着色器,那么顶点着色器也将被支持。
  • @rhughes - 是的。不过,我只将它用于微不足道的效果,所以如果没有支持,它就会在没有它的情况下运行。为此使用顶点着色器将使没有着色器的运行不再可能。
  • 如果向后兼容性真的很重要,顶点着色器很容易在 CPU 端模拟。但是,就像我们发现的那样,这不是问题。

标签: c++ opengl 3d shader


【解决方案1】:

根据我对 GPU 历史的一些快速搜索后发现,顶点着色器是随 DirectX 8.0 引入的,支持它的 GPU 大约在 2000 年末或 2001 年初发布。有时具有较旧架构的 GPU 的销售时间更长价格范围的低端。但至少在过去 10 到 12 年内销售的几乎所有桌面 GPU 都应该支持顶点着色器。

在移动平台上,顶点着色器是在 OpenGL ES 2.0 中引入的。这些规格于 2007 年 3 月发布。在 2009 年左右仍有一些不支持 ES 2.0 的低端 GPU 智能手机销售。根据谷歌 (http://developer.android.com/about/dashboards/index.html) 的最新数据,99.9% 的活跃使用设备运行 Android 2.2 或更高版本支持 ES 2.0。

【讨论】:

  • 交叉引用,根据 steam 的人口普查数据(只有 0.2% 的用户使用 dx8 或更低版本),着色器似乎非常得到很好的支持。我想我是白担心了!
猜你喜欢
  • 2010-09-13
  • 2015-09-16
  • 1970-01-01
  • 2013-08-09
  • 1970-01-01
  • 1970-01-01
  • 2018-07-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多