Demos 9 – 16

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.

Posted in cWebGL | Leave a comment

cWebGL v0.2.0 Released

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.

Posted in cWebGL | Leave a comment

GLSL Compiler Rewrite

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?

Posted in cWebGL | Leave a comment

Type Constructor Speedup

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.

Posted in cWebGL | Leave a comment

Safari Fixes

An issue with TypedArrays has been corrected which prevented Safari from running correctly.

Posted in cWebGL | Leave a comment

Fixes and Performance

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.

Posted in cWebGL | Leave a comment

New blog and cWebGL update

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.

Posted in cWebGL | 1 Comment