zoukankan      html  css  js  c++  java
  • OpenGL ES着色器语言之静态使用(static use)和预处理

    OpenGL ES着色器语言之静态使用(static use)

     在OpenGL ES中有一个术语叫静态使用(static use),什么叫静态使用呢?

              在写代码中,对于一个变量可能具有以下三种情况:

    (1)不声明不引用(No Reference),呵呵,那就没有这个变量了,如一个空语句:

                            ;

    (2)声明,但是不使用(Declared, NO used)

                           attribute vec4 position;

    (3)声明,并使用(static use)

                           attribute vec4 position;

                           ...

                           gl_Position = position;//静态使用,static use

             因此,在官方文档中,对于静态变量的定义为:在着色器中预处理之后至少有一个语句在使用声明过的变量,哪怕这一句代码从来没有真正执行过。

      

    OpenGL ES着色器语言之预处理(preprocessing)

     着色器的预处理过程是指在着色代码真正开始在内存中执行之前的整个过程。那么预处理过程包含哪些工作呢?

    -----------------------------------------------------------------------------------------------------------------------------------------------

    (1)创建一个空着色器

    (2)链接源代码字符串

    (3)将源代码字符串替换空着色器中的源码

    (4)编译着色器(顶点、片元着色器)

    (5)创建一个空的可执行程序

    (6)链接着色器

    -----------------------------------------------------------------------------------------------------------------------------------------------

    以上即为OpenGL ES的预处理过程

  • 相关阅读:
    7.Flask-上传文件和访问上传的文件
    Python 数字模块
    Django之模板语法
    decimal模块
    python中的计时器:timeit模块
    6.Flask-WTForms
    Django之ORM跨表操作
    公司 邮件 翻译 培训 长难句 16
    公司 邮件 翻译 培训 长难句 15
    公司 邮件 翻译 培训 长难句 14
  • 原文地址:https://www.cnblogs.com/Anita9002/p/4930830.html
Copyright © 2011-2022 走看看