render-mesh.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /**
  2. * Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
  3. *
  4. * @author Alexander Rose <alexander.rose@weirdbyte.de>
  5. */
  6. import './index.html'
  7. import { Canvas3D } from 'mol-canvas3d/canvas3d';
  8. import { MeshBuilder } from 'mol-geo/geometry/mesh/mesh-builder';
  9. import { Sphere } from 'mol-geo/primitive/sphere';
  10. import { Mat4 } from 'mol-math/linear-algebra';
  11. import { Mesh } from 'mol-geo/geometry/mesh/mesh';
  12. import { Geometry } from 'mol-geo/geometry/geometry';
  13. import { createMeshRenderObject } from 'mol-gl/render-object';
  14. import { Representation } from 'mol-repr/representation';
  15. import { Color } from 'mol-util/color';
  16. const parent = document.getElementById('app')!
  17. parent.style.width = '100%'
  18. parent.style.height = '100%'
  19. const canvas = document.createElement('canvas')
  20. canvas.style.width = '100%'
  21. canvas.style.height = '100%'
  22. parent.appendChild(canvas)
  23. const canvas3d = Canvas3D.create(canvas, parent)
  24. canvas3d.animate()
  25. const builderState = MeshBuilder.createState()
  26. const t = Mat4.identity()
  27. const sphere = Sphere(2)
  28. MeshBuilder.addPrimitive(builderState, t, sphere)
  29. const mesh = MeshBuilder.getMesh(builderState)
  30. const values = Mesh.createValuesSimple(mesh, {}, Color(0xFF0000))
  31. const state = Geometry.createRenderableState()
  32. const renderObject = createMeshRenderObject(values, state)
  33. const repr = Representation.fromRenderObject('sphere-mesh', renderObject)
  34. canvas3d.add(repr)
  35. canvas3d.resetCamera()