openGL ES 2.0 笔记 6

精度声明

这个是GLSL 在ES中新引入的

 

两种声明方式,一种是在每一个变量前面声明,如下:

 

highp vec4 position;

varying lowp vec4 color;

mediump float specularExp;

 

 

另一种是在shader开始之前声明,如下:

 

 

precision highp float;

precision mediump int;

 

 

 

vertex shader中可以不声明,默认都 为highp;

 

fragment shader必须声明,opengles 规范没有强制要求fragment shader 必须支持highp,所以如果GPU支持,宏GL_FRAGMENT_PRECISION_HIGH肯定会被定义,所以可以用下面的语句做为shader的开始

 

#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; #else precision mediump float; #endif 

 

 

你可能感兴趣的:(open,GL,shader,float)