Commit Graph
872 Commits
Author SHA1 Message Date
alteredq 49c7eeaf7d Fixed scene loader example.
I forgot to update scene loader to reflect new way of handling textures :S
2011-02-26 05:30:56 +01:00
Mr.doob 45ec0f329b Reverted Camera::FOV,zNear,zFar to Camera::fov,near,far.
Most of the examples or working again as usual. Only `webgl_scene_test.html` and `webgl_ribbons.html` left.
2011-02-26 03:45:16 +00:00
alteredq 3dc37702ce Refactored minecraft / terrain / ocean examples to use QuakeCamera.
Terrains finally have proper controls ;)
2011-02-26 00:41:33 +01:00
alteredq da8afc4e6d Refactored CameraControl into THREE.QuakeCamera.
Now you can add keyboard + mouse camera control with a single line, just change camera type and add parameters:

 camera = new THREE.QuakeCamera( { fov: 50, aspect: window.innerWidth / window.innerHeight, near: 1, far: 10000,
	                           movement_speed: 1, look_speed: 0.002, nofly: true, look_vertical: false } );

Thanks to mrdoob for suggestions ;)
2011-02-26 00:24:14 +01:00
Mr.doob 033a372c70 Fixed Matrix4::scale
Fixed matrix rotation in Projector (not fully done yet, need to implement herarchies still)
2011-02-25 16:33:04 +00:00
Mr.doob 059d0d7df2 Fixed Matrix4::setRotationFromEuler (using x,y,z order). 2011-02-25 15:37:10 +00:00
Mr.doob aaa1b1cd7d Fixed broken include on sound example. 2011-02-25 12:40:24 +00:00
Mr.doob a036658c32 Merge remote branch 'alteredq/skinning' into skinning 2011-02-25 12:13:02 +00:00
alteredq 7415759392 Added 3d sound support plus example.
Thanks to @mikaelemtinger ;)
2011-02-25 09:08:15 +01:00
Mr.doob f66e3fc810 Merge remote branch 'alteredq/skinning' into skinning 2011-02-24 09:10:56 +00:00
Mr.doob 45de9955c5 Reformated Object3D.js.
Messing with Cube example (exploring rotations).
2011-02-24 09:10:40 +00:00
alteredq 47d69fe496 Fixed RTT and light test examples. 2011-02-24 02:09:03 +01:00
alteredq 3e2f4f7cc5 Merged with mrdoob's branch.
Also got uqbiquity working and fixed ugly globals bug in WebGLRenderer. Again we missed it because of consistent naming ;)
2011-02-24 01:31:33 +01:00
alteredq cff95a119c Textures are now updateable.
That was much tougher than expected. No wonder other WebGL video demos around the web are broken.

Firefox OpenGL / ANGLE and Chrome OpenGL were ok, getting it to work in Chrome ANGLE was rather tricky.

Please report if something got broken. I tried to go through all textured examples but I may have missed something.

If you want to refresh texture on WebGL side, you just set "texture.needsUpdate" flag (if you use Loader or ImageUtils.loadTexture / loadTextureCube everything is taken care of).

Flag has to be set also for canvas-based textures, sorry no escaping this :(. I tried and it lead to ugly problems (e.g. AO minecraft demo mixes several asynchronously loaded and generated images into one texture, with autodetect always something was broken).

"needsUpdate" should work also on cube textures, though it's not tested yet (also there I didn't put hack for Chrome ANGLE).
2011-02-23 23:43:32 +01:00
Mr.doob fef3c084b1 Changed build setup:
build/Three.js - Includes all renderers + extras
	build/custom/ThreeCanvas.js - Canvas renderer only
	build/custom/ThreeDOM.js - DOM renderer only
	build/custom/ThreeSVG.js - SVG renderer only
	build/custom/ThreeWebGL.js - WebGL renderer only
	build/custom/ThreeExtras.js - Extras only

Moved `THREE.Detector.js` to `examples/js/Detector.js`.

Updated examples to reflect these changes.
2011-02-23 12:35:31 +00:00
Mr.doob 8d07971cd0 Removed dupe stats.update() calls... 2011-02-23 10:49:09 +00:00
Mr.doob a4a8f184c6 src/objects/Object3D.jssrc/core/Objects3D.js 2011-02-22 23:26:19 +00:00
Mr.doob 2810b2f8fa Merge remote branch 'alteredq/skinning' into skinning 2011-02-22 18:16:48 +00:00
Mr.doob 405b72c200 Simpler RequestAnimationFrame.js 2011-02-22 18:16:31 +00:00
alteredq aba1930fa2 Fixed DOF example layout in Firefox. 2011-02-22 15:41:18 +01:00
alteredq ced26b32e6 Synced with mrdoob's skinning branch. 2011-02-22 06:35:27 +01:00
alteredq 408fad1905 Added depth-of-field example. 2011-02-22 06:25:07 +01:00
Mr.doob 9297fb975e All examples now use RequestAnimationFrame.js (pheww!) 2011-02-22 04:45:38 +00:00
Mr.doob f474b91918 Merge branch 'master' into skinning 2011-02-22 01:56:19 +00:00
Mr.doob eb3c0d59d7 On THREE.Texture, if image is a canvas, chances are is already loaded. 2011-02-22 01:55:57 +00:00
Mr.doob 5aa43cd1cd All canvas examples are now using RequestAnimationFrame.js
Webgl examples next.
2011-02-22 01:54:03 +00:00
alteredq 6af332afeb Synced with mrdoob's skinning branch. Also fixed broken canvas cube example.
That one was bugging me, I thought it was integration when it was a simple misspelling ;)
2011-02-22 00:06:12 +01:00
Mr.doob a4ee822b10 Easier to understand RequestAnimationFrame setup. 2011-02-21 20:39:11 +00:00
alteredq e3b68c4d90 Fixed bug in frustum culling.
Thanks to oosmoxiecode for reporting ;)
2011-02-21 17:02:11 +01:00
alteredq b36cf734bd Removed dirty flag from Quaternion.
There don't seem to be any effects on performance (though I'm not sure this was actually used in any example/test code path - so far quaternions are used just for animation interpolation and even there they were always dirty, and also just updated during JIT baking).

Also some more code cleanup - no need for Mesh to have own "update" as now it was exactly the same as its parent Object3D.
2011-02-21 03:06:17 +01:00
alteredq 6c84868d96 More examples conversion to requestAnimationFrame.
Separate commit to have a clean slate for a different changes I want to try in meanwhile.
2011-02-21 00:42:51 +01:00
alteredq 1e34df61f0 Changed few more examples to use requestAnimationFrame.
Interestingly, sometimes it seems to go nuts when there are more renderers active at the same time. With uqbiquity, it works ok when using "container" div as element parameter, with large geometry example this doesn't work (calls to loop happen rarely).
2011-02-20 21:13:38 +01:00
alteredq d05053c493 Merged with mrdoob's skinning branch.
Not fully tested (need to update bookmarks yet again), but random sample of examples seem to work ;).
2011-02-20 19:17:06 +01:00
alteredq 0111f5ddbb Accidentally merged skinning branch with mrdoob's main branch.
No harm seems to be done, just gained ReverseSubtractiveBlending and fixed Detector ;).
2011-02-20 18:50:26 +01:00
Mr.doob 30a3d14c2d Object3D::rotationMatrix ⟶ Object3D::matrixRotation
I need to look at this objectMatrix::extractRotationMatrix() thing. I don't think this works like that... isn't the scale applied to the rotation in the matrix?
2011-02-20 06:09:14 +00:00
Mr.doob 106db4c3f8 Object3D::autoUpdateMatrix ⟶ Object3D::matrixAutoUpdate
Object3D::matrixNeedsToUpdate ⟶ Object3D::matrixNeedsUpdate
2011-02-20 05:35:13 +00:00
Mr.doob 848d1a338c Removed debug version from compile script. 2011-02-20 04:38:34 +00:00
Mr.doob af4c20b3ba Wegbl... 2011-02-20 04:26:06 +00:00
Mr.doob 4912f59cc6 Compiled new build.
Renamed examples.
2011-02-20 04:11:47 +00:00
Mr.doob 642cfbfe1d Merge remote branch 'alteredq/skinning' into skinning 2011-02-20 03:51:36 +00:00
alteredq eae36edf1e Added Ribbon.js 2011-02-20 04:50:35 +01:00
Mr.doob 5b8f3700ad Merge remote branch 'alteredq/skinning' into skinning 2011-02-20 03:09:46 +00:00
Mr.doob 251a7d53b8 Figured out why Canvas/SVG wasn't rendering... someone changed camera.near/far to camera.zNear/zFar :P 2011-02-20 03:09:23 +00:00
alteredq 3ecde220d4 Simplified requestAnimationFrame handling (thanks to greggman).
Still with weird error reports in Firefox (though it work despites them).
2011-02-20 01:05:25 +01:00
alteredq 9c2b5c257c Added MiscUtils with THREE.requestAnimationFrame.
This is lifted from greggman's ThreeD http://code.google.com/p/threedlibrary/

Also modified ribbons example to show how to use this.
2011-02-19 18:21:03 +01:00
alteredq e151ff394b Added Ribbon object.
It provides a lean way how to render TRIANGLE_STRIP primitives: needs just n+2 vertices for n triangles (one Ribbon = one strip). There are no faces, no indices, everything is rendered in one simple drawArray call.

Vertex colors are supported, normals not yet.
2011-02-19 16:21:23 +01:00
alteredq 313ce3ed94 More refactoring and optimizations.
- removed unnecessary normal matrix computation in hierarchies (this is already done in renderer)
- removed unnecessary enabling of attribute arrays in every frame (it's enough to do it when shader program is created)
- depth test is now only set if it changed
2011-02-18 17:03:41 +01:00
alteredq 2ecbe2dec2 A lot of bugfixing and refactoring.
- 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.
2011-02-18 00:31:08 +01:00
Antonin Hildebrand d65ef66aa7 add THREE.ReverseSubtractiveBlending 2011-02-17 22:24:10 +01:00
alteredq afbace2801 Cleaning up to make it pass through Closure compiler.
We have been very lucky - setters / getters were not supported till just 2 hours ago (so fresh, I had to build Closure myself from their repo ;).

http://code.google.com/p/closure-compiler/issues/detail?id=249

Also some refactoring plus added hackish animation offset feature.
2011-02-17 05:10:30 +01:00