Commit Graph
873 Commits
Author SHA1 Message Date
Mr.doob 5d49ec9fae Workaround for CanvasRenderer 0x0 pixel case
It makes the whole thing imprecise, but cubes are now properly reflective.
2011-11-03 11:32:58 +01:00
Mr.doob 1b525e38c5 Improved CubeGeometryand PlaneGeometry 2011-11-03 10:39:57 +01:00
alteredq 81a8eec8ee Removed workers from SceneLoader.
Also manually fixed buffalo model and test scene to be valid JSONs.
2011-10-31 14:12:44 +01:00
alteredq d2cad69664 Started to remove workers from the asset pipeline.
Work-in-progress => do not merge yet.

OBJ converter, JSONLoader, BinaryLoader and some examples are done. Still need to do Blender exporter, SceneLoader and more examples.

Advantages:

- faster parse times
- bypass array initializer size limit in Firefox
- no more crashes in Chrome 15 (caused by too many concurrently active workers)

Disadvantages:

- more browser UI freezing
- multiple models tend to appear all at once with the last one (instead of popping up progressively)
2011-10-30 22:09:55 +01:00
alteredq 2ba6aabdc7 Added missing semicolon. 2011-10-30 15:28:20 +01:00
Mr.doob f4063649a0 And yet some more Ray optimisations :P
And still readable code...
2011-10-30 14:23:24 +01:00
alteredq b6e7ad88af Optimized Ray a bit more.
It's enough to clone just for hits, no need to do it for every face.
2011-10-30 14:04:53 +01:00
Mr.doob 7ce228ad12 Optimised Ray yet again. Adeed @banaadams 's texture.onUpdate. 2011-10-30 13:33:41 +01:00
Mr.doob dad6911bb0 Optimised Ray a bit more
Removed some clone() calls while still keeping the code somewhat pretty.
2011-10-29 10:30:08 +02:00
Mr.doob ca38a3ff1c Added precision parameter to WebGLRenderer
So we can set it to lowp for mobile devices if needed.
2011-10-29 06:52:43 +02:00
alteredq 179be338c6 Refactored morph targets buffers setting. 2011-10-29 03:02:07 +02:00
alteredq 9dd5f30763 Removed "faceVertices" bindings for custom attributes.
Not sure what was that supposed to be for, we didn't have a single use case.
2011-10-29 02:31:48 +02:00
alteredq 1329e9f6c9 Small refactoring in WebGLRenderer. 2011-10-29 02:09:34 +02:00
alteredq 7473315212 Refactored common code for render passes out of render loop.
Also fixed RTT example, it was affected by unlit Lambert change.
2011-10-28 21:57:19 +02:00
alteredq 99f00ba33e Removed enableLighting uniform from Lambert. 2011-10-28 19:27:05 +02:00
alteredq 9eb852db13 Fixed bug in custom attributes setting for face-bound attributes.
Zombies now look correct.

Though still getting undebuggable random crashes in Chrome with ro.me animals demo :S
2011-10-28 18:49:04 +02:00
alteredq 0c770644ee Trying to cleaned up a bit WebGLRenderer.
Mostly just shuffling code around to have more organized "big picture" view.
2011-10-28 17:01:23 +02:00
alteredq 0b55092d61 Updated builds. 2011-10-28 12:33:02 +02:00
alteredq a8f8411e9a Updated builds. 2011-10-28 11:59:37 +02:00
alteredq 6e84e89d16 Some more fixes thanks to verbose Closure compiler errors. 2011-10-28 11:55:12 +02:00
alteredq a9cc8bceb5 Applied manually fixes from @broady to 'dev' branch.
https://github.com/mrdoob/three.js/pull/689
2011-10-28 11:26:01 +02:00
alteredq c929055590 Caching lineWidth GL calls. 2011-10-26 23:44:26 +02:00
alteredq 15db34ad9a Refactored custom attributes for particles.
More moving ifs out of inner loops.
2011-10-26 19:44:28 +02:00
alteredq 363ce622b0 Refactored custom attributes setting for lines.
Also here moved ifs out of the inner loop.

Starts to get hard to measure performance impact - baseline JavaScript stuff just to produce some change gets very costly. Simply calling Math.random() hundreds thousands times causes massive garbage collection :S.
2011-10-26 19:17:03 +02:00
alteredq 2e414a2dd2 Simplified a bit custom attributes for lines and particles.
No need for copy of attributes map here, attributes list has the same function.
2011-10-26 18:30:17 +02:00
alteredq 354fc6c92c Fixed few runaway globals. 2011-10-26 17:32:48 +02:00
alteredq bbe9760612 Refactored custom attributes setting for meshes.
More moving ifs out of inner loops: gained 25% performance for dynamic meshes with custom attributes.

Hope I didn't break something.
2011-10-26 14:12:52 +02:00
alteredq 1b17407ed9 Refactored setMeshBuffers.
Moved most of ifs out of inner loops for ~25% performance gain with dynamic meshes. Custom attributes setting for meshes can still be improved more.
2011-10-26 00:58:03 +02:00
alteredq a702cd4dbf Refactored sortFacesByMaterial and setMeshBuffers to use separate lists for triangles and quads.
This gave us ~13% performance gain for dynamic meshes.
2011-10-25 23:36:35 +02:00
alteredq 23ed013719 Fixed bug in shader defines.
Interestingly, this was breaking OpenGL but not ANGLE.
2011-10-25 21:38:17 +02:00
alteredq 26b34f2c6c Refactored custom attributes handling for particles. 2011-10-25 18:55:04 +02:00
alteredq 046f4bfeb6 Added custom attributes for lines. 2011-10-25 18:26:28 +02:00
Mr.doob 1f7838a9c2 Fixed bug in Ray's pointInFace3. 2011-10-25 10:10:41 +02:00
Mr.doob a7c804b817 Updated builds. 2011-10-25 06:50:15 +02:00
Mr.doob 5916682ea6 Reverting again
Actually, this would break cameras added as childs of objects, reverting.
So there is no clear and simple way to handling multiple scenes unfortunatelly.
Encouraging `scene.add( camera )` seems like the right thing to do then, less problems.
2011-10-25 05:59:13 +02:00
Mr.doob 13e4f78a28 Reverting my thought
Actually, I think this can be handled magically instead of requiring understanding of the concept that the camera is part of the scenegraph.
While I was at it, I fixed it so you can use a camera for rendering different scenes (the renderer will add it and remove from each scene graph)	.
2011-10-25 05:47:13 +02:00
Mr.doob d902ca3bf0 Updated builds and tweaked examples
Removed LOD text example. I think LOD example is good enough.
Ubiquity test working again.
Tweaked README to show the new pattern (Scene first thing created).
2011-10-25 01:50:17 +02:00
Mr.doob 747b813bcb Merging with @alteredq's branch 2011-10-25 01:18:31 +02:00
Mr.doob e54f2e32e7 Updated builds. 2011-10-24 14:43:33 +02:00
alteredq 408c82d306 Got WebGLRenderer working again.
I had to resurrect parts of old code (keeping track of scene graph changes).

Good news: performance is great, new scene graph gains compound with buffers optimizations and non-array materials refactoring. Together we gained about 15% for rotating cubes performance test (pushing max to 2650 cubes at 60 fps).

Still broken with new scene graph: lod, skinning, collisions, AnaglyphWebGLRenderer, ParallaxBarrierWebGLRenderer, multi-canvas circle example.
2011-10-24 12:30:04 +02:00
Mr.doob caabab07f3 Lines can be treated as Objects 2011-10-23 14:18:57 +02:00
Mr.doob ec00f298be CanvasRenderer and SVGRenderer using single-material system.
Also moved `.overdraw` to Material.
Code is much simpler now :)
2011-10-23 13:50:55 +02:00
Mr.doob 6b151b552e Merging with @alteredq's experimental branches. 2011-10-23 12:34:46 +02:00
alteredq a8869f9e5b Quick and dirty hack to get WebGLRenderer working with new scene graph.
This is not supposed to be "proper" solution (for example this doesn't solve removing of objects), but at least some WebGL examples are working now.
2011-10-15 20:13:36 +02:00
alteredq 093fbbe334 Merge remote-tracking branch 'remotes/mrdoob/dev' into dev
WebGL part of this branch is completely broken. Do not use. This is for further merging.
2011-10-15 18:37:59 +02:00
alteredq d2c6487b41 Fixed random clipping of objects in WebGLRenderTargetCube / CubeCamera.
Turns out before all cube texture faces shared a single depth buffer.

Last cube face still missing.
2011-10-11 00:38:28 +02:00
alteredq addb3a12a9 Refactored CubeCamera / cube map handling.
Before lighting was messed up in dynamically generated cube maps.

Dynamic cube maps need to have flip uniforms (flipEnvMap / tFlip) set to 1, static cube maps to -1 (default).

For standard materials this is handled automatically, it's just something to be aware of when using cube maps in custom ShaderMaterials (dynamic and static cube maps have different cube face orientations, dynamic ones are correct, static ones need flipped x-axis in lookup vector).

There is still mystery of disappearing last cube face (negative-Z) and weirdly clipped objects in cars demo (works ok in simpler test).
2011-10-10 23:39:22 +02:00
Mr.doob 2c8967b124 Fixed CanvasRenderrer incorrectly SphericalReflectionMapping Face4 rendering.
Also replaced WaltHead.js (old format) with WaltHeadLo.js (new format)
2011-10-08 21:04:26 +02:00
Mr.doob 8db9d6fd61 GUI: Snap to axis (press x,y or z when moving). Added TrackballControls
Added this.enabled property to TrackballControls.
Simplified TrackballControls code.
2011-10-08 19:43:11 +02:00
Mr.doob df94d2af57 Moved matrixWorldInverse logic to renderers as per @greggman suggestion.
Now `Camera` can use inherited `update()`
2011-10-08 03:38:49 +02:00