WebGL Joint And Object (JOA) Framework 1.1

:smiley: I have developed a WebGL Joint And Object (JOA) Framework. :stuck_out_tongue:

It is designed to be used by people who want to create WebGL projects without having to know a lot about what happens in at the WebGL level. :? No need to know about shaders, binding or buffers.

The framework allows you to define objects (or parts), link them together to and then move and rotate them while keeping true to their linked relationship.

The framework has support for animation and keyboard handling.

It contains everything you need to start making 3D scenes in WebGL. No other downloads, besides a WebGL compatible browser, are necessary.

A nice example of a human figure with bendable parts and animation is provided. 8)

The framework can be downloaded at:


Since it is all Javascript and HTML, it can easily be checked to ensure that it does not contain any malicious code. :wink:


Version 1.2 of the WebGL JOA Framework is now out. :smiley:

It is available at the makeshift website that I set up at:


Version 1.2 has support for Picking objects allowing the programmer, through very simple mouse events, to get information about which 3D object the user clicked on. :stuck_out_tongue:

The Body Project Example as also been expanded to show off this functionality - both on the website and in the download. :wink:

Best Regards,

Lord Ashes

Version 1.3 of the Joint And Object (JOA) Framework has been released.

Download at:


Version 1.3 has:

  • LoadObject function (from โ€œCโ€ file exported by Anim8or)

  • Scale vertices function to scale (resize) objects vertices definitions

  • Rejoin function allows parts to be connected to different parents

  • Bug fixes:

    • Pick objects now donโ€™t display the back buffer (prevents black flicker)
    • Snap object function corrected

Version 1.31 of the Joint And Object (JOA) Framework has been released. :stuck_out_tongue:

Sorry everyone but I seemed to have written the LoadObjects function, in version 1.3, in the most slowest way possible. It took an order of seconds just to load the example running man. :oops:

Well I totally rewrote this code and based it on the examples that load objects from a JSON list file. Now the same example loads almost instantly compared to the seconds required by the previous code. :slight_smile:

LoadObjects now supports 3 formats (โ€œCโ€, โ€œJSONโ€ and โ€œJSON.Simpleโ€) as detailed in the manual. 8)

Also the creation transformations (scaling to size, scaling by factor, offsetting coordinates and scaling texture) has been changed so that it is no longer necessary to fill all those parameters with 0s in the LoadObjects function. Now the function uses a JSON list where any combination of transformations (including none) can be applied to the object when it is being created. 8)

:arrow: The download for the latest version of the Framework is still at: