Advances in Multiblur - breaks BLUR for now.
Now there's a single place one can have a look at all the Meshes being rendered to a OutputSurface: OutputSurface.renderChildren().This will need to get modified for per-object post-processing.
Minor
New method of rendering.Advantage: now there's one (well, ATM two, but I hope soon really in one) place where we can have a look at all the Meshes that are being rendered to a OutputSurface.This should help with proper per-object POSTPROCESSING effects like Multiblur.
Simplify drawRecursive
simplify blitPriv()
Fixes for z-fighting.
Make it possible to render each DistortedNode with adjustable OpeGL state (writeing to Color, Depth,Stencil buffers, DEPTH, STENCIL, BLENDING on.off, etc)
The only operation which is now enabled 'statically' in render() is blending.
1) stop culling back face2) reset OpenGL state beore each render (and not in onCreate)3) Improve Matrix3D so that we can test negative Scales
Exclude certain public methods from Javadoc API.
Minor.
Things seem to be working - switch off all debugs.
A Lot of fixes for the issues uncovered by Olimpic.
Still at least 1 known issue: sometimes, when we re-add a Surface, some garbage pops up on the screen for a brief split second. Visible in Olimpic.
Introduce 3 types of Surfaces: System, Tree, User
Fix OutputSurface.resize(): before it couldn't be called mid-render.
- workaround for the issue with flashing in StarWars- return number of objects rendered from OutputSurface.render() and use this in Olympic- rework tree isomorphism so that it now works even if we don't render the whole tree (and also we don't have to reset() the Tree anymore!)...
1. Make it possible to enable/disable DEPTH test when rendering to a Screen2. Using this, remove the 'Root' Node from StarWars.
A lot of different fixes.
A lot of issues still there:
1) if we only render part of the tree, tree isomorphism will sometimes not work correctly2) when we change Effects that are inside Trees mid-render, even if we detach() the affected parts of the Tree first, for the last frame the new Effects will be used...
New, cleaner way to create/destroy DistortedSurfaces.
Serious regression in StarWars (crashes!). Looks like the Node's internal FBO is being deleted and not re-created in time.
Change the the render() API!
THis introduces some regressions with the Effects3D app.
Preparation for change of the render API.
Simplify yesterday's refactoring.
Major: change of API.
Split DFramebuffer into Framebuffer and Screen; introduce the 'DistortedInputSurface' and 'DistortedOutputSurface' interfaces.