Webgl 如何以及何时在“顶点和片段”着色器中选择“高”、“低”和“中”?
他们的最佳实践是什么?性能有什么不同吗 他们的最佳实践是什么 在大多数情况下,这些只在手机上起作用。该规范称,一个实现可以始终使用更高的精度,因此在桌面上,顶点着色器和片段着色器始终以highp运行。(据我所知,没有任何桌面GPU不是这样的) 从第4.5.2节 4.5.2精度限定符 精度限定符声明基础实现必须使用的最小范围和精度 当存储这些变量时。实现可能使用比要求更大的范围和精度,但是 不少 对于手机和平板电脑,有几个答案。没有最好的。由你决定Webgl 如何以及何时在“顶点和片段”着色器中选择“高”、“低”和“中”?,webgl,Webgl,他们的最佳实践是什么?性能有什么不同吗 他们的最佳实践是什么 在大多数情况下,这些只在手机上起作用。该规范称,一个实现可以始终使用更高的精度,因此在桌面上,顶点着色器和片段着色器始终以highp运行。(据我所知,没有任何桌面GPU不是这样的) 从第4.5.2节 4.5.2精度限定符 精度限定符声明基础实现必须使用的最小范围和精度 当存储这些变量时。实现可能使用比要求更大的范围和精度,但是 不少 对于手机和平板电脑,有几个答案。没有最好的。由你决定 使用尽可能低的精度,它仍能满足您的需要 使用h
lowp
、mediump
和highp
来编译和链接而不会出错。
片段语言需要使用lowp
和mediump
来编译而不会出错支持
highp
是可选的
你通常需要高压力的地方的例子。Phong阴影点光源通常需要高亮度。例如,在不支持highp的系统上,您可能只使用平行光,或者在移动设备上,您可能只使用平行光来提高性能
性能有什么不同吗
是的,但正如上面所说,实现可以自由使用更高的精度。因此,如果您在桌面GPU上使用mediump,您将不会看到任何性能差异,因为它总是使用highp。在手机上,至少在2019年,您将看到性能差异。您还可以看到着色器真正需要highp的地方
这里是一个phong着色器集,用于使用mediump。在桌面上,因为mediump实际上很高,所以它可以工作
在移动设备上,mediump实际上是mediump,它会中断
例如,大多数2D游戏都可以使用mediump,至少在片段着色器中是这样
他们的最佳实践是什么
在大多数情况下,这些只在手机上起作用。该规范称,一个实现可以始终使用更高的精度,因此在桌面上,顶点着色器和片段着色器始终以highp运行。(据我所知,没有任何桌面GPU不是这样的)
从第4.5.2节
4.5.2精度限定符
精度限定符声明基础实现必须使用的最小范围和精度
当存储这些变量时。实现可能使用比要求更大的范围和精度,但是
不少
对于手机和平板电脑,有几个答案。没有最好的。由你决定
lowp
、mediump
和highp
来编译和链接而不会出错。
片段语言需要使用lowp
和mediump
来编译而不会出错支持
highp
是可选的
你通常需要高压力的地方的例子。Phong阴影点光源通常需要高亮度。例如,在不支持highp的系统上,您可能只使用平行光,或者在移动设备上,您可能只使用平行光来提高性能
性能有什么不同吗
是的,但正如上面所说,实现可以自由使用更高的精度。因此,如果您在桌面GPU上使用mediump,您将不会看到任何性能差异,因为它总是使用highp。在手机上,至少在2019年,您将看到性能差异。您还可以看到着色器真正需要highp的地方
这里是一个phong着色器集,用于使用mediump。在桌面上,因为mediump实际上很高,所以它可以工作
在移动设备上,mediump实际上是mediump,它会中断
例如,大多数2D游戏都可以使用mediump,至少在片段着色器中是这样。iirc精度限定符被指定为对桌面平台没有影响,而不是专门在桌面上指定。他们只是被设定为能够更高。“精度限定符声明基础实现在存储这些变量时必须使用的最小范围和精度。实现可能使用比请求的范围和精度更大的范围和精度,但不能小于”iirc精度限定符被指定为对桌面平台没有影响,它们不是专门在桌面上指定的。它们只不过是些小玩意儿