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
Introduce 3 types of Surfaces: System, Tree, User
Fix OutputSurface.resize(): before it couldn't be called mid-render.
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.
Simplify yesterday's refactoring.
Major: change of API.
Split DFramebuffer into Framebuffer and Screen; introduce the 'DistortedInputSurface' and 'DistortedOutputSurface' interfaces.
Introduce Renderable to the Tree.
Fix the MultiBlur regression
progress with DistortedRenderable.
This introduces a regression with MultiBlur!
progress with DistortedRenderable
Introduce DistortedRenderable, a base class for Texture and Framebuffer
Some fixes for issues discovered by the Multiblur app.
Try using OpenGL ES 3.0 everywhere (but if device does not support it, try creating 2.0 context - this is important because of the emulator!)
Move more intelligence to EffectQueuePostprocess.
Fix a regression in 'SAVE' app.
Fix the fact the the Buffer FBO in Postprocess Queue wasn't properly re-created after a Context loss.
Progress with multi-program rendering.
Initial version of the first post-processing effect - BLUR - ready for the first app!
progress with Postprocessing.
Fix issues with the DEPTH attachment to DistortedFramebuffer.
First attempt at making it possible to dynamically add and remove DEPTH attachments from an FBO.
rename all the 'grid' variables to 'mesh'.
Rename Grid to Mesh
Simplify DistortedTexture.
Clean up DFramebuffer's API
New DistortedProgram class.
First attempt at the 'Mirror' app.
Javadoc
Some more minor fixes.
Minor
Comment!
Add API to render from a FBO to another FBO
Again change of API. Now instead of the 'DistortedEffects.draw() and DistortedTree.draw()' we have 'DistortedFramebuffer.renderTo()'
Change of names.
Some improvements for StarWars's behaviour after onPause(), but it doesn't really work yet.
Remaining 'onPause-buggy' apps: StarWars, Save.
Attempt to bring DTexture and DFramebuffer closer together.
Minor.
Change of API in DistortedFramebuffer.
Major restructuring with DistortedTexture. One now is able to create Textures anywhere, even from a thread which does not hold the OpenGL context. Same for DistortedFramebuffers.
Rename various classes; fix a bug in Around the World.
Fix parallel projection.
Various relatively minor cleanups.
1. (hopefully) finish the 'Save' app (now we can adjust the size of the resulting file)2. Fix one long-standing bug in almost every single app.
Move the 'Save' app to using a DistortedFramebuffer.
Improvements for DFramebuffer.
Fix the 'Save' app so that the saving thread does not run all the time in a tight loop
Fix with Projection
Turn the former 'FOV' app into 'Projection' app that also checks the (x,y) the camera looks at.
Move the *List classes into static members of DistortedFramebuffer and DistortedObject.
Cleanup
DistortedFramebuffer should we working now, including deletions.