* 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.
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() )
* Realised that canvas.context has a createPattern method which allows CanvasRenderer to support tiled textures \o/ (Examples where there is a CanvasRenderer and a WebGLRenderer at the same time may get errors because CanvasRenderer now uses texture.needsUpdate too).
DataTexture can be used in the same places like image / video based Texture (WebGLRenderer-only).
To be used like this:
var width = 64, height = 64, bytes = 3;
var data = new Uint8Array( width * height * bytes );
// fill data array with values 0 .. 255
var texture = DataTexture( data, width, height, THREE.RGBFormat );
texture.needsUpdate = true;
For the moment only UNSIGNED_BYTE type is supported.
This is for having on/off transparency without sorting using threshold value in alpha channel of diffuse texture.
By default it's switched off (alphaTest = 0).
AlphaTest is not yet handled in shadow maps. This would require passing of diffuse texture to depth material in shadow map render step (and more permutations of depth material).
Didn't help much, there is still a lot of garbage collection showing up in profiler (~18 %).
Also, real hotspot are loops in Shape.Utils.triangulateShape (with ~27% of total time spend on Vector2.equal). This maybe could be refactored with hashmaps.