Again change of API. Now instead of the 'DistortedEffects.draw() and DistortedTree.draw()' we have 'DistortedFramebuffer.renderTo()'
Change of names.
Change in the API: we always have to create a DistortedFramebuffer to render to.
Minor
onPause(): fix StarWars
Bugfix: only add EffectListener ONCE!
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.
Speed up ObjectTree: we no longer have to traverse the whole tree before rendering to mark everything as not-rendered-yet.
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.
Hide the 'depth' of a DistortedTexture inside the library, so users do not get exposed to this weirdness.
Minor improvements in DistortedTexture.
Complete the split DistortedObject -> (DistortedTexture,DistortedEffectQueue)
Beginnings of split of DistortedObject into two separate classes: DistortedEffectQueues and DistortedTexture.
Still does not compile, but pushing already.
Rename various classes; fix a bug in Around the World.
Some fixes for the recent API change
Major change in API: separate the GRID from DistortedObject; completely remove classes derived from DistortedObject.
Fix parallel projection.
The EffectQueues are now totally independent of the size of the underlying Bitmap.
Some speedup in CubesGrid
Merge remote-tracking branch 'origin/master'
Fix a long-standing buf in CubesGrid (incorrect Grid in case of 5x5 11111 11011 10101 11011 11111)
Chasing a bug in DistortedCubesGrid.markRegions() ( visible with a 5x5 grid, 11111 11011 10101 11011 11111 ) - some side edges are missing. markRegions computes incorrect number of side Segments in this case.
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
Javadoc
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.
Simplify SurfaceViews
Move DistortedNode and Distorted to use the new DistortedRenderTarget.
Minor progress with RenderTarget
New DistortedRenderTarget - preparation for being able to render to any FBO (screen, offscreen pixmaps)
Minor stuff
Fix the 'Save' app on Android API >=23 (we need to explicitly ask for write permission)
Add 3rd dimension to the Deform effect.
Improve the Deform app
DEFORM: add support for Regions
Polish up DEFORM.
re-write the deform effect
rearrange comments
Allow more than the default number of concurrent VERTEX and FRAGMENT effects in Effects3D.
New vertex effect 'PINCH'
Complete moving center to 3D.
Make the effect Center be always 3D.
Unify Effects3D and Matrix3D (still incomplete!)
Encode more info in the EfectNames enum.
Progress with WindManager.
Dynamics: Introduce 2 Modes of operation:
- 'random access' mode, where we are able to call a single Dynamic from multiple thread simultaneously.- 'sequential' mode, which only permits sequential interpolation from one client.
The second mode has an advantage when one needs to change mDuration: it keeps on interpolating smoothly. In the first mode, this is not possible.
2 bugfixes:
- in Dynamics, it has to be t<=0.5 (rather than t<0.5) (see comment in code)- in EffectQueueVertex, we need to postprocess() the last time, when effect is finished but not removed!
Minor details
Progress with Wind
Tidy up 'Cubes' app
Bugfix
Bugfix (sometimes, when t=0.5 exactly, it wouldn't recompute Noise in case of PATH mode)
re-generate noise after passing each Point.
Flag app finished
Next fixes for issues with 'jumping' path when noise is on. (and a whole lot of commented out debugging)
1. Attempt to deal with unstable Orthonormal Base in Dynamic class (so far unsuccessful)2. Improvements to the 'Dynamic' (and by necessity, 'MovingEffects') applications (to be able to debug the previous)
1. Workaround for th issue that my shitty Nexus 4 crashes while compiling the vertext shader (actually the wave function)2. Improvements to the Dynamics app
minor stuff
Fix 4D and 5D noise, make noise N dimensional.
Bugfix for the fishy loops in 2D noise.
Some corrections for the new Noise, it is still fishy though (some suspicious loops form - see it with the ''Dynamics" example app, 2D, 3 points)
Completely redesign Noise in the Dynamics and move all the complexity to the parent class.
something does not work with it now :)
Move most of the NOISE complications from DynamicND classes to the parent Dynamic class.
New constructor to DistortedCubes - easily create a hole-less Cuboid.
Beginnings of a new example app - a waving flag.
No actual waving yet!
Javadoc.
Correct Javadoc issues
Comments
Make the WAVE effect 5D (extra parameter 'offset')
Add Static5D and Dynamic5D.
Improvements to comments.
Reflect the fact that we are no longer caching sine and cosine in the EffectNames comments.
swap the 2nd and the 3rd parameters in the WAVE effect and improve comments for the WAVE user API.
Switch off the pre-compulting of sin and cos in CPU as it turns out that those two are single-instruction functions on any modern GPU ( http://www.gamedev.net/topic/322422-number-of-gpu-cycles-for-cos-and-sin-functions/ - link form 2005 ! )
Improve the comment the WAVE effect.
Correct one more issue with computation of WAVE.
Correct one issue with incorrect shadows in WAVE when V.z <0 .