977 Commits
Author SHA1 Message Date
Mr.doob bd2f75b48a Updated r46 with some bugfixes found post release. 2011-11-17 01:14:01 +01:00
alteredq 291d56186c Fixed Ray bug. 2011-11-16 23:14:49 +01:00
alteredq 0de617e758 Added SceneUtils.cloneObject()
This creates shallow copy of object and its children (geometry and materials are shared, transforms are unique).
2011-11-16 22:59:33 +01:00
alteredq f61edd14c2 Fixed shadowmap update bug.
Hope so. There is now just a single scene graph update per frame render (plus some extra one-shot updates if light cameras are auto-added to scene graph).
2011-11-15 19:13:12 +01:00
Mr.doob 579ba1f7ab r46 2011-11-13 22:25:01 +01:00
alteredq dd7e1e84ee Removed redundant GL call in render target setup.
Also fixed RTT example - seems UV mapping for SphereGeometry is now rotated 180 degrees.
2011-11-13 20:10:31 +01:00
Mr.doob 3c61c0c702 Updated builds. 2011-11-11 19:01:23 +01:00
Mr.doob 8730833a6a Merging with @zz85's branch. 2011-11-11 18:58:54 +01:00
alteredq 9a375c4f39 Fixed bug where you couldn't change attribute types when updating buffers.
Too much caching can break things.
2011-11-11 18:38:52 +01:00
Mr.doob 1d82924efa Made SphereGeometry a bit more sturdy. 2011-11-07 02:47:19 +01:00
Mr.doob b406568dce Refactored SphereGeometry
Now uses Face4 where posible.
Adde phiStart, phiLenght, thetaStart and thetaLength as extra parameters (useful for doing google-earth-like stuff).
2011-11-07 02:34:38 +01:00
alteredq 4570769451 Refactored textures to set parameters before calling texImage2D.
This is supposed to be more efficient as per Apple OpenGL ES recommendations:

http://developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/TechniquesForWorkingWithTextureData/TechniquesForWorkingWithTextureData.html

Also we have been generating mipmaps twice for render targets.
2011-11-04 01:54:04 +01:00
alteredq bad3639c26 Merge remote-tracking branch 'remotes/mrdoob/dev' into dev 2011-11-03 20:40:30 +01:00
alteredq e08434c183 Reworked binary format / BinaryLoader / OBJ converter to use binary ajax fetch.
It was quite a pain - ArrayBuffers / Typed Arrays are fussy about byte alignment - but seems to be worth it.

Parsing times are down (modest gains for small objects / Firefox, bigger gains for large objects / Chrome, performance gains from 10% - 200%).

Also as a positive side effect, changing interleaved face arrays into uniform arrays seems to have helped a bit with gzip compression (about 6% smaller size for gzipped 526K Lucy).
2011-11-03 20:30:10 +01:00
Mr.doob 036caa64ee CanvasRenderer now (properly) handles textured triangles with determinant to 0
Proper IcosahedronGeometry next...
2011-11-03 17:33:30 +01:00
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