cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
2 lines (1 loc) • 1.73 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var t,r=require("./Node.js"),e=require("./math/Matrix4.js"),i=require("./math/Frustum.js"),a=require("./math/Ray.js"),o=require("./glmatrix/vec4.js"),n=require("./glmatrix/vec3.js"),u=r.default.extend((function(){return{projectionMatrix:new e.default,invProjectionMatrix:new e.default,viewMatrix:new e.default,frustum:new i.default}}),(function(){this.update(!0)}),{update:function(t){r.default.prototype.update.call(this,t),e.default.invert(this.viewMatrix,this.worldTransform),this.updateProjectionMatrix(),e.default.invert(this.invProjectionMatrix,this.projectionMatrix),this.frustum.setFromProjection(this.projectionMatrix)},setViewMatrix:function(t){e.default.copy(this.viewMatrix,t),e.default.invert(this.worldTransform,t),this.decomposeWorldTransform()},decomposeProjectionMatrix:function(){},setProjectionMatrix:function(t){e.default.copy(this.projectionMatrix,t),e.default.invert(this.invProjectionMatrix,t),this.decomposeProjectionMatrix()},updateProjectionMatrix:function(){},castRay:(t=o.default.create(),function(r,e){var i=void 0!==e?e:new a.default,u=r.array[0],s=r.array[1];return o.default.set(t,u,s,-1,1),o.default.transformMat4(t,t,this.invProjectionMatrix.array),o.default.transformMat4(t,t,this.worldTransform.array),n.default.scale(i.origin.array,t,1/t[3]),o.default.set(t,u,s,1,1),o.default.transformMat4(t,t,this.invProjectionMatrix.array),o.default.transformMat4(t,t,this.worldTransform.array),n.default.scale(t,t,1/t[3]),n.default.sub(i.direction.array,t,i.origin.array),n.default.normalize(i.direction.array,i.direction.array),i.direction._dirty=!0,i.origin._dirty=!0,i})});exports.default=u;