欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[three.js]学习笔记

程序员文章站 2022-03-26 14:40:13
...

再此之前必须提一个sublime的插件,HTML-CSS-JS Prettify(注意插件需要node.js的安装

装完过后右键菜单Prettify code或者ctrl+shift+h,就会看到不再一团糟、格式干净的代码了。有人推荐TAG package,可以优化html代码,但是我遇到js乱码的情况比较多所以觉得很鸡肋。

Three.js is a library that makes WebGL - 3D in the browser - easy to use.

three.js的introduction倒是很简单易懂。

three.js      918KB            jquery-1.12.3.js      286KB
three.min.js  486KB            jquery-1.12.3.min.js  94.9KB

压缩后的大小勉强能接受,不过还是jquery的5倍。

|workflow

1.Create the scene (scene, camera, renderer)

2.Create the cube (geometry, material, mesh)

3. Render the scene

4. Animate the scene

下面是演示代码:

<body>
    <script src="js/three.js"></script>
    <script>
    var scene = new THREE.Scene();
    var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
    var renderer = new THREE.WebGLRenderer();
    renderer.setSize(window.innerWidth, window.innerHeight);
    document.body.appendChild(renderer.domElement);
    var geometry = new THREE.BoxGeometry(1, 1, 1);
    var material = new THREE.MeshBasicMaterial({
        color: 0x2ea9df,
        wireframe: true
    });
    var cube = new THREE.Mesh(geometry, material);
    scene.add(cube);
    camera.position.z = 5;
    var render = function() {
        requestAnimationFrame(render);
        cube.rotation.x += 0.1;
        cube.rotation.y += 0.1;
        renderer.render(scene, camera);
    };
    render();
    </script>
</body>

[three.js]学习笔记

用浏览器打开可以看到一个旋转的正方体。(用了露草色 #3ea9df ,默认wireframe:false,改为true

2016.4.11

试着自己敲代码熟悉,不过总是无法成功,最后发现用webGLRenderer就能显示,而CanvasRenderer就会失败。

未找到很好的解释,不过有对两种渲染方法的比较:[日语] Three.jsの基本②

WebGLRendererだとリッチな処理になります。CanvasRendererは雑な処理になります。

提到在低配电脑、移动端需要用性能差一些的CanvasRenderer。在threejs官网则有解释:

The Canvas renderer displays your beautifully crafted scenes not using WebGL, but draws it using the (slower) Canvas 2D Context API.

CanvasRender不适用webGL而是使用Canvas 2D Context 接口

转载于:https://my.oschina.net/sikou/blog/656032