Commit Graph
427 Commits
Author SHA1 Message Date
alteredq 9a9ed7cc85 Fixed lights removal not being reflected in WebGLRenderer. 2011-02-11 23:54:08 +01:00
alteredq e8497d205b Simplified shaders building. 2011-02-11 21:37:39 +01:00
alteredq ad51a48fcd Added "depth_test" parameter to materials.
This is to be able to control depth buffer writing / testing on per geometry chunk level (before it was possible just to hack it on per scene level via exposed GL context).

Disabling depth test is useful for example for additively blended particles, handling of transparency or for having background textured quad.

Another option would be to have it on per object level, but then this could prevent different handling of objects with both transparent and opaque parts.

Also in this commit:

- more progress towards mesh vertex colors
- less matrix multiplications in render call
- fixed ugly bug in doubleSided / flipSided handling
- cleanup of materials
    - added a lot of missing stuff in debug strings and parameters handlers
    - normal and depth materials now have opacity parameter
    - wrote comments for non-obvious things
2011-02-11 19:58:58 +01:00
alteredq fe6d492573 Added vertex colors to WebGL lines plus corresponding example.
Vertex colors for meshes in progress ...
2011-02-11 03:25:54 +01:00
alteredq 3e58a51fc9 Changed environment map mixing fragment shader snippet to preserve total material opacity. 2011-02-10 13:20:10 +01:00
alteredq 642939fb79 Added transparent render pass for immediate simulator objects in WebGLRenderer. 2011-02-10 04:00:05 +01:00
alteredq b3ea0d5fcd Changed a bit clear color API.
Renamed: setClearColor( hex, opacity ) => setClearColorHex( hex, opacity )

New: setClearColor( color, opacity )

In this way it's a bit cheaper to animate clear color.

Hope I didn't break examples - I searched for "setClearColor" and changed it in one place where it was used.
2011-02-08 12:49:14 +01:00
alteredq a8ab2336b3 Small marching cube freeze optimization. 2011-02-07 18:26:11 +01:00
alteredq fc0b8cab64 Added method for freezing MarchingCubes buffers into regular Geometry. 2011-02-07 18:19:00 +01:00
alteredq b198531c66 Added MarchingCubes object.
Very much work-in-progress. Expect things to change.

Also changed film shader to have optional grayscale (controlled via uniform).
2011-02-07 14:29:42 +01:00
alteredq feed283804 Added support for material blending parameter to scene loader. 2011-02-04 17:14:23 +01:00
alteredq 750a242f0c Added vertex colors for particles. 2011-02-03 23:54:30 +01:00
alteredq 5365a11b0e Small refactoring in handling of "dirty" buffers in WebGLRenderer. 2011-02-03 19:00:02 +01:00
alteredq 8227d9f118 Added billboard particles (semi-opaque depth sorted).
Work in progress, caveats:

- sort happens just inside one ParticleSystems, so everything gets messed up when more ParticleSystems are in the same screen space
- not yet solved proper order of operations, if you change object transform, you need to update ParticleSystem object matrix manually before rendering (so that sort works, otherwise it will use transform from previous frame)

Also fixed transparency in fog and did small optimizations in WebGLRenderer.
2011-02-03 02:53:33 +01:00
alteredq bc88bdb67b Refactored KERNEL_SIZE define out of convolution shader lib.
This is ugly, but allows to use different kernel sizes, making it useful not just for Gaussian blur (which is slow with large kernel).
2011-02-02 18:53:50 +01:00
alteredq aa8bdaea3d Moved film shader into ShaderUtils. 2011-02-02 18:31:04 +01:00
alteredq 84d1b582ae Moved textured quad screen shader into ShaderUtils. 2011-02-02 16:17:39 +01:00
alteredq 418a6da757 Moved convolution shader from example into ShaderUtils. 2011-02-02 14:15:28 +01:00
alteredq 1d9c3405a3 Changed ParticleSystem to autoupdate transform by default (as do Mesh and Line objects). 2011-02-02 12:41:42 +01:00
alteredq 46146858a9 Fixed flipSided / doubleSided bug in WebGLRenderer.
I have no idea why I stuck it in transparent pass.
2011-02-01 23:53:25 +01:00
alteredq 54e3bc61bd Added elementary support for particles to WebGLRenderer.
It works more or less the same as lines:

  - particles are passed to ParticleSystem object as geometry
  - material is ParticleBasicMaterial (textures should be supported, not tested yet)
  - geometry can be updated by setting "__dirtyVertices" property of the geometry
2011-02-01 14:26:33 +01:00
alteredq 1921192be9 Added basic support for second set of UVs for lightmaps.
Work in progress ...
2011-01-28 22:38:14 +01:00
Mr.doob c6cec3ca6b Yet some more tweaks to CanvasRenderer::clear() 2011-01-27 21:29:13 +00:00
Mr.doob ad0a8a7446 Merge remote branch 'alteredq/master' 2011-01-27 21:23:55 +00:00
Mr.doob a7ac6fa598 Made CanvasRenderer ParticleBasicMaterial handling consistent with the rest — material.map needs to be a Texture. 2011-01-27 21:23:33 +00:00
alteredq 36f041a3e3 Another small improvement of scene loader blocking.
Also shader program building is now spread over loading time.
2011-01-27 02:52:19 +01:00
alteredq 549f90854b Small improvement in scene loading blocking.
Creating all GPU stuff when rendering the first frame doesn't work well with gated initialization :(.
2011-01-27 01:10:29 +01:00
alteredq b4a177f326 Synced with mrdoob's branch. 2011-01-26 21:46:47 +01:00
alteredq 506d7e1fa0 Added progress reporting to scene loader. 2011-01-26 21:15:55 +01:00
Mr.doob 52c0de2b09 Merging with alteredq's branch. 2011-01-26 18:36:49 +00:00
Mr.doob a7b55e9e00 Tweaked clearColor handling in CanvasRenderer and WebGLRenderer2. 2011-01-26 18:33:22 +00:00
alteredq 3c1ca82d10 Extended gating of scene start also to asynchronous loading of textures. 2011-01-26 18:49:25 +01:00
alteredq 3d663b3428 Added handling of texture mapping and material combine parameters to scene loader. 2011-01-26 18:00:06 +01:00
alteredq 8679cbcea5 Small code cleanup in scene loader. 2011-01-26 11:27:11 +01:00
alteredq b13f7efafd Added handling of texture filtering parameters to scene loader. 2011-01-26 01:21:18 +01:00
alteredq 7bd3c4b7e0 Added to scene loader support for Icosahedron primitive and material shading parameter. 2011-01-26 00:08:49 +01:00
alteredq 5a6a872e75 Synced with mrdoob's branch. 2011-01-25 21:50:16 +01:00
alteredq b0113fb874 Added support for cube textures and background color to scene loader.
Also made car prettier and showed how to modify the scene after loading.
2011-01-25 21:46:52 +01:00
Mr.doob 40934a3a83 Merge remote branch 'alteredq/master' 2011-01-25 20:06:47 +00:00
Mr.doob 37a053b308 Fixed PointLight prototype code (thx rectalogic) 2011-01-25 20:05:46 +00:00
alteredq 8faa18b620 Added simple scene format loader.
This is very much work in progress - expect things to change and to be broken.
2011-01-25 18:32:07 +01:00
alteredq a85b7d6f9a Removed unused color parameter in Cylinder primitive plus some whitespace cleanup. 2011-01-24 23:31:35 +01:00
alteredq 09571ee3d0 Partially merged szimek's pull request
https://github.com/mrdoob/three.js/pull/97
2011-01-23 19:22:49 +01:00
astrodud 6a5ad65104 created _m33 class member (moved out of Matrix4) and modified THREE.Matrix4.makeInvert3x3() call accordingly, as with WebGLRenderer 2011-01-19 21:09:57 -08:00
astrodud 2319f227f3 created _m33 class member (moved out of Matrix4) and modified THREE.Matrix4.makeInvert3x3() call accordingly 2011-01-19 21:00:58 -08:00
astrodud b9c654633c removed object lookups in transpose() 2011-01-19 20:59:48 -08:00
astrodud 1bb5e6003a * memory and speed optimizations in Matrix4.flatten()
* memory and speed optimizations in Matrix4.makeInvert3x3() (moved Matrix4.m33 to WebGLRenderer._m33 since it is
  only used there and only for a single Matrix4)
2011-01-19 20:58:13 -08:00
astrodud 0b19cd3c75 one fewer Matrix4 created in Projector.unProjectVector 2011-01-19 20:35:06 -08:00
astrodud 67be8c84a1 small bug fix in the new Matrix4.rotationAxisAngleMatrix 2011-01-18 21:42:09 -08:00
Mr.doob 740407b46e Trailing spaces clean up. 2011-01-19 04:49:48 +00:00