import nimib
nbInit
nb.partials["head"] &= """<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r83/three.min.js"></script>"""
nbJsFromCode:
import jsffi, std/dom
import threejs
var scene = newScene()
var tmp = clientWidth().float / clientHeight().float
var camera = newPerspectiveCamera( 75, tmp, 0.1, 1000 )
camera.position.z = 4
var antialias = newJsObject()
antialias["antialias"] = true
var renderer = newWebGLRenderer(antialias)
renderer.setClearColor("#000000".cstring)
renderer.setSize( clientWidth(), clientHeight() )
appendRenderer( renderer )
var geometry = newBoxGeometry( 1, 1, 1 )
var color = newJsObject()
color["color"] = "#433F81".cstring
var material = newMeshBasicMaterial( color )
var cube = newMesh( geometry, material )
scene.add( cube )
proc render(time:float) =
discard window.requestAnimationFrame( render )
cube.rotation.x += 0.01
cube.rotation.y += 0.01
renderer.render(scene, camera)
render(0.0)
nbSave