OpenGL ES 2.0 笔记 - 着色语言的内置函数
来源:互联网 发布:cocos2d-js webgl 编辑:程序博客网 时间:2024/06/06 01:00
着色语言的内置函数
- 简单的数学函数
abs(求模) floor(取整)
角度转换与三角函数
特别说明:上述表格中genType代表的数据类型有float,vec2,vec3以及vec4.float指的是浮点数标量.
指数函数
常见函数
几何函数
- cross函数
此函数的功能返回两个向量x与y的叉积,两个向量叉积的绝对值即为这两个向量所在四边形的面积.
矩阵函数
向量关系函数
bvec lessThan(ivec x, ivec y) 此函数返回向量x与y中,各个分量执行x < y的结果 bvec lessThanEqual(vec x, vec y)
bvec lessThanEqual(ivec x, ivec y) 此函数返回向量x,y各个分量执行x <= y的结果 bvec greaterThan(vec x, vec y)
bvec greaterThan(ivec x, ivec y) 此函数返回向量x,y各个分量执行x > y的结果 bvec greaterThanEqual(vec x, vec y)
bvec greaterThanEqual(ivec x, ivec y) 此函数功能返回向量x,y中各个分量执行x >= y的结果 bvec equal(vec x, vec y)
bvec equal(ivec x, ivec y)
bvec equal(bvec x, bvec y) 此函数返回向量x与y中各个分量执行x == y的结果 bvec notEqual(vec x, vec y)
bvec notEqual(ivec x, ivec y)
bvec notEqual(bvec x, bvec y) 此函数返回向量x,y各个分量x != y 的结果 bool any(bvec x) 如果x中任何一个分量为true,则返回true bool all(bvec x) x中所有分量都为true,则返回true bvec not(bvec x) 对于x的各个分量执行的逻辑非运算
说明:上述表格中的vec代表的数据类型有vec2,vec3,vec4; ivec代表的数据类型有ivec2,ivec3,ivec4.以及bvec代表的数据类型bvec2,bvec3,bvec4.
纹理采样函数
vec4 texture2DProj(sampler2D sampler, vec3 coord, [float bias]
vec4 texture2DProj(sampler2D sampler, vec4 coord, [float bias]
vec4 texture2DLod(sampler2D sampler, vec2 coord, float lod)
vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod)
vec4 texture2DProjLod(sampler2D sampler, vec4 coord, float lod) 此系列函数功能为使用二维纹理坐标coord在由sampler参数指定的2D纹理中执行纹理采样.对于带有Proj后缀的函数,会将纹理坐标(coord.s, coord.t)除以coord的最后一个部分(coord.q).对于类型为vec4的coord.忽略其第三部分(coord.p) vec4 textureCube(samplerCube sampler, vec3 coord)
vec4 textureCube(samplerCube sampler, vec3 coord, float bias)
vec4 textureCubeLod(samplerCube sampler, vec3 coord, float lod) 此函数功能为使用纹理坐标coord在由sampler参数指定的立方图纹理中执行纹理采样.此函数中coord不再是直接的纹理坐标,而是一个表示方向的向量,通过此向量搜首先确定要采样的面,再确定面里面的纹理坐标 vec4 texture3D(sampler3D sampler, vec3 coord, [float bias]) OpenGL ES 2.0 未支持
1. bias参数
含有bias参数的纹理采样函数只能在片元着色器中调用,且此参数仅对sampler为mipmap类型的纹理时才有意义.
2. Lod后缀系列
带有”Lod”后缀的纹理采样函数仅适用于顶点着色器.此系列函数仅对sampler为mipmap类型的纹理有意义.
3. texture3D系列纹理采样函数在标准的OpenGL ES 2.0 中还没有支持.
微分函数
开发人员可以根据需要选择偏重高渲染质量还是高渲染速度
GLES20.glHint(GL_FRAGMENT_SHADER_DERIVATIVE_HINT, XXXXX);//XXXXX 代表某选项的参数的值
0 0
- OpenGL ES 2.0 笔记 - 着色语言的内置函数
- OpenGL ES 2.0 笔记 - 着色语言基础
- OpenGL ES之着色器语言的内建函数
- 学习笔记总结:Android中OpenGL ES的着色语言
- OpenGL ES着色语言
- opengl es 2.0 读书笔记2-OpenGL ES 着色器语言
- OpenGL ES着色语言-UBO
- 【OpenGL ES】着色语言GLSL
- opengl es 着色器语言
- OpenGL ES着色器语言之着色
- OpenGL ES着色器语言之着色
- 11 WebGL 着色器编程语言GLSL ES的内置函数
- OpenGL ES着色器语言之内建函数
- OpenGL ES着色语言关键字使用
- OpenGL ES着色器语言 常量、变量
- 对用OpenGL ES 2.0实现OpenGL ES 1.1的顶点着色器的研究
- 10 WebGL 着色器编程语言GLSL ES的函数
- OpenGL ES着色器语言之内建函数(官方文档第八章)
- 【Demo记录】Fragment 返回栈
- OpenSSL命令---ciphers
- 《Redis官方文档》用Redis构建分布式锁
- 输入函数对比
- 图片文件读取到内存,然后返回内存中图片,用于解除锁定
- OpenGL ES 2.0 笔记 - 着色语言的内置函数
- RecycleView之 DiffUtil的使用
- jQuery
- 数据结构与算法之Josephus问题(用Java解决)
- 奇数序列运算式
- 区块链开发(二)部署和运行第一个以太坊智能合约
- openstack 锁的使用及其原理
- PopupMenu和PopupWindow
- 小记前端 URL 传参 中文乱码