In my last post I mentioned my intentions to make shader experimentation in Flash simpler. Well, I figured that the obvious first step was to make a tool that lets you focus on AGAL, and AGAL alone, which is quite a LOT by istelf! Even without having to worry about the rest of the rendering pipeline or having to recompile your app every single time you make minute changes to your obfuscated opcodes, AGAL is hard enough. The video shows a very early preview of such tool, which can be used to edit AGAL shaders in real time.
In the video, you can see how a basic phong shader is loaded, its fragment constants tweaked and its shader code altered while the visual output updates instantly… The tool is at a very early stage, but already proves quite useful in facilitating shader experimentation in Flash. As you type, it recompiles your Program3D or updates the constants it needs, whenever it finds it necessary. Program3D exceptions are intercepted and sent to the log panel without interrupting your flow. During these exceptions, the output is simply not rendered but you are shown what’s wrong with your shader in the log panel. Notice this process running in real time while tinkering with the AGAL code. This should be quite helpful for anyone trying to learn AGAL, or just wanting to make a quick sketch of an AGAL shader.
Disclaimer: I am basing the design of AGALtheMEaN on Mac’s OpenGL Shader Builder.
No live demo or source yet, sorry. I will release both as soon as development reaches a reasonable stage. However, it is a good moment to express feature requests, suggestions, ideas, wishes, or any sort of comments about the tool, like for example, if you like its name or not
EDIT: Try out a very early version of AGALtheMEaN here.
Looks absolutely incredible. This will become a must-have for me. My feature requests are: copy-n-pasteable full as3 and AGAL source of the resulting shaders once we’re happy with the result. Since AGAL needs tons of as3 (setconstantsfromvector etc) the best scenario would be a single .as3 class that encapsulates the shader that gamdevs could just drop into their project that has no dependencies so it “just works”. This would be such a great way to design new shaders. Second request: the default example shader should be a three point lit normalmapped specular shiny ubershader with all the fixins.
Keep up the great work!
Hey McFunkypants, feature request’s considered. Thanks for the feedback!
goood!!!!!!!!!
WOW! I need it! Awesome thing!
yeah the demo is fantastic. I’m with McFunkypants on the feature wishlist. It would be super helpful for learning AGAL to see the shader source that is getting generated by the UI controls. Really nice app you’ve got working there