美文网首页
OpenGL 常用函数总结

OpenGL 常用函数总结

作者: jasperWhf | 来源:发表于2022-10-17 10:32 被阅读0次

一、三角函数

1、radians(degrees)

把角度转为弧度,转换公式:弧度=(π/180) * degrees

2、degrees(radians)

把弧度转为角度,转换公式:角度(180/π) * radians

3、sin(angle)

正弦函数

4、cos(angle)

余弦函数

5、tan(angle)

正切函数

二、指数函数

1、pow(x, y)

x的y次方,x > 0, y >= 0

2、exp(x)

以e为底的指数函数

3、log(x)

以e为底的对数函数,x > 0

4、sqrt(x)

平方根函数,x >= 0

三、通用函数

1、abs(x)

求绝对值

2、sign(x)

符号函数。x>0时,返回值为1;x<0时,返回值为-1

3、floor(x)

向下取整,返回小于等于x的整数

4、round(x)

近似值取整,返回最接近x的整数,即四舍五入

5、ceil(x)

向上取整,返回大于等于x的整数

6、mod(x, y)

取模函数,返回x - y * (x/y)

7、min(x, y)

求x与y的较小值

8、max(x, y)

求x与y的较大值

9、clamp(x, minVal, maxVal)

求minVal与maxVal之间的数值,即min(max(x, minVal), maxVal)

10、mix(x, y, a)

x与y的混合,即x * (1- a) + y * a

11、step(edge, x)

阶跃函数。当x < edge时返回0,否则返回1

12、smoothstemp(edge0, edge1, x)

平滑阶跃函数。当x <= edge0且x >= edge1时,返回0。否则在[0, 1]区间执行Hermite插值(edge0 < x < edge1)

四、几何函数

1、length(x)

求矢量的长度,sqrt( x0 + x1 + … )

2、distance(p0, p1)

求两点距离,即length(p0 - p1)

3、dot(x, y)

x与y点乘,即x0 · y0 + x1 · y1 + …

4、cross(vec3 x, vec3 y)

求矢量x与y的叉乘,即(x1 · y2 - y1 · x2 , x2 · y0 - y2 · x0 , x0 · y1 - y0 · x1)

5、normalize(x)

归一化操作,即x / length(x)

五、矩阵函数

1、matrixCompMult(mat x, mat y)

矩阵x与y相乘

2、outerProduct(vec3 a, vec3 b)

向量a与b的外积

3、transpose(mat3 m)

矩阵的转置

4、inverse(mat3 m)

矩阵的反转

六、矢量关系函数

1、lessThan(vec x, vec y)

判断矢量x是否小于矢量y,返回bvec矢量

2、greaterThan(vec x, vec y)

判断矢量x是否大于矢量y,返回bvec矢量

3、equal(vec x, vec y)

判断矢量x与矢量y是否相等,返回bvec矢量

4、any(bvec x)

矢量x中任意数值为true,则返回true

5、all(bvec x)

矢量x中所有数值为true,则返回true

七、整数运算函数

1、bitCount(value)

返回二进制value中含有1的个数

2、findLSB(value)

返回二进制value的最低有效位

3、findMSB(value)

返回二进制value的最高有效位

八、纹理函数

1、texture(gsampler2D sampler, vec2 P[,float bias])

使用纹理坐标来查找绑定采样器的纹理

2、textureLod(gsampler2D sampler, vec2 P, float lod)

使用纹理坐标,结合lod(level-of-detail)来查找纹理

3、textureG rad(gsampler2D sampler, vec2 P, vec2 dPdx, vec2 dPdy)

使用纹理坐标,结合梯度来查找纹理

九、原子函数

1、atomicAdd(uint mem, uint data)

原子变量加运算

2、atomicAnd(uint mem, uint data)

原子变量逻辑与运算

3、atomicOr(uint mem, uint data)

原子变量逻辑或运算

4、atomicCompSwap(int mem, int compare, int data)

原子变量的比较交换。mem与compare比较,如果两者相等,那么data赋值给mem

十、图像函数

1、imageSize(gimage2D image)

计算图像的大小

2、imageLoad()

加载图像数据

3、imageStore()

存储图像数据

十一、插值函数

1、interpolateAtCentroid(vec3 interpolant)

在质心的位置进行插值

2、interpolateAtSample(vec3 interpolant, int sample)

在指定采样数的位置进行插值

3、interpolateAtOffset(vec3 interpolant, vec3 offset)

1、Mix: 内置函数mix是一个特殊线性插值函数,两个参数值基于第三个参数插值genType mix(genType x,genType y,float a),即(x*(1-a)+y*a)。简单理解就是a的值决定了x和y的强弱关系。a取值范围在[0,1]之间,a值越大,结果值中y占比会越大;a值越小,结果值中y占比会越小;

相关文章

  • OpenGL - 常用函数

    glutInit glutInitDisplayMode glutInitWindowSize glutCreat...

  • OpenGL 常用函数

    2.1.4 坐标系统工具箱 窗口大小变化时,在glutReshapeFunc()中注册的汉莎会被调用,在回调函数中...

  • OpenGL ES入门1--主要基本概念总结

    在OpenGL ES开发中,有些概念会经常用到,在这里进行一个总结。 什么是OpenGL ES OpenGL(Op...

  • String类常用方法总结

    String类常用方法总结 常用9种函数总结

  • 安卓OpenGLES环境搭建(十)

    前言 前面学习了opengl es的基础知识,包括GLSL语言,常用函数等等,由于opengl es是基于夸平台的...

  • IOS渲染图片OpenGLES(五)

    前言 前面学习了opengl es渲染管线,可编程语言GLSL,常用的opengl es函数,有了这些基础,现在就...

  • OpenGL纹理内容

    纹理可以理解为一张图片,OpenGL渲染图片会将图片的像素保存在纹理缓存中。 OpenGL常用纹理函数 载入纹理 ...

  • OpenGL纹理

    纹理可以理解为一张图片,OpenGL渲染图片会将图片的像素保存在纹理缓存中。OpenGL常用纹理函数 载入纹理 纹...

  • OpenGL基础变化综合练习实践总结

    一、前言 以下我总结了一些最近学习 OpenGL 中常用的一些函数,添加了比较多的注释,既是对自己学习的一个巩固总...

  • OpenGL常用函数笔记

    glTexImage2D 为当前绑定的纹理对象开辟内存并填充pixels数据到相应内存,生成纹理图像 target...

网友评论

      本文标题:OpenGL 常用函数总结

      本文链接:https://www.haomeiwen.com/subject/nlbigrtx.html