Fixes for the merge.
Merge branch 'empty-matrix-effects-in-the-center' into modern-empty-matrix-effects-in-the-center
Move the Effects.setStretch to Meshbase.setStretch
Move the 'pre-multiply mesh before applying any effects' thing from [(Xsize of texture, Ysize of texture) x Mesh's zFactor] to Effects.setStretch(sx,sy,sz)
1. Change the API of Dynamic: split makeNowRunFor into two separate 'setDuration' and 'resetToBeginning'2. Major changes to the 'Dynamic' app so that we can check more about the Dynamics.
Invert the order of Matrix Effects. Now, just as in the other queues, the first matrix effect is actually the first to act on the object - not the other way around!
Correct the Legal notice.
Rename all the classes that are not exported to application to 'Internal'
Many things.
1) make the Dynamic.setDuration() able to be called AFTER the Dynamic has already been run. (and rename it to 'makeRunNowFor()' )2) remove the automatic removal of zero Effects from EffectQueues.3) adjust several Apps to cope with 2)4) add post-rotation to Rubik (still not finished)
Fix several more apps for the 'center-of-matrix-effects-in-screen-center' change.
Massive: make the coordinate system agree with that of OpenGL (i.e. invert the Y axis).
Make Matrix effects Rotate and Quaternion actually correct when it comes to the Z-axis. Also corresponding adjustments in apps.
Rename MeshObject to MeshBase.
Fully move the Meshes to their own package.
Change of API: move setting the EGL context back to the APP.
Further progress with Apps: 18 (out of 30) compile now.
Progress with support for Effect classes.
Change of API in anticipation for MeshCubes of any depth (currently only 0 and 1 work)
Simplify setting up DistortedScreen.
Make a MeshCubes object rendered with no effects have its front wall at the screen's surface (so that when we just replace MeshFlat with MeshCubes, it looks more similar)
Revert "Convert a few more APPs to the new resolution-independent Matrix Effects."
This reverts commit 19938eb7e76e004b164589f0ca6eec2894935e08.
Revert "Convert next 4 APPs to the new Matrix effects."
This reverts commit 39a0d81b7482f2925808d661e526aeaa980fb079.
Convert next 4 APPs to the new Matrix effects.
Convert a few more APPs to the new resolution-independent Matrix Effects.
Major:
1) in the Library, fix the fact that some applications (those that were creating their DistortedSurface objects outside of onSurfaceCreated or onSurfaceChanged) would not render after the activity went to background (press POWER to see that).2) in the Apps, call the new 'Distorted.onPause()' API to fix the above problem...
It now automatically chooses OpenGL ES 2.0 and GLSL 100 or OpenGL ES 3.0 and GLSL 300.
Postprocessing effects will not work on OpenGL ES 2.0 contexts.
New 'glClearColor' and 'glClearDepthf' APIs in OutputSurface. This fixes the 'transparency' regressions from last commit.
Change the the render() API!
THis introduces some regressions with the Effects3D app.
Major: change of API.
Split DFramebuffer into Framebuffer and Screen; introduce the 'DistortedInputSurface' and 'DistortedOutputSurface' interfaces.
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!)
Small bugfix
Rename Grid to Mesh
New DistortedProgram class.
Fix a lot of Lint warnings in the apps.
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.
Hide the 'depth' of a DistortedTexture inside the library, so users do not get exposed to this weirdness.
Complete the split DistortedObject -> (DistortedTexture,DistortedEffectQueue)
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.
Simplify SurfaceViews
Minor stuff
Tidy up 'Quaternion'
Progress with Vertex3D
- 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)
Further reduce the distortedObject's API - now only 26 methods, 1/4 of the 104 before the reorganization.
Major push towards simplifying DistortedObject's public API.All MATRIX effects are using the new API - the 'DataND' marker interfaces.
move data types, like FlatND and InterpolatorND, to a separate package.
Add License
Improve aborting Effects.
Introduce ENUM EffectTypes
Beginnings of support for PostShader effects (SavePNG, SaveMP4)
Switch to sending a Context (rather than a GLSurfaceView) to the library.
Initial commit