简体   繁体   English

顶点着色器的支持程度如何?

[英]How widely supported are Vertex Shaders?

I'm implementing armature animation in OpenGL, and the only method for doing this that I have found is using the Vertex Shader, transforming the model vertices by the bone transform matrices. 我正在OpenGL中实现骨架动画,而我发现的唯一方法是使用“顶点着色器”,通过骨骼变换矩阵变换模型顶点。

I'm familiar with the Fragment Shader, but up until now I have only used it for trivial stuff that, should shaders not be available, the game will still run without loading it. 我熟悉Fragment Shader,但是直到现在,我仅将其用于一些琐碎的事情,如果着色器不可用,则游戏仍会在不加载的情况下运行。 If I use the Vertex Shader however, there will be no fallback. 但是,如果我使用“顶点着色器”,将没有后备。 People without shader support will be stuck (or at least, the characters on their screen will be stuck) 没有着色器支持的人将被卡住(或至少屏幕上的字符将被卡住)

Are Vertex Shaders widely supported? 顶点着色器得到广泛支持吗? Are there any platforms/hardware/etc where they would not be available, or would be too slow for this purpose? 是否有任何平台/硬件/等不可用,或者为此目的太慢? (Laptops, older computers, older OSes, etc?) (笔记本电脑,旧计算机,旧操作系统等?)

I'm mostly concerned with making the game as widely available as possible. 我主要关心的是使游戏尽可能广泛地可用。 (That said though, using the shader seems to be the easiest method, not sure how it could be done efficiently using OpenGL's pipeline.) (也就是说,使用着色器似乎是最简单的方法,不确定使用OpenGL的管道如何有效地完成此操作。)

Based on what I found after some quick searching on GPU history, vertex shaders were introduced with DirectX 8.0, with GPUs supporting it being released around late 2000 or early 2001. Sometimes GPUs with older architectures keep being sold for some time longer at the low end of the price scale. 根据我在快速搜索GPU历史后发现的信息,DirectX 8.0引入了顶点着色器,并且支持它的GPU大约在2000年末或2001年初发布。有时,具有较旧架构的GPU在低端市场的销售时间会更长。价格规模。 But pretty much any desktop GPU sold within at least the last 10-12 years should support vertex shaders. 但是至少在最近的10-12年内出售的几乎所有台式机GPU都应支持顶点着色器。

On mobile platforms, vertex shaders were introduced with OpenGL ES 2.0. 在移动平台上,OpenGL ES 2.0引入了顶点着色器。 Those specs were released in March 2007. There were some smart phones with fairly low-end GPUs that did not support ES 2.0 still sold around 2009. Based on the latest data by Google ( http://developer.android.com/about/dashboards/index.html ), 99.9% of actively used devices that run Android 2.2 or higher support ES 2.0. 这些规范于2007年3月发布。一些智能手机具有相当低端的GPU,但不支持ES 2.0,该手机在2009年左右仍在销售。根据Google的最新数据( http://developer.android.com/about/ dashboards / index.html ),运行Android 2.2或更高版本的99.9%的已使用设备均支持ES 2.0。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM