The rest of the set of 16 demos from learningwegl.com have been posted here. Note that some of them work, some only partially work, and others do not work at all.
Donate
- RSS
-
Recent Posts
Archives
Pages
The rest of the set of 16 demos from learningwegl.com have been posted here. Note that some of them work, some only partially work, and others do not work at all.
After months of work, I am pleased to announce the release of cWebGL v0.2.0. New in this release is a completely refactored GLSL compiler which will produce valid GPU ARB assembly code, and an ARB to Javascript translator and execution subsystem. This release also offers a slight performance improvement, with the possibility of more improvements in the immediate future. Download it at the google code project page here.
Things have been slow recently on the main branch due to work on a massive rewrite of the compiler. Currently, the compiler was mostly a proof of concept, doing a direct translation of the parsed syntax tree into a corresponding javascript representation. While this approach produces a pretty good result, there are some things which would not have worked or would have been extremely difficult to implement as such (e.g. LHS swizzles). Furthermore, a full rewrite would have been necessary anyway to output different targets, such as when Flash Stage3D/AGAL support is built in. This rewrite should be complete in the next week or two.
When done, the new compiler will function as a GLSL->ARB compiler, meaning that it could in theory be used to produce real ARB assembly code, though most likely the output will be very unoptimized.
On the back-end will be a set of translators from ARB to other output formats. At first, it will be limited to an ARB->Javascript translator, but an AGAL translator should be extremely easy to implement afterwards. This leads to all sorts of interesting usage possibilities, such as the ability to debug production shaders in javascript using a virtual GPU/debugger, even if the required level of performance is too great to use the library for software emulation. Also of interest will be the eventual integration of Flash, and for pure-flash developers/applications, the ability to compile GLSL down to AGAL without having to pay for or install external software might be very appealing.
Does anyone have any other ideas?
GLSL type constructor generation has now been moved from run time to compile time. This decreases the amount of processing required for shaders using them, and probably allows for better JIT compilation. The end result is a pretty substantial increase in performance when fragment shaders make use of type constructors.
An issue with TypedArrays has been corrected which prevented Safari from running correctly.
The cWebGL demos have been updated with a new version of the library. This fixes some problems that prevented lessons 7 and 8 from running correctly.
Also, glClear performance has been greatly increased, which should increase overall performance slightly.
The cWebGL demo page has now been merged into this new blog. I will be adding some old, inactive (but interesting) projects in the future, in the hopes that somebody may find them useful.
The cWebGL library has not been worked on in about a month as I try to catch up on other responsibilities. There are a few minor updates that I will be posting soon, but there probably won’t be anything really interesting for a while.