Allow more than the default number of concurrent VERTEX and FRAGMENT effects in Effects3D.
New vertex effect 'PINCH'
Complete moving center to 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)
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 ! )
Shades in the WAVE effect fully working, if the effect is the only one.
Remaining: combine the shades with other effects!
small improvements in DISTORT
Preparation to make the WAVE effect fully 3D
Adjustments for EffectQueueVertex.postprocess()
Beginnings of the WAVE effect.
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 #21: implement z-shear.
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.
remove the 'Color' vertex attribute.
Avoid a crash on exiting MessageSender
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.