函数参考:glMatrix.js
vec3
create(a):
功能:
创建一个可在WebGL内部使用的vec3对象;如果指定了参数a,则使用a的数据初始化新创建的对象。
参数:
a:
可选,可以是包含vec3的任何类型,如vec4,mat3等。
返回:
新建的对象。
set(a, b):
功能:
将a的值赋于b。
返回:
b。
add(a,b,c):
功能:
计算a+b的值,如果指定了c,则保存在c中,返回c,否则保存在a中,返回a。
参数:
c:
可选。
返回:
计算的结果。
subtract(a,b,c):
功能:
计算a-b的值,如果指定了c,则保存在c中,返回c,否则保存在a中,返回a。
参数:
c:
可选。
返回:
计算的结果。
negate(a,b):
功能:
计算-a的值,如果指定了b,则保存在b中,返回b,否则保存在a中,返回a。
参数:
b:
可选。
返回:
计算的结果。
scale(a,b,c):
功能:
计算a和标量b的乘积,如果指定了c,则保存在c中,返回c,否则保存在a中,返回a。
参数:
b:
标量,是一个数字,不是向量、矩阵等。
c:
可选。
返回:
计算的结果。
normalize(a,b):
功能:
归一化a,如果指定了b,则保存在b中,返回b,否则保存在a中,返回a。
参数:
b:
可选。
返回:
计算的结果。
cross(a,b,c):
功能:
计算a和b的叉积,如果指定了c,则保存在c中,返回c,否则保存在a中,返回a。
参数:
c:
可选。
返回:
计算的结果。
length(a):
功能:
计算a的长度(模)。
返回:
计算的结果。
dot(a,b,c):
功能:
计算a和b的点积,如果指定了c,则保存在c中,返回c,否则保存在a中,返回a。
参数:
c:
可选。
返回:
计算的结果。
direction(a,b,c):
功能:
计算a到b的方向向量,并将计算结果归一化,如果指定了c,则保存在c中,返回c,否则保存在a中,返回a。
参数:
c:
可选。
返回:
归一化的方向向量。
lerp(a,b,c,d):
功能:
计算线性方程(插值)(lerp,a+c*(b-a)),如果指定了d,则保存在d中,返回d,否则保存在a中,返回a。
参数:
d:
可选。
返回:
计算的结果。
str(a):
功能:
将a转换为js数组格式的字符串,如"[0.1, 0.2, 0.3]"。
返回:
字符串。
mat3
create(a):
功能:
创建一个可在WebGL内部使用的mat3对象;如果指定了参数a,则使用a的数据初始化新创建的对象。
参数:
a:
可选。
返回:
新建的对象。
set(a, b):
功能:
将a的值赋于b。
返回:
b。
identity(a):
功能:
将a转换为单位矩阵。
返回:
a。
transpose(a, b):
功能:
计算a的转换矩阵,如果指定了b,则保存在b中,返回b,否则保存在a中,返回a。
参数:
b:
可选。
返回:
计算的结果。
toMat4(a, b):
功能:
计算a转换为mat4矩阵,如果指定了b,则保存在b中,返回b,否则保存在新建的对象中,返回新建的对象。
参数:
b:
可选。
返回:
计算的结果。
str(a):
功能:
将a转换为js数组格式的字符串,如"[0.1, 0.2, 0.3, 0.1, 0.2, 0.3, 0.1, 0.2, 0.3]"。
返回:
字符串。
mat4
create(a):
功能:
创建一个可在WebGL内部使用的mat4对象;如果指定了参数a,则使用a的数据初始化新创建的对象。
参数:
a:
可选。
返回:
新建的对象。
set(a, b):
功能:
将a的值赋于b。
返回:
b。
identity(a):
功能:
将a转换为单位矩阵。
返回:
a。
transpose(a, b):
功能:
计算a的转换矩阵,如果指定了b,则保存在b中,返回b,否则保存在a中,返回a。
参数:
b:
可选。
返回:
计算的结果。
determinant(a):
功能:
计算a的行列式。
返回:
计算的结果,一个数。
inverse(a, b):
功能:
计算a的逆转矩阵,如果指定了b,则保存在b中,返回b,否则保存在a中,返回a。
参数:
b:
可选。
返回:
计算的结果。
toRotationMat(a, b):
功能:
计算a转换为旋转矩阵,如果指定了b,则保存在b中,返回b,否则保存在新建的对象中,返回新建的对象。
参数:
b:
可选。
返回:
计算的结果。
toMat3(a, b):
功能:
计算a转换为mat3矩阵,如果指定了b,则保存在b中,返回b,否则保存在新建的对象中,返回新建的对象。
参数:
b:
可选。
返回:
计算的结果。
toInverseMat3(a, b):
功能:
计算a转换为mat3类型的逆转矩阵,如果指定了b,则保存在b中,返回b,否则保存在新建的对象中,返回新建的对象。
参数:
b:
可选。
返回:
计算的结果。
multiply(a, b, c):
功能:
计算a*b,如果指定了c,则保存在c中,返回c,否则保存a中,返回a。
参数:
c:
可选。
返回:
计算的结果。
multiplyVec3(a, b, c):
功能:
计算a*b,如果指定了c,则保存在c中,返回c,否则保存a中,返回a。
参数:
c:
可选。
返回:
计算的结果。
multiplyVec4(a, b, c):
功能:
计算a*b,如果指定了c,则保存在c中,返回c,否则保存a中,返回a。
参数:
c:
可选。
返回:
计算的结果。
translate(a, b, c):
功能:
计算a到b的平移矩阵,如果指定了c,则保存在c中,返回c,否则保存a中,返回a。
参数:
c:
可选。
返回:
计算的结果。
scale(a, b, c):
功能:
计算a和向量b(vec3)的乘积,如果指定了c,则保存在c中,返回c,否则保存a中,返回a。
参数:
c:
可选。
返回:
计算的结果。
rotate(a, b, c, d):
功能:
计算a绕着向量c(vec3)旋转b弧度的旋转矩阵,如果指定了d,则保存在d中,返回d,否则保存a中,返回a。
参数:
d:
可选。
返回:
计算的结果。
rotateX(a, b, c):
功能:
计算a绕着x轴旋转b弧度的旋转矩阵,如果指定了c,则保存在c中,返回c,否则保存a中,返回a。
参数:
c:
可选。
返回:
计算的结果。
rotateY(a, b, c):
功能:
计算a绕着y轴旋转b弧度的旋转矩阵,如果指定了c,则保存在c中,返回c,否则保存a中,返回a。
参数:
c:
可选。
返回:
计算的结果。
rotateZ(a, b, c):
功能:
计算a绕着z轴旋转b弧度的旋转矩阵,如果指定了c,则保存在c中,返回c,否则保存a中,返回a。
参数:
c:
可选。
返回:
计算的结果。
frustum(a, b, c, d, e, g, f):
功能:
根据传入的左右下上近远三组范围,计算平截矩阵,如果指定了f,则保存在f中,返回f,否则保存新建的对象中,返回新建的对象。
参数:
f:
可选。
返回:
计算的结果。
perspective(a, b, c, d, e):
功能:
根据传入的值,计算透视投影矩阵,如果指定了e,则保存在e中,返回e,否则保存新建的对象中,返回新建的对象。
参数:
a:
y方向上可见区域的夹角。
b:
纵横比,用于确定x方向上的可见区域。纵横比为x/y。
c:
近,是镜头到近平面的距离,而不是Z坐标。
d:
远,是镜头到远平面的距离,而不是Z坐标。
e:
可选。
返回:
计算的结果。
ortho(a,b,c,d,e,g,f):
功能:
根据传入的左右下上近远三组范围,计算正射投影矩阵,如果指定了f,则保存在f中,返回f,否则保存新建的对象中,返回新建的对象。
参数:
f:
可选。
返回:
计算的结果。
lookAt(a,b,c,d):
功能:
根据眼睛的位置、场景中心的位置和从观察者的角度往上的向量,计算视图转换矩阵,如果指定了d,则保存在d中,返回d,否则保存新建的对象中,返回新建的对象。
参数:
a:
眼睛的位置向量,vec3。
b:
场景中心向量,vec3。
c:
从观察者的角度往上的向量,vec3。
d:
可选。
返回:
计算的结果。
str(a):
功能:
将a转换为js数组格式的字符串,如"[0.1, 0.2, 0.3, 0.4, 0.1, 0.2, 0.3, 0.4, 0.1, 0.2, 0.3, 0.4, 0.1, 0.2, 0.3, 0.4]"。
返回:
字符串。
quat4(Quaternion4)
create(a):
功能:
创建一个可在WebGL内部使用的quat4对象;如果指定了参数a,则使用a的数据初始化新创建的对象。
参数:
a:
可选。
返回:
新建的对象。
set(a, b):
功能:
将a的值赋于b。
返回:
b。
calculateW(a, b):
功能:
根据四元数的XYZ组份计算W组份,如果指定了b,则保存在b中,返回b,否则保存在a中,返回a。
参数:
b:
可选。
返回:
计算的结果(完整的四元数对象)。
inverse(a, b):
功能:
计算a的逆转,如果指定了b,则保存在b中,返回b,否则保存在a中,返回a。
参数:
b:
可选。
返回:
计算的结果。
length(a):
功能:
计算a的长度(模)。
返回:
计算的结果。
normalize(a,b):
功能:
归一化a,如果指定了b,则保存在b中,返回b,否则保存在a中,返回a。
参数:
b:
可选。
返回:
计算的结果。
multiply(a, b, c):
功能:
计算a*b,如果指定了c,则保存在c中,返回c,否则保存a中,返回a。
参数:
c:
可选。
返回:
计算的结果。
multiplyVec3(a, b, c):
功能:
计算a*b,如果指定了c,则保存在c中,返回c,否则保存c中,返回c。
参数:
c:
可选。
返回:
计算的结果。
toMat3(a, b):
功能:
计算a转换为mat3矩阵,如果指定了b,则保存在b中,返回b,否则保存在新建的对象中,返回新建的对象。
参数:
b:
可选。
返回:
计算的结果。
toMat4(a, b):
功能:
计算a转换为mat4矩阵,如果指定了b,则保存在b中,返回b,否则保存在新建的对象中,返回新建的对象。
参数:
b:
可选。
返回:
计算的结果。
slerp(a,b,c,d):
功能:
计算四元数插值,如果指定了d,则保存在d中,返回d,否则保存在a中,返回a。
参数:
d:
可选。
返回:
计算的结果。
str(a):
功能:
将a转换为js数组格式的字符串,如"[0.1, 0.2, 0.3, 0.4]"。
返回:
字符串。