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

问题描述

| 您要填充值的变量是否指示您正在使用的精度(在等号右边)? 例如,这里的精度说明符在含义上有什么区别:
gl_FragColor = lowp vec4(1);
这是另一个示例:
lowp float floaty = 1. * 2.;
floaty = lowp 1. * lowp 2.;
并且,如果您使用一些浮点数,并从中创建一个矢量或矩阵,那么该矢量或矩阵会采用填充您的值的精度,还是将这些值转换为另一个精度级别? 我认为优化此方法将最好地回答以下问题:
dot(gl_LightSource[0].position.xyz,gl_NormalMatrix * gl_Normal)
我的意思是,如果需要尽快,它是否需要走得那么远?还是有些没用?
lowp dot(lowp gl_LightSource[0].position.xyz,lowp gl_NormalMatrix * lowp gl_Normal)
我知道您可以为float定义默认精度,并且此后应该将其用于向量和矩阵。假设出于教育目的,我们之前已对此进行了定义:
precision highp float;
    

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)