Three.js
ブラウザーで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 )
カメラは、PerspectiveCamera
かOrthographicCamera
のみ
カメラの違いで設定する方法が違いが、それをメソッドで解消
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;
使い方
最構築中