本文整理汇总了TypeScript中gl-matrix.mat3.fromMat4方法的典型用法代码示例。如果您正苦于以下问题:TypeScript mat3.fromMat4方法的具体用法?TypeScript mat3.fromMat4怎么用?TypeScript mat3.fromMat4使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gl-matrix.mat3
的用法示例。
在下文中一共展示了mat3.fromMat4方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1:
outMat2d = mat2d.fromRotation(outMat2d, 0.5);
outMat2d = mat2d.fromScaling(outMat2d, vec2A);
outMat2d = mat2d.fromTranslation(outMat2d, vec2A);
outStr = mat2d.str(mat2dA);
outVal = mat2d.frob(mat2dA);
outMat2d = mat2d.add(outMat2d, mat2dA, mat2dB);
outMat2d = mat2d.subtract(outMat2d, mat2dA, mat2dB);
outMat2d = mat2d.sub(outMat2d, mat2dA, mat2dB);
outMat2d = mat2d.multiplyScalar (outMat2d, mat2dA, 2);
outMat2d = mat2d.multiplyScalarAndAdd (outMat2d, mat2dA, mat2dB, 2);
outBool = mat2d.exactEquals(mat2dA, mat2dB);
outBool = mat2d.equals(mat2dA, mat2dB);
// mat3
outMat3 = mat3.create();
outMat3 = mat3.fromMat4(outMat3, mat4A);
outMat3 = mat3.clone(mat3A);
outMat3 = mat3.copy(outMat3, mat3A);
outMat3 = mat3.fromValues(1, 2, 3, 4, 5, 6, 7, 8, 9);
outMat3 = mat3.set(outMat3, 1, 2, 3, 4, 5, 6, 7, 8, 9);
outMat3 = mat3.identity(outMat3);
outMat3 = mat3.transpose(outMat3, mat3A);
outMat3Null = mat3.invert(outMat3, mat3A);
outMat3 = mat3.adjoint(outMat3, mat3A);
outVal = mat3.determinant(mat3A);
outMat3 = mat3.multiply(outMat3, mat3A, mat3B);
outMat3 = mat3.mul(outMat3, mat3A, mat3B);
outMat3 = mat3.translate(outMat3, mat3A, vec3A);
outMat3 = mat3.rotate(outMat3, mat3A, Math.PI/2);
outMat3 = mat3.scale(outMat3, mat3A, vec2A);
outMat3 = mat3.fromTranslation(outMat3, vec2A);
示例2: setUniforms
//.........这里部分代码省略.........
uniform.value[1],
uniform.value[2]
);
break;
}
case '4f': {
gl.uniform4f(
uniform.location,
uniform.value[0],
uniform.value[1],
uniform.value[2],
uniform.value[3]
);
break;
}
case '1iv': {
gl.uniform1iv(uniform.location, uniform.value);
break;
}
case '2iv': {
gl.uniform2iv(uniform.location, uniform.value);
break;
}
case '1fv': {
gl.uniform1fv(uniform.location, uniform.value);
break;
}
case '2fv': {
gl.uniform2fv(uniform.location, uniform.value);
break;
}
case '3fv': {
gl.uniform3fv(uniform.location, uniform.value);
break;
}
case '4fv': {
gl.uniform4fv(uniform.location, uniform.value);
break;
}
case 'Matrix3fv': {
gl.uniformMatrix3fv(uniform.location, false, uniform.value);
break;
}
case 'Matrix4fv': {
gl.uniformMatrix4fv(uniform.location, false, uniform.value);
break;
}
default:
}
});
if (!GL.webgl2) {
gl.uniformMatrix4fv(
this.uniforms.uProjectionMatrix.location,
false,
projectionMatrix
);
}
gl.uniformMatrix4fv(
this.uniforms.uModelViewMatrix.location,
false,
modelViewMatrix
);
gl.uniformMatrix4fv(
this.uniforms.uModelMatrix.location,
false,
modelMatrix
);
mat4.identity(inversedModelViewMatrix);
mat4.invert(inversedModelViewMatrix, modelMatrix);
mat3.identity(normalMatrix);
mat3.fromMat4(normalMatrix, inversedModelViewMatrix);
mat3.transpose(normalMatrix, normalMatrix);
gl.uniformMatrix3fv(
this.uniforms.uNormalMatrix.location,
false,
normalMatrix
);
// uDiffuse
gl.uniform3f(
this.uniforms.uDiffuse.location,
this.uniforms.uDiffuse.value[0],
this.uniforms.uDiffuse.value[1],
this.uniforms.uDiffuse.value[2]
);
// Camera
if (camera && this.uniforms.uCameraPosition) {
gl.uniform3f(
this.uniforms.uCameraPosition.location,
camera.position.v[0],
camera.position.v[1],
camera.position.v[2]
);
}
}