HLAG : High Level AGAL Compiler (Flash/Stage3D)

Started by
1 comment, last by jrmcv 10 years, 10 months ago

Stage3D is a relatively new addition to Adobe Flash player and compiling shaders can be difficult and cumbersome to write in AGAL.

HLAG is a compiler written in Adobe AIR that compiles a high level shader language to AGAL instructions for use in Flash or AIR Stage3D. It has an integrated preview window to test shaders after compilation with tools to manipulate shader parameters in real time. It also supports multiple passes and preprocessor constant permutations for export. Shaders are exported as XML data that can be parsed and integrated in to any Stage3D application.

hlagscr.jpg

This version is a windows stand alone application for this release but will be provided as an AIR application for multiple platforms after the test releases. There is currently no scroll bar for the source window but you can use the mouse wheel as a replacement for the time being. The UI parts still need a lot more work but the compiler and export tools should all work correctly. There will be bugs which is why it is currently just an alpha test release.

Documentation will be provided soon but for the time being you can use F1 to bring up some information on keywords and there are some basic starting templates provided. I hope to keep this application free to use for hobby or commercial purposes. More information is provided on the website:

www.jrmcv.co.uk/HLAG/ (no adverts, very basic website)

I'd be interested to hear feedback through this post or the contact me section of www.jrmcv.co.uk. Hopefully some people will find this useful for their own AIR/Flash projects smile.png.

My main website wasn't written using HLAG but it inspired me to write HLAG after a lot of the headaches I had with the shaders.

Advertisement
wow, this looks fantastic. i didn't know that flash finally got around to having a real 3D rendering pipeline though.
Check out https://www.facebook.com/LiquidGames for some great games made by me on the Playstation Mobile market.

Thanks, I'm glad you like it! Yeah, Flash has improved a lot recently. Its a very similar pipeline to DirectX 9 in the way you set states and then call draw functions with a final present call each frame. Most of my experience is with DirectX and C++ but my job for the past 5 years has been Actionscript programming so I was pretty excited when they finally introduced Stage3D. I think the main problem in pushing it so far is the AGAL language as its pretty inaccessible. This project was supposed to improve on that by giving a higher level language much like HLSL or GLSL that would compile to AGAL instructions. This isn't that complicated on a basic level but creating optimized AGAL from a high level language was my biggest challenge and its still not perfect. Hopefully it will still come in useful to some though. smile.png

EDIT: many typos

This topic is closed to new replies.

Advertisement