Skip to content
mrdoob edited this page Nov 15, 2012 · 60 revisions

##r52 → r53dev

  • Sprite now doesn't get anymore size automatically from the image size, use sprite.scale.set( imageWidth, imageHeight, 1.0 ) to achieve the old behavior
  • SceneLoaderand scene format now use widthSegments, heightSegments, depthSegments instead of segmentsWidth, segmentsHeight, segmentsDepth for definitions of plane, cube and sphere geometries
  • SceneLoaderand scene format now use material property with single material id string instead of materials array for meshes
  • MeshPhongMaterial now uses perPixel = true by default
  • WebGLRenderer constructor doesn't use anymore maxLights parameter: shaders will be generated with the exact number of lights in the scene (it's now up to the application layer to make sure shaders compile on a particular system)
  • ColorUtils.rgbToHsv() got moved into Color.getHSV()
  • Geometry no longer has a materials property. MeshFaceMaterials usage is now like this: new THREE.Mesh( geometry, new THREE.MeshFaceMaterials( [ material1, material2 ] ) ). Meaning that face.materialIndex will map the array passed to MeshFaceMaterials.
  • GeometryUtils.clone() is not a method in Geometry.

##r51 → r52

  • ShaderExtras have been split in a different files. CopyShader, FXAAShader, NormalShader, etc
  • Replaced SceneUtils.traverseHierarchy with object.traverse.
  • Removed SceneUtils.showHierarchy. Use object.traverse( function ( child ) { child.visible = false } ) instead.
  • Moved *Controls to examples/js/controls.
  • Split SceneUtils.cloneObject into *.clone()

##r50 → r51

  • CameraHelper API changes: helper is not anymore child of camera, instead it uses reference to camera world matrix
  • texture uniform changes: texture units are now assigned automatically, texture object goes to value property instead of texture one { type: "t", value: 0, texture: map } => { type: "t", value: map }
  • normalScale uniform in normal map shader is now Vector2 (to be able to invert separately x and y to deal with different tangent bases)
  • CTMLoader.load and CTMLoader.loadParts now use single parameter object for useWorker and useBuffers: loader.load( url, callback, useWorker, useBuffers ) => loader.load( url, callback, { useWorker: true, useBuffers: true } )
  • CTMLoader now creates BufferGeometry by default, set useBuffers parameter to false if you need Geometry
  • type for non-procedural geometries changed in the scene format: ascii_mesh => ascii, bin_mesh => binary, embedded_mesh => embedded
  • UTF8Loader (and compressor) were changed to a newer version, supporting more recent version of UTF8 format (r100+); loader doesn't create anymore geometries but instead it returns hierarchy with potentially multiple meshes created per each material (or by splitting large model)

##r49 → r50

  • Vector3's .getRotationFromMatrix( matrix, scale ) to Vector3's .setEulerFromRotationMatrix( matrix, order ).
  • Vector3's .getEulerXYZFromQuaternion( quaternion ) and .getEulerYZXFromQuaternion( quaternion ) to .setEulerFromQuaternion( quaternion, order ).
  • DOMRenderer and SVGRenderer no longer included in common build.
  • texture coordinates aren't anymore flipped in the geometries, instead textures have flipY property (true by default); all models need to be re-exported / reconverted (tools have been updated as well).
    workaround: uv.v = 1 - uv.v;
  • PlaneGeometry changed back to vertical orientation (facing screen instead of laying on the ground).
    workaround: mesh.rotation.x = - Math.PI / 2; or geometry.applyMatrix( new THREE.Matrix4().makeRotationX( - Math.PI / 2 ) );
  • doubleSided / flipSided properties moved from Object3D to Material's side property (THREE.FrontSide, THREE.BackSide and THREE.DoubleSide).
  • objectMatrix in shaders was renamed to modelMatrix.
  • JIT caching removed from Animation.
  • geometry.dynamic is now true by default.
  • Three.js build renamed to three.min.js.

##r48 → r49

  • changed PlaneGeometry from vertical to horizontal orientation.
  • renamed __dirtyXXX attribute properties to xxxNeedUpdate.
  • removed Vertex class, use Vector3 instead.

##r47 → r48

  • Removed intersectScene from Ray. Use intersectObjects( array ) instead.

##r45 → r46

  • loader.load( { model: url, callback: callback } ) to loader.load( url, callback ).