1. 18 1月, 2011 3 次提交
  2. 17 1月, 2011 6 次提交
  3. 16 1月, 2011 5 次提交
  4. 15 1月, 2011 1 次提交
    • A
      Added postprocessing example. · a03f7142
      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.
      a03f7142
  5. 14 1月, 2011 6 次提交
    • A
      Testing rendering to full-screen texture. · 6cc10164
      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).
      6cc10164
    • A
      Another update of render-to-texture example and related bugfix. · 7c9fe8ff
      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 :(
      7c9fe8ff
    • A
      Refactored render-to-texture example. · 707dc9d0
      alteredq 提交于
      Still flipped, though at least now it's consistent.
      707dc9d0
    • A
    • A
      Fixed discrepancy between ANGLE and OpenGL when rendering to texture. · 9bc383e1
      alteredq 提交于
      Had to set viewport to make it work in OpenGL.
      
      Also made it easier to see texture orientation in the example.
      
      Now it's visible that there is indeed flipping. At least now it's consistent ;).
      9bc383e1
    • A
      Added simple render-to-texture example. · cee72056
      alteredq 提交于
      Something is broken as OpenGL shows different result than ANGLE :(
      
      Though this time it's ANGLE which seems correct.
      cee72056
  6. 13 1月, 2011 2 次提交
  7. 12 1月, 2011 2 次提交
    • A
      Merge remote branch 'remotes/upstream/master' · 15407b01
      alteredq 提交于
      15407b01
    • A
      Added basic support for dynamic geometry in WebGLRenderer (with silly ocean example). · fe6008b6
      alteredq 提交于
      If you want to refresh VBOs (and thus have geometry changes reflected in renderer), you need to set dirty flags on geometry object.
      
      There are separate flags for different buffers (as not always all buffers need to be updated and oh my is updating costly):
      
          mesh.geometry.__dirtyVertices = true;
          mesh.geometry.__dirtyNormals = true;
          mesh.geometry.__dirtyUvs = true;
          mesh.geometry.__dirtyTangents = true;
      
          mesh.geometry.__dirtyElements = true;
      
      That was quite tough feature, a lot of refactoring, yet performance is still quite bad :(
      
      The biggest remaining bottleneck seems to be translation between Three.js internal data formats and buffers. I removed as much per-frame arrays creation as I could, but even just iterating through existing data and setting of values is still very costly. Also per-frame normals computation is expensive.
      fe6008b6
  8. 11 1月, 2011 1 次提交
  9. 10 1月, 2011 6 次提交
  10. 09 1月, 2011 8 次提交