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; |
GLSL ES 中的存储变量修饰符(const/attribute/uniform/varying/in/centroid in/out/centroid out)的更多相关文章
- OC继承以及实例变量修饰符
这里基本上跟java一样 所以就简单写几点要注意的: 1)OC与java一样都只支持单继承可以多层继承(java单继承多实现) 2) OC中的实例变量修饰符前要加 @ 例如 @private 例如下面 ...
- java中的类修饰符、成员变量修饰符、方法修饰符。
类修饰符: public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类. abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. fin ...
- oc-19-成员变量修饰符
/** 成员变量修饰符 1.@public:(公开)只要导入头文件,任何位置都可以直接访问. 2.@protected:(半公开)可以在本类和子类当中进行访问.(默认) 3.@private:(私有) ...
- Objective-C 【继承、变量修饰符(私有变量/方法)、description方法】
------------------------------------------- 继承 一段代码: #import <Foundation/Foundation.h> @interf ...
- 理解C语言中几个常见修饰符
写在前面 今天下午一个同事问「register」关键字是什么作用?噢,你说的是「register」啊,它的作用是……脑袋突然断片儿,我擦,啥意思来着,这么熟悉的陌生感.做C语言开发时间也不短了,不过好 ...
- 四.OC基础--1.文档安装和方法重载,2.self和super&static,3.继承和派生,4.实例变量修饰符 ,5.私有变量&私有方法,6.description方法
四.OC基础--1.文档安装和方法重载, 1. 在线安装 xcode-> 系统偏好设置->DownLoads->Doucument->下载 2. 离线安装 百度xcode文档 ...
- Java 中的 protected 访问修饰符你真的了解吗?
protected Java 中的 protected 访问修饰符 总结 在同一个包中,类中 protected 或 default 修饰的属性或方法可以在类外被其对象 (实例) 外部访问,也可以被子 ...
- iOS中copy和strong修饰符的区别
iOS中copy和strong修饰符的区别 //用copys修饰的生成的都是不可变的对象 ,如果调用可变类型方法的直接报错 @property(nonatomic,copy)NSString * cp ...
- Java语言中的访问权限修饰符
一个Java应用有很多类,但是有些类,并不希望被其他类使用.每个类中都有数据成员和方法成员,但是并不是每个数据和方法,都允许在其他类中调用.如何能做到访问控制呢?就需要使用访问权限修饰符. Java语 ...
随机推荐
- 关于rocketmq的配置启动
#集群名称brokerClusterName=rocket-nameserver#broker-a,注意其它两个分别为broker-b和broker-cbrokerName=broker-a#brok ...
- 五十四、linux 编程——TCP 编程模型
54.1 编程模型介绍 54.1.1 TCP 客户端服务器编程模型 客户端调用序列 调用 socket 函数创建套接字 调用 connect 连接服务器端 调用 I/O 函数(read/write) ...
- Activiti工作流学习笔记
先从工作流的启动开始讲,Activiti提供了四种工作流的启动方式 1.空启动事件 2.定时启动事件 3.异常启动事件 4.消息启动事件 空启动事件中标签内没有任何其他元素的定义 <startE ...
- Python核心编程笔记 第二章
2.1 程序输出:print语句 可以使用print语句显示变量的字符串表示,或者仅用变量名查看该变量的原始值. 2.2 程序输出和raw_input()内建函数 ...
- 第31月第19天 NV12
1. //设置CIContext,并从CIImage -> CGImage -> UIImage CIContext *context = [CIContext contextWithOp ...
- Base64 加密解密
/// <summary> /// 编码 Base64 /// </summary> /// <param name="code"></p ...
- 将Chrome插件Momentum背景图片设为桌面壁纸
Momentum简介 Momentum插件是一款自动更换壁纸,自带时钟,任务日历和工作清单的chrome浏览器插件.官方的解释就是:替换你 Chrome 浏览器默认的“标签页”.里面的图片全部来自50 ...
- LeetCode第十六题-找出数组中三数之和最接近目标值的答案
3Sum Closest 问题简介: 给定n个整数的数组nums和整数目标,在nums中找到三个整数,使得总和最接近目标,返回三个整数的总和,可以假设每个输入都只有一个解决方案 举例: 给定数组:nu ...
- python学习第34天
# 互斥锁# 进程之间的数据共享 # 关于数据安全的问题# 进程池(自己了解,后面线程部分还会讲) # from multiprocessing import Pool# 线程的概念 (面试的重点)# ...
- Linux下执行自定义的可执行命令无效原因
1 前言 用golang编译成可执行文件tt stats text.txt(tt 是编译后重命名的可执行文件),然后直接执行失败了,后来使用./tt stats text.txt可以了. 执行结果如下 ...