81 Commits
Author SHA1 Message Date
alteredq 01e5aed5ad Added simple skin shader.
Also modified a bit old skin shader - for some reason there was square root just after color * color.
2011-12-20 22:47:54 +01:00
alteredq 3f58f03c79 Added color correction shader to ShaderExtras 2011-12-20 20:46:20 +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 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 0d904dd3a8 Added vertex reordering to CTMLoader.
This is needed to avoid endless loop when generating offsets (when some triangles have vertices spread across offset boundaries).
2011-12-07 22:13:03 +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 4a82869c1e Added possibility of using workers for CTM decompression.
To be used with care, for the moment there is no mechanism to prevent shooting yourself in the foot with spawning too many workers.
2011-12-06 12:18:03 +01:00
alteredq 08e9c5b159 Added CTMLoader and example.
OpenCTM mesh format looks quite promising, smaller than UTF8 and more robust, just geometry creation time is slower (decompression is done in JavaScript as opposed to piggybacking on built-in http gzip).
2011-12-06 11:40:19 +01:00
alteredq 34716798d0 Added AudioObject (3d spatialized sound using Web Audio API).
Also added nicer flare texture.
2011-12-01 12:11:03 +01:00
Mr.doob 5697084e64 Moved RequestAnimationFrame.js code right into src/Three.js. 2011-11-29 03:29:13 +01:00
alteredq befc98a01e Refactored bounding box to use 2x Vector3 instead of custom object. 2011-11-25 03:01:00 +01:00
alteredq 0ce26e4c52 Moved normal map shader into ShaderExtras.js 2011-11-11 12:39:12 +01:00
alteredq 89dc5b1b53 Added luminosity shader.
Dynamic terrain example now creates a specular texture from the color texture. That saves 2.17 MB download.

Just I had to drop materials pre-initialization, for some reason this doesn't play nice with having extra scene / render target :S.

In theory also detail normal texture could be computed from the color texture, just we need some nicer normal map filter (Gimp plugin has 9 different ones).
2011-11-09 23:53:32 +01:00
alteredq 852738580e Added dynamic terrain example. 2011-11-08 20:54:57 +01:00
Mr.doob 2f90d73d13 Added Kinect example. Updated DAT.GUI. 2011-10-30 17:35:09 +01:00
Mr.doob 6b151b552e Merging with @alteredq's experimental branches. 2011-10-23 12:34:46 +02:00
Mr.doob 330ab77836 WIP WebGLRenderer refactoring 2011-10-16 11:36:09 +02:00
Mr.doob d2b8a07822 Changed ColladaLoader so it doesn't create extra Object3Ds for each mesh.
Updated Stats.
2011-10-15 09:00:41 +02:00
alteredq c07919529e Made FirstPersonControls work. Fixed more examples to work with the new camera system. 2011-10-04 21:10:20 +02:00
alteredq 00b01e88b3 Added cars demo.
New stuff:

- car rig
- dynamic cube maps
- drop shadows from geometries
- tilt-shift
- motion blur
- fxaa

Uses shrunk lens flare texture from ro.me.
2011-09-30 00:51:45 +02:00
alteredq e0a29097cd Added FXAA shader (thanks to @supereggbert) and SavePass. 2011-09-28 23:02:28 +02:00
alteredq 9e39966076 Added ability to disable render passes to EffectComposer. Added simple blend shader to ShaderExtras. 2011-09-25 18:54:30 +02:00
alteredq bbdef72e69 Added simple tilt-shift effect to ShaderExtras. 2011-09-24 02:40:14 +02:00
alteredq 631a5d697c Changed remaining "addXXX" to "add".
Hopefully no more deprecation warnings.
2011-09-21 05:52:59 +02:00
Mr.doob dd1f214947 @zz85's SimplexNoise fixes. 2011-09-13 15:15:36 -07:00
alteredq e298ac6814 Renamed MeshShaderMaterial => ShaderMaterial 2011-09-12 19:17:20 +02:00
alteredq 3e04cf18dc Normalized Gaussian blur coefficients.
Also shortened a life cycle for particles in shapes example. Still it gets about 10 fps slower with time :/
2011-09-09 21:08:29 +02:00
alteredq 898e528e5d Merge remote-tracking branch 'remotes/zz85/master' into dev 2011-09-09 20:59:44 +02:00
alteredq 78521fad95 Added renderer.getClearAlpha. Extended RenderPass to be able to use custom alpha clear. Fixed UVs in UTF8Loader. 2011-09-09 19:57:13 +02:00
zz85 178dc964b5 fixed horizontalBlur and verticalBlur shaders 2011-09-09 22:02:33 +08:00
alteredq 94b14c1e3a Cleaned up a bit 9-sample Gaussian blur shader. 2011-09-08 18:26:59 +02:00
zz85 1ecbe6035b Experimenting with more blur filters 2011-09-08 22:38:38 +08:00
alteredq d228fb0c4a Added physically based specular term to skin shader. 2011-09-08 02:18:50 +02:00
alteredq 245dbfcc2a Changed renderer.getClearColor API to return reference. 2011-09-07 23:25:06 +02:00
alteredq 0959969fc3 Added skin rendering example plus some postprocessing fixes to make it work. 2011-09-07 16:39:20 +02:00
alteredq 8c326a222f Moved depth buffer writing control from renderer into material.
This allows, for example, better integration of additively blended materials with a regular scene.

Not to be confused with depthTest (which controls complete access to depth buffer, including reading).

Also messed up a bit with particle emitter example.
2011-09-06 00:58:55 +02:00
zz85 e123cf2f5f Added webgl particle emitter with blur postprocessing example 2011-09-05 13:16:16 +08:00
alteredq 5d898fa2f0 Merge remote-tracking branch 'remotes/mrdoob/dev' into dev 2011-09-02 13:41:57 +02:00
alteredq 0bd23ca973 Added scene override material to RenderPass. Added mipmapped depth-of-field shader. 2011-09-02 13:40:31 +02:00
Mr.doob a22bba1156 Merge remote-tracking branch 'zz85/experimental' into dev 2011-09-01 19:14:30 +02:00
alteredq 59bfd81150 Added MaskPass to postprocessing and clearTarget to WebGLRenderer.
Masking was real pain to get working with multiple render targets :/.

Unfortunately this introduced dependencies on MaskPass.js and ShaderPass.js even for use cases that do not use masking. Bah, will need to figure out some better way for deployment.
2011-09-01 17:41:56 +02:00
alteredq 20fae814e7 Refactored postprocessing to use double buffering.
Cause everywhere there are warnings about not writing to the same texture which is also being read. Curiously enough this didn't make problems so far (save for mysterious lines when doing "heat" effect in ro.me).
2011-09-01 00:19:31 +02:00
alteredq 058f86f6ab Moved focus shader out of dynamic particles example into ShaderExtras.
Also updated dynamic particles example to handle resizing.
2011-08-31 15:04:38 +02:00
alteredq 797530e4f7 Moved 2d filter shaders from ShaderUtils to ShaderExtras. 2011-08-31 13:16:49 +02:00
alteredq 10e12a8305 Added generic ShaderPass. Removed SepiaPass, ScreenPass, VignettePass. Added bleachbypass shader. Simplified multi-composer pipeline in postprocessing example. 2011-08-31 01:06:26 +02:00
alteredq 3a5d02cc39 Added vignette shader / effect. Updated postprocessing example. 2011-08-30 18:59:00 +02:00
alteredq 093bbb1cb9 Added dot screen shader / effect. Extended postprocessing demo. Fixed viewport bug for render targets. 2011-08-30 16:48:47 +02:00
alteredq 32f0f884bd Added sepia shader / effect. 2011-08-30 12:38:32 +02:00
alteredq ff09a492bb Refactored postprocessing out of examples into own set of classes.
Not sure yet about names and location of files.
2011-08-29 23:35:36 +02:00
zz85 9ff5e00610 New Canvas & Particles Emitter Example 2011-08-29 00:54:28 +08:00