Improvements for WAVE
Beginnings of the WAVE effect.
Correct an important bug in the vertex shader.
b = 1/a if a!=0, 1 otherwise was incorrectly computed as b = 1.0 / (a+1.0-sign(a)). This, when 0<a<2^-24, suffers from 'round-off error': then a+1.0 = 1.0 (sic!) thus b = 1/0 !.
Correct way: b = 1.0 / ( a - (sign(a)-1.0) )
Fixes for fragment effects in Effects3D.
Fix for Bug #17: Regions of Fragment Effects migrate.
Fix is: don't send vertex position and the Fragment Effect region to the fragment shader already multiplied by the ModelView matrix (that introduces the imprecise interpolation because of the projection effect) but simply send both of them in local coords.
Remove the MACROBLOCK Effect altogether.
Finally fix the 'when rendering though an FBO, the other side of triangles is visible'
Fix the 1x1 case! Before it used to be impossible to create a DistortedBitmap just with 2 triangles!
Remove the 'invert' option from DistortedProjection - this was making the DistortedNode-based apps not show the Objects, because the winding of triangles was wrong.Now however the DistortedNode based stuff is inverted top-down :)
Further simplify and speed up the DistortedCubes target.
Simplify and spped up the DistortedCubes target.
Correctly tesselate the DistortedBitmap target!
Advanced tesselation of DistortedCubes should be done! This fixes Bug #22
beginnings of support for advanced tesselation in DistortedCubes target (still doesn't quite work)
minor formatting stuff
Tesselate DistortedBitmaps better - now all the triangles long edges point at the center of the bitmap, which makes z-distortions look much better!
Merge remote-tracking branch 'origin/master'
Cull back faces of triangles.
Minor stuff - make the Bitmaps and the Cubes agree on the size of the grid, mostly.
Fix for Bug #16: When rotated at an angle, surfaces get increasingly transparent.
This also fixes the saturation, chroma, alpha + contrast effects, while completely breaking macroblocks :)
Fix for Bug #21: implement z-shear.
Fix for Bug #18: DISTORT effect: disappearing triangles
Fix for Bug 19: SWIRL effect: mess if Center out of Region.
beginnings of support for drawing the Region in Vertex3D app.
Minor stuff - comments.
Some progress with Fragment3D app - doesn't compile yet!
Revert the Cubes App.
Add DistortedGridFactory to share Grids among same-shaped DistortedObjects.
revert latest changes to the fragment shader.small things in DistortedObjects.
some improvements for the way we test DistortedObjects.
fix fragment effects :)
remove the 'Color' vertex attribute.
switch precision to low in fragment shader
Make the 'deform' effect continuous when 'center' point passes through (0,0) i.e. middle of the Object.
Avoid a crash on exiting MessageSender
fix in vertex shader
Bugfix in vertex shader (vertices were shot into outer space if P==S, i.e. if center point was exactly equal to the vertex being computed)
Progress with Vertex3D
Minor: deal with IntelliJ warnings
minor
Important bugfix in the vertex shader: there was division by 0 in case Center point was on the edge of the Object, resulting in some vertices being shot into outer space.
Vertex3D almost finished - there's still a problem when parts of Cubes get culled if the Object gets Deformed or Distorted to the left (curiously only the 'left' direction seems to trigger this!)
Cleanup, consistent variable names, minor details.
Further progress with SenderThread: make it possible to actually exit the thread on app exit.
Major: the MessageSender thread used to be running all the time in a tight loop!!
Additional Javadoc stuff.
- Javadoc for EffectNames- make Matrix effects consistent with the rest (center of effect as last parameter!)- bugfix for yesterday's bugfix (we only want to send 'EFFECT_REMOVED' messages if it was really the Application that called 'abortAll' and not when we are cleaning up everything)
Cleanup.
Bugfix: send EFFECT_REMOVED to all Listeners from EffectQueue.abortAll() !
Minor cleanup.
Fix for adding a single DistortedObject to a DistortedNode tree multiple times.
Further reduce the distortedObject's API - now only 26 methods, 1/4 of the 104 before the reorganization.
New API tested.
Some more progress with porting apps to new VERTEX API.
Major push towards simplifying DistortedObject's public API.Beginning of work on VERTEX Effects - does not compile ATM!
Major push towards simplifying DistortedObject's public API.All Fragment effects are using the new API - the 'DataND' marker interfaces.
Major push towards simplifying DistortedObject's public API.All MATRIX effects are using the new API - the 'DataND' marker interfaces.
Move the 'Save' effect to the Application and remove the 'OTHER' effect queue
1. new package 'message'2. Rename the 'Grid' classes to match
move data types, like FlatND and InterpolatorND, to a separate package.
comment cleanup in DistortedObject.
cleanup in DistortedObject's methods.
Add license
remove the remains of DistortedBitmaps from DistortedNode
Bugfix for removeByType
Save PNG effect almost finished. Supporting App (hopefully!) completely finished.
What remains to be done: put actual saving of the Bitmap in a separate thread, away from the Graphics thread!!
Javadoc stuff.
Implement SAVE_PNG
Beginnings of support for the SavePNG effect.
abstract setMax and getMax to EffectQueue.
Improce the 'Check' App.
Improve aborting Effects.
Introduce ENUM EffectTypes
Beginnings of support for PostShader effects (SavePNG, SaveMP4)
New app: PlainMonaLisa (Mona Lisa rendered on plain SurfaceView)
Fix for issue 1: 'FBO not visible' : we forgot to clear the HashMap in DistortedNode.
Make deep copying DistortedObjects (needed in DistortedNode) standard.
Defensive programming.
Provide support to add any class derived from DistortedObject to DistortedNode.
Adjust comments.
convert Distorted.java from GLSurfaceView to Context.
Improvements for Javadoc
Fix javadoc errors
Add gitignore
Initial commit