352 Commits
Author SHA1 Message Date
Mr.doob baa72f5f7a Merge remote-tracking branch 'jzaefferer/blender-readme' into dev 2011-12-25 08:55:49 +01:00
Jörn Zaefferer 92bb079145 Add readme for blender plugin 2011-12-18 14:21:42 +01:00
alteredq b0cfbad8cc Updated CTM pipeline to use single concatenated file for multi-material models.
Added Python script for file concatenation with keeping track of file start offsets.

This single file way is a bit slower, but should be easier on server / workers (before every part spawned own worker, now all parts for a single model are handled by a single worker).
2011-12-09 12:33:02 +01:00
alteredq f811090f3b Added CTM converter.
Command line Windows executable from OpenCTM install.
2011-12-08 22:14:41 +01:00
alteredq b59e818f39 Added handling of materials to CTMLoader. Added more complex CTM example.
CTM pipeline produces very small and efficient models, just it's quite involved.

Models with multiple materials need to be split into separate files. For this there "split_obj.py" helper script.

Also, as CTM format uses indexed shared vertices, with more complex UV unwrapping mesh may need to get preprocessed to create extra vertices for faces which have different UVs for the same vertices (MeshLab can do this).
2011-12-08 21:44:02 +01:00
alteredq 8ec6317ef8 Added BufferGeometry for direct rendering from typed arrays.
Work in progress. For the moment works just with CTMLoader. Still not sure where some pieces of code would go.

Upsides:
	- initialization time cut down significantly (1.8 seconds => 0.7 seconds for CTM example)
	- much smaller GL buffers thanks to fully used indexing (Walt has 6x less vertices)
	- consequently much smaller memory footprint all around, both for main and GPU memories,
	  which means less swapping and better vertex caching

Downsides:
	- can't have anymore sharp per-face effects like flat shading (at least if mesh is not constructed in a way where each face has own vertices)
	- can't have multiple materials per mesh
	- no more easy manipulation of anything (for the moment actually no runtime manipulation at all, typed arrays are just thrown away, dynamic geometries code path not yet implemented)
2011-12-07 01:47:39 +01:00
alteredq 0dfb751e6d Added missing "formatVersion" in max exporter (thanks to @rogercodina). 2011-12-05 12:54:37 +01:00
Erik Kitson cbccd87d57 Reverted changes to Animation class and moved to new KeyFrameAnimation class. 2011-11-21 14:07:47 -08:00
alteredq e207f5e852 Changed lights to use global positions.
This should allow attaching of lights to objects. As a side effect, directional lights positions don't need to be normalized explicitly anymore.

Also changed viewport dimensions passed to render plugins to work with render targets with different dimensions than the screen framebuffer.

And fixed new dependencies in build script.
2011-11-20 20:18:16 +01:00
alteredq 0c78ae95e9 Rest of the commit.
Because TortoiseGit suddenly refuses to make single commit with added and changed files :/
2011-11-18 23:56:45 +01:00
alteredq 1dcf5fc79b Moved sprite handling into plugin.
Work in progress. Still just experimenting. Probably will make some auto-adding of plugins.
2011-11-18 05:08:40 +01:00
alteredq ebf93289f8 Resurrected lens flares as custom plugin.
Still a bit dirty but less than it was before. Maybe also sprites could be pluginized.
2011-11-18 01:26:20 +01:00
Mr.doob 18ff7e8068 Removed Collisions from build.py too 2011-11-13 21:41:04 +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
alteredq e30107c8fe Removed workers from Max exporter. 2011-10-31 17:52:06 +01:00
alteredq 1658d7f083 Removed workers from Blender exporter.
Fixed Blender importer to work with Blender 2.60, add option for importing workers or non-worker models.

Fixed more examples to use worker-less format. All examples should work now.

Only Max exporter should be left to change.
2011-10-31 16:51:50 +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
Mr.doob af2919bc17 Adding RenderableObject once again.
It's going to be handy for the WebGLRenderer (__webglObjects)
2011-10-24 14:23:12 +02:00
Mr.doob 6b151b552e Merging with @alteredq's experimental branches. 2011-10-23 12:34:46 +02:00
Mr.doob 8edb3f18b2 Removing (now unused) stuff from Projector. 2011-10-09 07:11:19 +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
zz85 149c20d177 Added new THREE.CombinedCamera. Added orthographic + perspective example 2011-10-06 00:55:26 +08:00
zz85 f8df307438 Removed THREE.SubdivisionGeometry. A tiny bit of cleanup 2011-10-04 22:46:34 +08:00
zz85 a88848ab1d Added THREE.SubdivisionModifier. Removed THREE.GeometryUtils.createSubdivision() 2011-10-04 22:25:52 +08:00
zz85 a6eb8106a2 merged mrdoob/dev 2011-10-04 21:25:44 +08:00
Mr.doob a336a5c124 Added deprecated warning to old cameras. 2011-10-04 02:30:22 +02:00
Mr.doob df64ff921f extras/cameras/*Cameras > extras/controls/*Controls
This will take a while to make work again... probably needs some cleaning and refactoring...
2011-10-04 02:18:15 +02:00
Mr.doob 5d96f15b39 Started doing Camera changes.
* Camera is now a base object. PerspectiveCamera should be used instead. Figured out a way to show a warning when misused.
* OrthoCamera is now OrthographicCamera.
* Removed `target` from Camera.

Misc
* Renamed Trident to Axes.
2011-10-04 01:07:24 +02:00
Mr.doob 69da8d2e1f Merge remote-tracking branch 'Knectar/dev' into dev 2011-10-03 23:31:41 +02:00
Daniel 5ef31d7fe8 Remove Sphere class. Give radius to octahedron. 2011-10-03 11:12:37 +01:00
zz85 b4332d6a24 added more generic geometry creation functions in canvas_geometry_subdivison.html 2011-10-03 07:18:55 +08:00
Daniel dad2146d79 Include new Sphere class in build. 2011-10-02 22:33:07 +01:00
Daniel 2d4ea9cedd New Sphere class that uses a subdivided octahedron geometry. 2011-10-02 22:28:36 +01:00
alteredq a60595b3f7 Removed edges handling from asset pipeline (Blender exporter, OBJ converter, JSONLoader). 2011-10-02 16:13:44 +02:00
Mr.doob 36ae04418c Fixed yet some more examples.
Removed QuakeCamera.
2011-10-01 23:38:26 +02:00
zz85 0f9c3f44ee Merge remote-tracking branch 'upstream/dev' 2011-09-30 22:04:16 +08:00
alteredq 32e4a556ca Added CubeCamera (for rendering cube maps). 2011-09-30 00:20:22 +02:00
zz85 8edfa99583 Rename SubdivisonGeometry.js to SubdivisionGeometry.js. Fix geometries which use duplicate vertices. SubdivisionGeometry tested with Cube/Sphere/Cylinder/TextGeometry 2011-09-29 17:15:41 +08:00
zz85 670ebf6139 Fixed SubdivsionGeometry points. Added class, update builds 2011-09-29 04:38:56 +08:00
Mr.doob b6f7444b0f Added deprecated warning to MeshShaderMaterial class. 2011-09-14 17:48:26 -07:00
alteredq e298ac6814 Renamed MeshShaderMaterial => ShaderMaterial 2011-09-12 19:17:20 +02:00
Justin Sermeno 8ca569f9ba fix broken ThreeWebGL.js build 2011-09-10 02:43:19 -07:00
Mr.doob 51368ca6d6 REVISION ++ 2011-09-04 00:47:01 +02:00
Mr.doob 94b7418f60 Added objec3d.frustumCulled support to Projector (CanvasRenderer/SVGRenderer).
`renderers/Projector.js` > `core/Projector.js`

`extras/geometries/Curve.js` > `extras/core/Curve.js`
`extras/geometries/CurvePath.js` > `extras/core/CurvePath.js`
`extras/geometries/Path.j`s > `extras/core/Path.js`
`extras/geometries/Shape.js` > `extras/core/Shape.js`
`extras/geometries/TextPath.js` > `extras/core/TextPath.js`
2011-09-03 21:58:18 +02:00
alteredq 495de75ff2 Added OrthoCamera.
Modified examples to use it, hacking projection matrix started to feel a bit dirty.
2011-08-29 10:34:18 +02:00
Mr.doob 7c7d4428f2 Moved src/materials/Mappings.js inside src/materials/Texture.js
Moved `src/materials/*Texture.js` to `src/textures/*Texture.js`
2011-08-29 05:18:25 +02:00
Mr.doob 8fd041508f extras/io > extras/loaders
extras/collada/dae.js > extras/loaders/ColladaLoader.js

removed LoaderOld.js
2011-08-26 23:44:47 +02:00
alteredq 4336d757ac Added WebGLRenderTargetCube.
Work-in-progress.
2011-08-26 19:40:56 +02:00
Mr.doob 714e9ec302 REVISION++
* Added support to texture.offset in CanvasRenderer
* Removed ShadowVolume, ShadowVolumeDynamicMaterial and LensFlare classes.
* Removed Stencil Shadows and LensFlare code out of WebGLRenderer
* Added 2.59 folder to Blender, and removed old ones.
2011-08-14 02:54:23 +02:00
alteredq d5a54e0a4e Added UTF8 format loader and example.
Included corresponding compressor in "utils/exporters/utf8" (prebuilt exe for Windows plus slightly modified C++ source code).

Use UTF8 format with caution, it is very neat but has quite a few limitations:

 - number of vertices < 65536 (this is after optimizations in compressor, input OBJ may have even less)
 - models must have normals and texture coordinates
 - texture coordinates must be only from <0,1>
 - no materials support yet
 - models are scaled and offset (copy numbers from compressor and use them as parameters in UTF8Loader.load() )
2011-08-13 02:00:25 +02:00