openGL ES 2.0 笔记 5

    技术2022-05-20  33

    预处理指令

     

    和C语言一样,有如下预处理指令

    #define #undef #if #ifdef #ifndef #else #elif #endif 

     

    下面是一些预处理宏,在编译是被替换为适当的值

    __LINE__ // Replaced with the current line number in a shader __FILE__ // Always 0 in OpenGL ES 2.0 __VERSION__ // The OpenGL ES shading language version (e.g., 100) GL_ES // This will be defined for ES shaders to a value of 1 

     

    #error  log  编译错误退出,并生成一个LOG 信息

    #pragma 编译器相关指示

     

    #version 100  用于向后兼容,指示当前shader是用哪个版本的opengl es。opengl es 2.0的版本是100

     

    #extension 指示一个扩展函数是,或者所有扩展函数是否可用,格式如下:

     

    // Set behavior for an extension #extension extension_name : behavior // Set behavior for ALL extensions #extension all : behavior  

     

    behavior有4个可选值:

    require,必须有这个扩展,如果GPU不支持,抛出错误;enable, 扩展使能,如果不支持,抛出告警;warn, 所有使用到扩展的语句,抛出告警;disable, 禁用扩展

     

     

     

     

     


    最新回复(0)