このエントリーをはてなブックマークに追加

ブラウザーで3D/VRやるなら必須のJavascriptライブラリー WebGLを簡単に扱うことが出来るし、便利なコントロールや出力(Oculus rift/Google Cardboard)ライブラリーもある。

更新履歴

リファクタリングなどの違いは省略。 diffでコードを比べて見た結果。
違い多すぎる(WebGLRendererとか)クラスは把握しきれていない。

詳しくは、r70のコミットを追いかけるのが確実

r70リリースノート Github / Google+

Google+にも書いてあったが、これを指定するのが重要。デモでも全部指定している

renderer.setPixelRatio( window.devicePixelRatio );

コード共通

prototype.constructorを使うようになった。


THREE.Camera.prototype.constructor = THREE.Camera;

たぶん、instanceofが継承しても通りやすくなる?

cameras

共通以外に変わりなし

core

BufferGeometry

追加
merge: function ( geometry, offset )

Geometry

追加
mergeMesh: function ( mesh )

Object3D

this.renderDepth が消えてる

追加
getObjectByProperty: function ( name, value, recursive )
まとめて、Objectを取るときに、名前以外を指定可能になった。例えば、typeとか

traverseAncestors: function ( callback )
親のObjectを遡って、callbackに渡す

Raycaster

追加
setFromCamera: function ( coords, camera )
カメラは、PerspectiveCameraOrthographicCameraのみ カメラの違いで設定する方法が違いが、それをメソッドで解消

extra

animation

animationHandlerのinit()の致命的なバグが修正

MorphAnimation

値追加

this.lastFrame = 0;
this.currentFrame = 0;

geometries

CylinderGeometry

コンストラクターにパラメターが追加

thetaStart: thetaStart,
thetaLength: thetaLength

TubeGeometry

コンストラクターにtapperが追加

tapper値(function)に以下が追加

THREE.TubeGeometry.NoTaper
THREE.TubeGeometry.SinusoidalTaper

ImageUtils

loadTextureCube

イメージごとにonErrorを処理

light

共通以外に変わりなし

loaders

BinaryTextureLoaderというクラスが追加

Abstract Base class to load generic binary textures formats (rgbe, hdr, ...)

loader special case for normal mapped materialの中の処理が微妙に変わってる

materials

共通以外に変わりなし

object.sortParticles = this.sortParticles;

math

Eular

setFromRotationMatrix setFromQuaternion で、オプションでcallbackを呼び出さないようにできる。

追加 toVector3: function ( optionalResult )

Matrix4

追加 extractBasis: function ( xAxis, yAxis, zAxis )

Vector2,3,4

fromAttribute: function ( attribute, index, offset )

Objects

PointCloud

削除
this.sortParticles = false;

renderers

ShaderLib

いろいろ変わってる

UniformsLib

多少違い有り

WebGLRenderer

値追加

pixelRatio = 1,が追加

関数追加

this.forceContextLoss = function ()
this.getPixelRatio = function ()
this.getClearColor = function () 

setMeshBuffers( geometryGroup, object, hint, dispose, material )?

CubeTexture

引数がない時、デフォルが設定されるように
mapping = mapping !== undefined ? mapping : THREE.CubeReflectionMapping;

textures

Texture

THREE.UVMapping が関数から数値に
THREE.UVMapping = 300;

使い方

最構築中

古い情報