本文整理汇总了TypeScript中gl-matrix.mat4.mul方法的典型用法代码示例。如果您正苦于以下问题:TypeScript mat4.mul方法的具体用法?TypeScript mat4.mul怎么用?TypeScript mat4.mul使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gl-matrix.mat4
的用法示例。
在下文中一共展示了mat4.mul方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: draw
public draw(camera: Camera | PerspectiveCamera | OrthographicCamera) {
if (!this.visible) return;
gl = GL.get();
// Update modelMatrix
this.updateMatrix(camera);
// Update
mat4.identity(projectionViewMatrix);
mat4.identity(modelWorldMatrix);
mat4.mul(
projectionViewMatrix,
camera.projectionMatrix,
this.modelViewMatrix
);
let screenPosition;
let vertex;
this._labels.forEach((label, i) => {
vertex = this._parentMesh.geometry.vertices[label.indice];
screenPosition = from3DTo2D(vertex, projectionViewMatrix);
label.element.style.left = `${screenPosition.x * window.innerWidth}px`;
label.element.style.top = `${screenPosition.y * window.innerHeight}px`;
label.element.innerHTML = `${label.indice}`;
});
this.material.program.bind();
this.material.setUniforms(
camera.projectionMatrix,
this.modelViewMatrix,
this.modelMatrix,
camera
);
if (extensions.vertexArrayObject) {
this.vao.bind();
} else {
this.bindAttributes();
this.bindAttributesInstanced();
this.bindIndexBuffer();
}
gl.drawArrays(
gl.POINTS,
0,
this.geometry.attributes.aVertexPosition.numItems
);
if (extensions.vertexArrayObject) {
this.vao.unbind();
}
}
示例2:
outBool = mat3.exactEquals(mat3A, mat3B);
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);