本文整理汇总了TypeScript中gl-matrix.mat4.translate方法的典型用法代码示例。如果您正苦于以下问题:TypeScript mat4.translate方法的具体用法?TypeScript mat4.translate怎么用?TypeScript mat4.translate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gl-matrix.mat4
的用法示例。
在下文中一共展示了mat4.translate方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: updateMatrix
public updateMatrix(camera: Camera | PerspectiveCamera | OrthographicCamera) {
mat4.identity(this.modelViewMatrix);
if (this.matrixAutoUpdate) {
// Reset
mat4.identity(this.localMatrix);
mat4.identity(this.modelMatrix);
quat.identity(this.quaternion);
// If Object3D has a parent, copy the computed modelMatrix into localMatrix
if (this.parent) {
mat4.copy(this.localMatrix, this.parent.modelMatrix);
mat4.multiply(this.modelMatrix, this.modelMatrix, this.localMatrix);
}
// Use lookAt quat as base
// Note: this.rotation isn't updated if lookAt's used
quat.copy(this.quaternion, this.quaternionLookAt);
// Apply local transitions to modelMatrix
mat4.translate(this.modelMatrix, this.modelMatrix, this.position.v);
quat.rotateX(this.quaternion, this.quaternion, this.rotation.x);
quat.rotateY(this.quaternion, this.quaternion, this.rotation.y);
quat.rotateZ(this.quaternion, this.quaternion, this.rotation.z);
axisAngle = quat.getAxisAngle(quaternionAxisAngle, this.quaternion);
mat4.rotate(
this.modelMatrix,
this.modelMatrix,
axisAngle,
quaternionAxisAngle
);
mat4.scale(this.modelMatrix, this.modelMatrix, this.scale.v);
}
// Model View Matrix
if (camera) {
mat4.multiply(
this.modelViewMatrix,
camera.worldInverseMatrix,
this.modelMatrix
);
}
}
示例2:
outBool = mat3.equals(mat3A, mat3B);
//mat4
outMat4 = mat4.create();
outMat4 = mat4.clone(mat4A);
outMat4 = mat4.copy(outMat4, mat4A);
outMat4 = mat4.fromValues(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
outMat4 = mat4.set(outMat4, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
outMat4 = mat4.identity(outMat4);
outMat4 = mat4.transpose(outMat4, mat4A);
outMat4Null = mat4.invert(outMat4, mat4A);
outMat4 = mat4.adjoint(outMat4, mat4A);
outVal = mat4.determinant(mat4A);
outMat4 = mat4.multiply(outMat4, mat4A, mat4B);
outMat4 = mat4.mul(outMat4, mat4A, mat4B);
outMat4 = mat4.translate(outMat4, mat4A, vec3A);
outMat4 = mat4.scale(outMat4, mat4A, vec3A);
outMat4Null = mat4.rotate(outMat4, mat4A, Math.PI, vec3A);
outMat4 = mat4.rotateX(outMat4, mat4A, Math.PI);
outMat4 = mat4.rotateY(outMat4, mat4A, Math.PI);
outMat4 = mat4.rotateZ(outMat4, mat4A, Math.PI);
outMat4 = mat4.fromTranslation(outMat4, vec3A);
outMat4Null = mat4.fromRotation(outMat4, Math.PI, vec3A);
outMat4 = mat4.fromScaling(outMat4, vec3A);
outMat4 = mat4.fromXRotation(outMat4, Math.PI);
outMat4 = mat4.fromYRotation(outMat4, Math.PI);
outMat4 = mat4.fromZRotation(outMat4, Math.PI);
outMat4 = mat4.fromRotationTranslation(outMat4, quatA, vec3A);
outVec3 = mat4.getTranslation(outVec3, mat4A);
outVec3 = mat4.getScaling(outVec3, mat4A);
outQuat = mat4.getRotation(outQuat, mat4A);
示例3:
core.gl.drawArrays(core.gl.TRIANGLE_STRIP, 0, 4)
}
img.src = player
const
pMatrix = mat4.create(),
vMatrix = mat4.create(),
rMatrix = mat4.create(),
tMatrix = mat4.create()
// mat4.perspective(pMatrix, Math.PI / 6, width / height, 0, 100)
mat4.ortho(pMatrix, -1, 1, -1, 1, 0, 100)
mat4.lookAt(vMatrix, [0, 0, 3], [0, 0, 0], [0, 1, 0])
mat4.translate(tMatrix, tMatrix, [0, .7, 0])
core.uniformMatrix4fv(program, 'pMatrix', pMatrix)
core.uniformMatrix4fv(program, 'vMatrix', vMatrix)
core.uniformMatrix4fv(program, 'rMatrix', rMatrix)
core.uniformMatrix4fv(program, 'tMatrix', tMatrix)
setInterval(() => {
mat4.rotateY(rMatrix, rMatrix, .01)
mat4.rotateY(vMatrix, vMatrix, .01)
// core.uniformMatrix4fv(program, 'rMatrix', rMatrix)
// core.uniformMatrix4fv(program, 'vMatrix', vMatrix)
core.clear(0xffffff, 1)
core.gl.drawArrays(core.gl.TRIANGLE_STRIP, 0, 4)
})