Visual LabINTERACTIVE LEARNING
OpenGL 与 3D第 3 / 4 章

主线程:恢复 Geometry 与 Material

接收序列化结果,重建几何体、材质、纹理与场景对象。

Web WorkerglTF性能
专题预计 44 分钟查看源文 ↗

mergeMesh

重写了mesh的实现,拾取交点的判定方法


import { Vector3, Vector2, Sphere, Matrix4, Ray, Mesh, Triangle, BackSide, FrontSide, MeshBasicMaterial, BufferGeometry } from 'three'

const _inverseMatrix = /*@__PURE__*/ new Matrix4()
const _ray = /*@__PURE__*/ new Ray()
const _sphere = /*@__PURE__*/ new Sphere()
const _sphereHitAt = /*@__PURE__*/ new Vector3()

const _vA = /*@__PURE__*/ new Vector3()
const _vB = /*@__PURE__*/ new Vector3()
const _vC = /*@__PURE__*/ new Vector3()

const _tempA = /*@__PURE__*/ new Vector3()
const _morphA = /*@__PURE__*/ new Vector3()

const _uvA = /*@__PURE__*/ new Vector2()
const _uvB = /*@__PURE__*/ new Vector2()
const _uvC = /*@__PURE__*/ new Vector2()

const _normalA = /*@__PURE__*/ new Vector3()
const _normalB = /*@__PURE__*/ new Vector3()
const _normalC = /*@__PURE__*/ new Vector3()

const _intersectionPoint = /*@__PURE__*/ new Vector3()
const _intersectionPointWorld = /*@__PURE__*/ new Vector3()