Fix several more apps for the 'center-of-matrix-effects-in-screen-center' change.
Merge branch 'master' into empty-matrix-effects-in-the-center
Change Distort to Deform in two apps - looks better.
Move the default center of the matrix effects to the center of the screen (rather than the bottom-left like before)
Improvements for the 'Rubik' app.
Improvements for texturing MeshCubes objects in two apps (in light of the recent change in default texture mapping)
1) new 'Rubik' app (skeleton)2) MeshCubes: add support for custom texture mappings on each side (Rubik needs that!)
Some improvements to the Wind app - still does not look very realistic though :(
Correct Distort.
Fixes for some stuff discovered while making the Distort effect fully 3D:
- make MeshSphere's normal lengths be 1 (used to be 0.5)- make the Effect3D app display precise values of the Center and Region vars.
Relax requirements on when we can call DistortedEffects.setMax().
Before this change one had to call it before creation of shaders and before any of the DistortedEffects classes got created.This commit removes the second requirement so now with setMax it's just like with enabling effects: it's best done in onSurfaceCreated.
Massive: make the coordinate system agree with that of OpenGL (i.e. invert the Y axis).
Make the Sink effect fully 3D.
Correct the z-axis of the center of fragment effects (it was inverted)
Progress with the Earth app.
Make the Fragment effects truly 3D: change their 4D 'region' into a 3D 'center' (a point in 3D) and 3D 'region' (which is now a set of 3 radii defining an ellipsoid around the center)
Also corresponding changes to the applications.
Advances with the Earth app - prepare it to checking if any FRAGMENT or VERTEX effect correctly works on a Sphere mesh.
Redefine the Vertex Region from (x,y,r,unused) to (x,y,z,r). This takes into account the 'Z', which makes it possible to warp only one side of a 3D Mesh like Sphere.
Also corresponding changes in applications.
Progress with the 'Earth' app.
Rename the old 'Cubes' app to 'Inflate' - this now combines the testing functionality of former 'Cubes' and 'Inflate' apps.The old 'Inflate' in turn renamed to 'Earth' - here we are going to show an Earth rotating in space.
Make Matrix effects Rotate and Quaternion actually correct when it comes to the Z-axis. Also corresponding adjustments in apps.
New texture showing the World (Mercator projection)
Do not let users choose a Mesh with cols or rows equal to 0.
Some fixes for Sphere; still not completely ok though.
Add support for MeshSphere (add ability to display it in the 'Effects3D' and 'Inflate' apps).Still a bit buggy!
- new icon for the GLOW app- rename the BitmapTree app to ObjectTree
Improve the Triblur app to be able to switch objects into 1 of 3 states: no postprocessing, blur, glow.
Minor cleanups.
Make the Effects3D app a bit more user-friendly.
Bugfix: we need to remember all adjacent TABs, not just half of them to the left or right.
Progress with Inflate (building block of postprocessing effects: the proper way of marking a halo around a Mesh)'Inflate' app testing the machanism. MeshFlat appears to be working, now we only need to fill up the per-vertex Inflate vector in the MeshCubes.
Rename MeshObject to MeshBase.
Fully move the Meshes to their own package.
Progress with Effects3D app - merge Matrix effects
Progress with Effects3D app.
Effects3D app: remove debugs.
Correct the way we display Normals (didn't work in case rendering was of OIT type)
More progress with Effects3D app.
Make the 2nd Effects3D activity be an AppCompat one (for Fragments - avoid using a depreciated FragmentPagerAdapter).
Split the Effects3D app into 2 activities
Some progress with Effects3D app
Overhaul of the Effects3D generic test app.
Still not perfect (the 'postprocess' tab does not work; things crash when we rotate)
Progress with thr Glow effect - moving glow app looks ok now.
Make the OIT SSBO size independent of screen size.
Add OIT to the Effects3D app.
Convert everythig to GLES31 (there were some GLES30 remnants)
Transparency App: try to postprocess and not-postprocess the Transparent Surfaces.
Make the Cubes App capable of testing unprocessed OIT.
Correct a recently introduced bug.
I am pretty sure this time the flashing issues on Mali T880 r12 driver are finally fixed.
The fix: a queue of FBOs render to, just like before, but this time in DistortedScreen we blit not the current FBO, but the one computed several frames ago.
This of course introduces a delay and uses more memory, but it appears to work and does not seem to have any effects on speed.
Minor
Stencil App: Do not request any special EGL config; with DistortedScreen now buffered, we don't have to (and in fact this config doesn't exist on HTC Desire 12)
Try and avoid re-sorting the children by buckets (if we can!). This makes change in rendering order in the 'Transparency' app actually work.
In an attempt to contain the flashes on Mali GPU, re-structure the post-processing FBOs from 1 FBO with 2 color attachments + combined depth-stencil to 2 separate FBOs sharing a depth-stencil texture.
Result: this appears to make the flashes slightly worse.
Remove the Mali app (it was a silly mistake!)
Simplify Mali app.
Actually display the new Mali app.
New self-contained (i.e. not dependant on the library) App to check bugs on Mali GPU.
OIT: more fixes
OIT: fixes. Everything looks correct now except for the curious return of the 'dancing lower-left corner' small glitch in the 'Transparency' app.
Reengineer DistortedScreen
OIT: correct depth
Postprocessing: dont crash when we fail to compile postprocessing programs
OIT: lots of progress on all fronts. Still a few bugs to solve though!
Properly recreate the Atomic and LinkedList buffers onPause.We have to discard all alpha==0.0 pixels during OIT Pass1.
Fix the 'OIT' artefacts.
- remove counting of transparent pixels from main fragment shader- remove debugs and tidy up- some fixes for the Mali GPU
Minor.
Some improvements for 'Moving Glow'
New app checking Order Independent Transparency.
'PostprocessTree' app: enable the point: double blur.
'PostprocessTree' app: icon
Improve the 'PostprocessTree' app. Shows bugs in postprocessing.
New 'PostprocessTree' app (unfinished)
Improve the 'Triblur' app.
Improve the Triblur app.
New 'Triblur' testapp.
Shows that the Blur effect doesn't fully work (probably it is the 'blitWithDepth' function which needs to be corrected)
Fix in Framebuffer
Bugfix in RenderState
Improvement for MultiBlur and Glow apps.
Add quality levels in Glow APP.
Fix quality levels in Glow.
Debugging Glow.
Progress with Glow.
Improve 'Glow' app.
New 'Glow' app.
Rename the last 'Glow' app.
Simplify Statics.
Make Postprocessing quality per-effect (rather than applied to the whole queue)