openGL ES 2.0 笔记 6

    技术2022-05-20  35

    精度声明

    这个是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 

     

     


    最新回复(0)