- 09 12月, 2010 1 次提交
-
-
由 alteredq 提交于
A lot of things going on in this commit: - added tangents computation for geometries - mesh must have UV coordinates - to be called explicitly once geometry is loaded like this: geometry.computeTangents() - tangents are stored in Vertex objects - quads are not solved properly (though workaround hack seems to work at least somehow, as far as each vertex appears at least somewhere) - extended VBOs in WebGLRenderer to include tangent streams (when available) - added "normal" shader to ShaderUtils (to be used with MeshShaderMaterial) - Blinn-Phong with one directional and one point light (7 varyings gone, just one spare) - normal maps are in tangent space - displacement maps use simple luminance value (could be changed if better precision is needed) - displacement mapping uses vertex texture fetch - this requires GPU with Shader Model 3.0 - not currently supported in ANGLE - for this, added "supportsVertexTextures" method to WebGLRenderer API, so that application can handle this
-
- 08 12月, 2010 1 次提交
-
-
由 alteredq 提交于
Added vec3 and color parameters for MeshShaderMaterial. Also moved normal and view matrices into default parameters.
-
- 06 12月, 2010 5 次提交
-
-
由 alteredq 提交于
For this extended Cube primitive with "sides" parameter. You can use it to switch off cube faces like this: var cube = new Cube( 100, 100, 100, 1, 1, materials, false, { ny: false } ); Default is all six faces on => { px: true, nx: true, py: true, ny: true, pz: true, nz: true }
-
由 Mr.doob 提交于
Pushed revision number to 31.
-
由 Mr.doob 提交于
-
由 Mr.doob 提交于
Added WebGL Texture Filters.
-
由 Mr.doob 提交于
TODO: Would be nice if `buildIncludes()` would reuse `buildCommon()` array.
-
- 05 12月, 2010 2 次提交
- 04 12月, 2010 2 次提交
- 03 12月, 2010 3 次提交
-
-
由 alteredq 提交于
As suspected, this was caused by incorrect shader state management when switching between multiple shaders (thanks Firefox for verbose warnings). Also, testing WebGL performance is very tricky. You can get different performance depending on the state of browsers / system (messed up state can be 10-66% slower): 1. freshly started Chrome can be much faster than Chrome that already ran few WebGL demos (which are now closed) 2. demo opened in new Chrome tab can be faster than demo reloaded in the same tab 3. even demos opened and closed in Firefox can slow down Chrome demos This suggests that browsers do not clean GPU state properly :(
-
由 Mr.doob 提交于
-
由 Mr.doob 提交于
Matrix4.transformVector4 ⟶ Matrix4.multiplyVector4
-
- 02 12月, 2010 5 次提交
-
-
由 alteredq 提交于
The most tangible practical effect is that demos with multiple Lucys / Walts are now initialized much faster ;). Reuse is achieved mostly by moving mesh chunks / VBOs (formerly called materialFaceGroups) from Mesh into Geometry. This means sorting of geometry by face materials + breaking large geometries into chunks now has to be done after construction of geometry. It becomes a step in the usual sequence: geometry.computeNormals(); geometry.computeCentroids(); geometry.sortFacesByMaterial(); If geometry is constructed programmatically (e.g. with GeometryUtils.merge), this has to be called afterwards. Also of note: single geometry cannot be reused both for flat and smooth shading, as only one stream of normals is baked into VBO.
-
由 Mr.doob 提交于
-
由 alteredq 提交于
-
由 Mr.doob 提交于
TODO: Add computeVertexNormals on geometry so any object can use it.
-
由 Mr.doob 提交于
Implemented gero3's Matrix4.transformVector3 optimisation ( http://jsperf.com/diff-in-speed-for-three-js ).
-
- 01 12月, 2010 11 次提交
-
-
由 alteredq 提交于
-
由 alteredq 提交于
-
由 alteredq 提交于
-
由 alteredq 提交于
Somehow they got forgotten in the merge when "THREE.RefractionMap" got renamed to "THREE.RefractionMapping".
-
由 Mr.doob 提交于
-
由 Mr.doob 提交于
-
由 Mr.doob 提交于
Modified build script to avoid the extra full compilation.
-
由 alteredq 提交于
-
由 Mr.doob 提交于
-
由 alteredq 提交于
Also yet another fix for car demo load progress.
-
由 Mr.doob 提交于
-
- 30 11月, 2010 3 次提交
-
-
由 Mr.doob 提交于
-
由 alteredq 提交于
Moved binary files load progress reporting to Loader.js. Added load progress reporting to demos with larger meshes. To be used like this: var loader = new THREE.Loader( true ); container.appendChild( loader.statusDomElement ); loader.loadBinary( url, function( geometry ) { createScene( geometry ) }, path ); function createScene( geometry ) { ... loader.statusDomElement.style.display = "none"; }
-
由 alteredq 提交于
MeshShaderMaterial is still work in progress, expect changes. Nice side effect of WebGLRenderer refactoring: optimized one significant bottleneck (with noticeable effect on framerate in some demos), typed arrays corresponding to matrix uniforms are now set (instead of being created anew in each frame). Also created fully full build, with all extras included. This helps with deployment, especially when multiple versions of Three have to coexist in the same folder structure (got burned on this few times already).
-