- 20 1月, 2011 2 次提交
- 19 1月, 2011 4 次提交
- 18 1月, 2011 20 次提交
-
-
由 alteredq 提交于
-
由 alteredq 提交于
-
由 astrodud 提交于
-
由 alteredq 提交于
-
由 alteredq 提交于
-
由 Mr.doob 提交于
-
由 Mr.doob 提交于
-
由 Mr.doob 提交于
-
-
由 astrodud 提交于
Optimized Object3D.updateMatrix to (1) cut down where possible on new Matrix4 allocation, (2) only compute rotation/scale matrices if needed (if no rotation, no need t compute); and (3) no longer require storage of translationMatrix or scaleMatrix (1 per object). Uses a single tmpMatrix instead.
-
由 astrodud 提交于
-
由 Mr.doob 提交于
-
由 Mr.doob 提交于
-
由 astrodud 提交于
added Matrix4 "setter" functions: setTranslation, setScale, setRotX, setRotY, setRotZ, setRotAxis; to be used in optimizing Object3D.updateMatrix.
-
由 astrodud 提交于
-
由 astrodud 提交于
slight speedup in Matrix4.rotationAngleAxisMatrix by cutting down object lookups and redundant multiplications
-
由 astrodud 提交于
-
由 alteredq 提交于
-
由 alteredq 提交于
This should be the last place where new arrays were created in "render". Chrome memory now seems stable. Firefox still grows like mad, though this used to be like this also with other demos (simply setting random values to existing arrays does this). Seems like Mozilla folks themselves struggle with this: http://www.flickr.com/photos/11280278@N04/5363335103/in/photostream/
-
由 alteredq 提交于
See discussion here: https://github.com/mrdoob/three.js/issues#issue/92
-
- 17 1月, 2011 6 次提交
-
-
由 alteredq 提交于
For the moment just things that are executed every frame in WebGLRenderer.render. Continuing with quest to minimize creation of new data structures. Should instead create per class/object structures and just reuse them (as gman does in ThreeD). Main goal is to avoid annoying garbage collection pauses. Let's hope it didn't break something (could be if some code was dependent on cloning of return values of "flatten" or "makeInvert3x3", though from what I checked these are just used to set typed arrays uniforms).
-
由 alteredq 提交于
-
由 Mr.doob 提交于
-
由 astrodud 提交于
-
由 astrodud 提交于
-
由 alteredq 提交于
Also doesn't seem to decrease performance so far (though most of demos have small number of objects).
-
- 16 1月, 2011 5 次提交
-
-
由 alteredq 提交于
Testing on current examples didn't show any noticeable performance degradation when enabling / disabling culling for every object in every frame. "FlipSided" property could be probably done in very similar way, just setting "gl.frontFace( gl.CCW )" or "gl.frontFace( gl.CW )"
-
由 alteredq 提交于
-
由 alteredq 提交于
Alternating convolution pass textures aspect ratio and using linear magnification filtering leads to less artefacts.
-
由 alteredq 提交于
-
由 timk 提交于
-
- 15 1月, 2011 1 次提交
-
-
由 alteredq 提交于
For this had to extend WebGLRenderer a bit: - MeshShaderMaterial now can take non-specific float array uniforms as "fv1" (there is already "fv" type for array of 3-item-vectors, which probably should be renamed to "fv3" to be consistent) - render method has yet another parameter "clear" for clearing newly set framebuffer (defaults to true). This is a bit hackish but it seems necessary to control this somehow. I didn't manage to replicate desired behavior just with autoClear. - another dirty thing is accessing GL context from the application side: renderer.context.disable( renderer.context.DEPTH_TEST ); This should be refactored somehow, wrapped in some API call.
-
- 14 1月, 2011 2 次提交
-
-
由 alteredq 提交于
Requires to turn off mipmapping to be able to use non-power of two texture. Effect of texture size on performance is noticeable, also there is no antialiasing (default in Chrome is I think 4x multisampling). So I guess full-screen postprocessing will be quite costly :(. That's the price of WebGL always running at full-blown high resolution. This could be somehow mitigated by faking lower resolutions via smaller texture, though I guess it still wouldn't be the same as having lower resolution set by GPU driver (this is a major help with performance in games - I never run full 1680 x 1050).
-
由 alteredq 提交于
Rendering proper 3d object into the texture uncovered another issue - framebuffer had to be cleared after switching. Texture is still flipped :( (original scene has small red torus on the top) This is proving to be rather tricky. Yet again I tried to handle image coordinate mess in a proper way (UNPACK_FLIP_Y_WEBGL as texture parameter and non-inverted UVs), fixing hacks across the codebase. This did indeed help with render-to-texture flipping, but instead it created really ugly problems with both normal map and minecraft AO demos. So back to square one :(
-