1. 23 6月, 2015 1 次提交
  2. 19 2月, 2015 2 次提交
  3. 11 11月, 2014 1 次提交
  4. 19 7月, 2014 1 次提交
  5. 31 5月, 2014 1 次提交
  6. 22 5月, 2014 1 次提交
    • I
      This commit re-introduces THREE.Skeleton to decouple bone/object transformations · 889fa9ff
      Ian Kerr 提交于
      from the transforms that bind a THREE.Skeleton to a THREE.SkinnedMesh.  This
      allows us to animate multiple THREE.SkinnedMesh instances with a single
      THREE.Skeleton.
      
      Here is a summary of the major changes:
      
      extras/helpers/SkeletonHelper.js
      * Fixed code mistakes (missing 'THREE').
      
      objects/Bone.js
      * Removed duplicate code that is already in THREE.Object3D.
      
      objects/Skeleton.js
      * Not a descendant of THREE.Object3D (previous version was).
      * Stores boneMatrices and boneTexture.
      * Independent of THREE.SkinnedMesh.
      
      objects/SkinnedMesh.js
      * Refactored boneMatrices and boneTexture related code into THREE.Skeleton.
      * Added two bind matrix modes: "attached" and "detached".
      
      renderers/WebGLRenderer.js
      renderers/webgl/WebGLProgram.js
      * Attach bindMatrix and bindMatrixInverse to shaders.
      
      renderers/shaders/ShaderChunk.js
      renderers/shaders/ShaderLib.js
      * Use bind matrices during skinning.
      889fa9ff
  7. 14 5月, 2014 1 次提交
    • I
      This commit improves the flexibility of the animation system by allowing any · aff4c1c2
      Ian Kerr 提交于
      Object3D instace to be used for skinning--not just Bone instances.  Furthermore,
      this commit removes the restriction that a SkinnedMesh can only be skinned by
      child objects/bones.  Now, a SkinnedMesh can reference arbitrary objects for the
      purpose of skinning.  One implication of this is that Bone.skinMatrix has been
      removed as it is no longer necessary.
      
      Here is a breakdown of the notable changes:
      
      src/extras/animation/Animation.js
      * Fixed animation of non-bones
      * Removed references to skinMatrix
      
      src/extras/animation/AnimationHandler.js
      * Removed special handling of SkinnedMatrix instances
      
      src/extras/animation/KeyFrameAnimation.js
      * Removed special handling of Bone instances
      * Removed references to skinMatrix
      
      src/extras/helpers/SkeletonHelper.js
      * Removed references to skinMatrix and Skeleton
      
      src/objects/Bone.js
      * Removed references to skinMatrix
      
      src/objects/Skeleton.js
      * Removed entirely, refactoring functionality back into SkinnedMesh
      
      src/objects/SkinnedMesh.js
      * Re-added code to construct the skeleton hierarchy when it is present in the geometry object that is passed to the constructor.  This is here for backwards compatibility and could be refactored at a later time.
      * Added bind() function that takes an array of bones (Object3D instances) that are used to skin the mesh.  This function establishes the initial bind transforms of the mesh and bones.
      * Added initBoneInverses() function that is used internally by bind() to calculate the bind matrices.
      * Added initBoneMatrices(), which contains refactored code that previously existed in the constructor (prior to the THREE.Skeleton refactor).  This code sets up storage for the bone matrices and/or texture.  It is used internally by bind().
      * Added updateBoneMatrices(), which is called by the renderer after the scene's world matrices have been updated.  This is done in a separate pass because SkinnedMesh can depend on objects that are stored anywhere in the scene hierarchy, not necessarily child objects.
      
      src/renderers/WebGLRenderer.js
      * Call updateBoneMatrices() on SkinnedMesh instances after world matrices have been updated
      * Removed references to Skeleton
      aff4c1c2
  8. 09 4月, 2014 1 次提交
  9. 13 3月, 2014 2 次提交
  10. 04 1月, 2013 1 次提交
    • M
      Removed Vector* add() to addVectors() and addSelf() to add(). Same with sub,... · b062fee8
      Mr.doob 提交于
      Removed Vector* add() to addVectors() and addSelf() to add(). Same with sub, cross, min, max, lerp... Renamed Matrix* and Quaternion multiply() to multiplyMatrices(), multiplyQuaternions() and multiplySelf() to multiply(). See #2860.
      Good thing we have a ton of examples to make sure nothing is broken. The unit tests also helped. However, I suspect I've left something unchanged.
      b062fee8
  11. 26 6月, 2012 1 次提交
  12. 07 5月, 2012 1 次提交
  13. 24 10月, 2011 1 次提交
    • A
      Got skinning working again. · b2b7282f
      alteredq 提交于
      Code is a horrible mess but at least it works. Anyways, some day we should revisit GPU accelerated skinning with a proper pipeline.
      b2b7282f
  14. 23 10月, 2011 1 次提交
  15. 15 10月, 2011 1 次提交
  16. 06 3月, 2011 1 次提交
  17. 26 2月, 2011 2 次提交
  18. 20 2月, 2011 1 次提交
  19. 18 2月, 2011 1 次提交
    • A
      A lot of bugfixing and refactoring. · 2ecbe2de
      alteredq 提交于
      - getters/setters are no more in Vector3
        - object hierarchies thus don't use "isDirty"
        - this was completely killing performance for anything that was touching a lot of Vector3 like creation of meshes and dynamic buffers
        - even without this, performance of hierarchies went up (a lot)
      
      - objects do not get passed renderer anymore
        - camera was almost also removed, but this is useful for LOD (though there may be some cleaner way to do this?)
      
      - material ids are now unified, this makes "geometry.sortFacesByMaterial" faster (thus scene init / GUI blocking is shorter)
      
      - all WebGL examples should work now (render-to-texture has weird lights and in some camera control feels different)
      
      - CanvasRender still broken, despite many efforts :(
         - currently only points and lines work, faces don't show up. I think this may need assistance from mrdoob.
      2ecbe2de
  20. 17 2月, 2011 1 次提交