大家好,接下来将为大家介绍OpenGL ES 3.x 着色器语言:shader language。
1、指定版本
OpenGL ES的顶点着色器和片段着色器的第一行声明GLSL的版本:(如果没有指定,则默认为 1.0版本)。
2、变量类型
类型 | 说明 |
void | 空类型,即不返回任何值 |
bool | 布尔类型 true,false |
int | 带符号的整数 signed integer |
float | 带符号的浮点数 floating scalar |
vec2, vec3, vec4 | n维浮点数向量 n-component floating point vector |
bvec2, bvec3, bvec4 | n维布尔向量 Boolean vector |
ivec2, ivec3, ivec4 | n维整数向量 signed integer vector |
mat2, mat3, mat4 | 2×2, 3×3, 4×4 浮点数矩阵 float matrix |
sampler2D | 2D纹理 a 2D texture |
samplerCube | 盒纹理 cube mapped texture |
3、变量声明、赋值
OpenGL ES 不支持指针类型。
在 OpenGL ES 中,对于类型转换有很严格的限制,即变量只允许使用相同类型的其它变量进行赋值或其它操作。
标量类型示例:
向量类型示例:
矩阵类型示例:
矩阵类型的构造函数则更加灵活,规则如下:
1) 如果只提供了一个标量(基本数据类型),则会用这个值填充矩阵的对角线,比如 mat4(1.0) 将会构造一个 4×4 的单位矩阵
2) 可以使用多个向量构造,比如 mat2 可以使用两个 vec2 构造
3) 可以使用多个标量构造
需要注意的是,和平时的写法不同,OpenGL 中的矩阵以列优先的形式排序:
4、向量和矩阵分量示例
根据组成 vector 的成员数量,可以通过 {x, y, z, w},{r, g, b, a}, 或 {s, t, p, q} 来访问它的成员,x、r、s 永远指向第一个成员,使用不同的名字仅仅只是为了方便,但不能混合使用,即不能用 “.xgr” 这样的形式。使用示例:
也可以使用 “[]” 操作符,需要注意的是,矩阵是以列排序的:
5、常量示例
常量必须在声明的时候初始化:
6、结构体示例
7、数组示例
数组声明及初始化:
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性
GLB下载网(glbxz.com)gltf文件下载-glb格式下载-模型制作 » android开发 使用 OpenGL ES 加载gltf 文件
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性
GLB下载网(glbxz.com)gltf文件下载-glb格式下载-模型制作 » android开发 使用 OpenGL ES 加载gltf 文件
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载要提取码
- 分享过期和重复下载怎么办
- 模型和平台不兼容怎么办