相关疑难解决方法(0)

在OpenGL ES 2.0/GLSL中,您需要哪些精度说明符?

您填充值的变量是否决定了您正在使用的精度,等号的右侧?

例如,这里的精度说明符是否有任何意义上的区别:

gl_FragColor = lowp vec4(1);
Run Code Online (Sandbox Code Playgroud)

这是另一个例子:

lowp float floaty = 1. * 2.;
floaty = lowp 1. * lowp 2.;
Run Code Online (Sandbox Code Playgroud)

如果你采用一些浮点数,并从它们创建一个向量或矩阵,那么该向量或矩阵是否会采用您填充它的值的精度,或者这些值是否会转换为另一个精度级别?

我认为优化这个最好能回答这个问题:

dot(gl_LightSource[0].position.xyz, gl_NormalMatrix * gl_Normal)
Run Code Online (Sandbox Code Playgroud)

我的意思是,它是否需要走这么远,如果你想尽可能快,或者它有些无用吗?

lowp dot(lowp gl_LightSource[0].position.xyz, lowp gl_NormalMatrix * lowp gl_Normal)
Run Code Online (Sandbox Code Playgroud)

我知道你可以定义float的默认精度,并且这可以用于之后的向量和矩阵.假设为了教育的目的,我们之前已经定义了这个:

precision highp float;
Run Code Online (Sandbox Code Playgroud)

glsl opengl-es-2.0

48
推荐指数
1
解决办法
5万
查看次数

标签 统计

glsl ×1

opengl-es-2.0 ×1