zoukankan      html  css  js  c++  java
  • GLSL ES 中的存储变量修饰符(const/attribute/uniform/varying/in/centroid in/out/centroid out)

    GLSL ES 3.00 中支持的存储变量修饰符

    变量名称 作用 示例
    const 编译过程常量,或者函数的只读参数 const vec3 zAxis = vec3 (0.0, 0.0, 1.0);
    in
    centroid in
    用于连接 shader 的上一阶段;
    centroid 为质心采样关键字,用于避免伪像,不可用于顶点着色器;
    顶点着色器中的 out 和片段着色器中的 in 名称相同时构成接口,必须具有相同的类型和精度;
    in vec4 position;
    centroid in vec2 TexCoord;
    flat in vec3 myColor;
    out
    centroid out
    用于连接 shader 的下一阶段;
    centroid 为质心采样关键字,用于避免伪像 ,不可用于顶点着色器;
    顶点着色器中的 out 和片段着色器中的 in 名称相同时构成接口,必须具有相同的类型和精度;
    out vec3 normal;
    centroid out vec2 TexCoord;
    invariant centroid out vec4 Color;
    flat out vec3 myColor;
    uniform 统一变量,在 shader,OpenGL ES 和应用程序中保持一致,链接在一起的顶点着色器和片段着色器共享同一个统一变量空间 uniform vec4 lightPosition;

    GLSL ES 1.00 中支持的存储变量修饰符

    变量名称 作用 示例
    const 编译过程常量,或者函数的只读参数 const vec3 zAxis = vec3 (0.0, 0.0, 1.0);
    attribute 用于连接顶点着色器和 OpenGL ES,存储逐顶点数据,仅用于顶点着色器中 attribute vec4 position;
    varying 用于连接顶点着色器和片段着色器,从顶点着色器向片段着色器传递变量 varying vec3 normal;
    uniform 统一变量,在 shader,OpenGL ES 和应用程序中保持一致,链接在一起的顶点着色器和片段着色器共享同一个统一变量空间 uniform vec4 lightPosition;
  • 相关阅读:
    git branch用法总结
    vue-router异步加载组件
    vue错误提示 Cannot read property 'beforeRouteEnter' of undefined,刷新后跳到首页
    websocket常见错误
    Websocket原理
    怎么在overflow-y:sroll的情况下 隐藏滚动条
    URI和URL有什么区别
    确定浏览器是否支持某些DOM模块
    将nodeList转换为数组(兼容性)
    软件的三种版本
  • 原文地址:https://www.cnblogs.com/flypopo/p/10182850.html
Copyright © 2011-2022 走看看