初始化渲染器(画布): var renderer = new THREE.WebGLRenderer({});
① 设置画布大小、颜色、位置等参数
② 嵌入画布到页面中:document.body.appendChild(renderer.domElement);
初始化场景和相机:
① 初始化场景:var scene = new THREE.Scene();
② 初始化相机:var camera = new THREE.Camera();
③ 在场景中添加相机:scene.add(camera);
处理arToolkitSource:
① var arToolkitSource = new THREEx.ArToolkitSource({sourceType: ‘webcam’}); 从网络摄像机读取
② arToolkitSource.init(function onReady() {onResize()}) 和 window.addEventListener(‘resize’, function () {onResize()}):监听页面并调整大小
初始化arToolkitContext:
① var arToolkitContext = new THREEx.ArToolkitContext({cameraParametersUrl: 加载相机参数})
② 将投影矩阵复制到相机
③ 在每一帧上更新artoolkit,更新scene.visible(如果看到标记),scene.visible = camera.visible;
创建ArMarkerControls,创建标记控制
① 初始化相机控制:当我们控制相机时,设置矩阵模式:‘摄像机变换矩阵’(changeMatrixMode: ‘cameraTransformMatrix’)
② 正如我们所做的更改matrixmode:‘cameraTransformMatrix’,从不可见的场景开始:scene.visible = false
在场景中添加对象 (通过three.js可以加载多种类型的模型,如fbx等)
渲染模型到页面上
① renderer.render(scene, camera);
② requestAnimationFrame(animate);