On the hunt for GLSL Toolset.
Wow! Is GLSL ever the red-headed bastard child of computer graphics? It seems there is very little in the way of debugging the stuff. Especially in the ways of OpenGL ES for Android. Today I've added on this thread: http://badlogicgames.com/forum/viewtopic.php?f=11&t=19866&p=83280#p83280 .
I've looked at multiple tools to assist in debugging the test shader in the libGDX source, as it's the only shader that exists that does all of what I need! I need basics, light shading, texture mapping, spec mapping, etc.. plus some more advanced stuff: normal mapping, and reflection mapping.
There are some antiquated toolsets. Most of which are mentioned here: https://www.opengl.org/wiki/Debugging_Tools
I've at least looked at most of these options. Though, any good ones on the list do not cover OpenGL ES, which is the flavor of OpenGL that Android runs. Most of the projects mentioned are abandoned or grossly neglected.
I've downloaded and tried getting the Adreno profiler working, though, my devices are missing the necessary driver files to cooperate with the debugger and profiler. Though, I'm just now finding some drivers on Qualcomm's developer page, https://developer.qualcomm.com/software/adreno-gpu-sdk/tools. Seems that the Snapdragon/Adreno tools are a bit out dated. And, I don't see much that is in place otherwise to debug on that hardware. nVidia looks to have something for their recent hardware. The nVidia Tegra chip set is what is compatible with their tools, which looks awesome. But, that would require me to buy a new tablet, the Nexus 9 looks like the winner there. But, let me try to find a way that's not going to cost $400 bucks.
A little while back, I remember reading that WebGL uses OpenGL ES 2.0 standard. Since Three.JS comes so naturally to me, I thought maybe their existing, and working, shaders might be of use. Which lead me to this Chrome plugin... https://chrome.google.com/webstore/detail/shader-editor/ggeaidddejpbakga... , which at the time didn't working with libGDX HTML exports. So, I did what any concerned developer would do! I filed a bug, https://github.com/spite/ShaderEditorExtension/issues/7 . And it got fixed! Wooohoo!
I've tested and it's works with the default libGDX demos. Saweet!
There's object highlighting (that magenta hue in the screenshot) for the selected program, and real-time code compilation while editing. Uber-sweet!
I'm pretty sure I can use this to fix the shader. I just need to export the HTML project, run it through a web server (XAMPP will do) and check it out with the chrome tool. Though, I'll have to block the default Default Shader fallback. I just need the shader to fail, then let me see what happened, and hopefully fix it.
Here are some more debuggers to try out. http://stackoverflow.com/questions/5432721/opengl-es-2-0-debugging
I'm currently downloading ARMs graphics debugger, since I have a tablet that has an ARM Mali400 GPU.
Otherwise, I'm having some trouble compiling my program in the HTML gradle project. I guess it has to compile with a earlier version of JAVA 1.6, and that's causing a problem. If I exhaust all other avenues, I'll come back to this. The main problem being, Java 1.6 switch statements can't handle strings. WTF? REALLY? JAVA 1.7 introduced support for strings in switch statements. Super.