Jump to content

Tutorials for WebGL, Web Audio API, possibly WebAL hooks for OpenAL

Recommended Posts

I think we need to have more multimedia training made available than just static images and audio. I am new to these technologies, by no means an expert, not even skilled. All I have is an awareness of them and an appreciation for their potential utilization by people who are far better programmers than me.Tutorials for WebGL, Web Audio API, possibly WebAL hooks for OpenAL. WebGL lets you hook into OpenGL using HTML5's Canvas element tag. WebGL lets you turn static images in Dynamic 3D worlds, by stretching, curving, filtering, and applying all manner of effects that will run directly on the graphics subsystem. With WebGL, you can create something as complex as a video game, right in the browser, with nothing but a few images and text. Great for prototyping, for learning OpenGL, or for creating rich and dynamic web content, when combined with the power of JavaScript, DOM, et al. Web Audio API is a W3C Draft in its 5th revision, about 2 or 3 years old now. FireFox and WebKit based browsers support it. A compatibility matrix can be found at Can I Use / audio-api. My guess is that it will become a standard. In a similar fashion to the way you manipulate 2D static image files to create a spatial 3D environment, Web Audio API lets you take sound files, and apply many processing effects and filters to them, to create an immersive acoustical environment. My only reservation to Web Audio API is that it seems to duplicate the work of the OpenAL project. There's an LGPL'd implementation (Source Tarball, Win32 and Win64 binaries and Git) of OpenAL called OpenAL Soft. But no browsers provide any hooks to it. One programmer out there has hacked together a method to hook into OpenAL from the web browser without modifying the browser in any way. He calls his project WebAL. Part of Ben Vanik's rationale for WebAL is "For the more advanced APIs coming out (such as Web Audio) they use large, cumbersome graphs that may work well for setting up static audio scenes but don't fit in to immediate-mode games." However, this WebAL is unmodified for 3 years, and there seems to be nobody taking an interest in creating a standard for it. I don't know if his reservations about Web Audio API were ever addressed. I shot him an email requesting clarification, but have not heard back. It took the Khronos Group to create WebGL hooks for OpenGL, but they still don't seem to have any interest in audio. So I can understand if WebAL is not yet suitable for use as a tutorial, but it deserves a mention. Maybe if enough interest and awareness could be generated, the situation could change. There are other downsides of OpenAL at present. The open specification is horribly neglected by the corporate entities (Creative Technologies) who created it and seems to be totally abandoned. They opted for all new versions of the specification and reference implementations to be totally proprietary and encumbered by royalties, effectively killing innovation and setting things back about 5-10 years for the rest of us. There's only one free and open source software option, OpenAL Soft, which seems to be a one man project with infrequent updates, and is based on the old OpenAL 1.1 specification. That always poses a risk of abandonware if he loses interest, has other obligations in life, or a catastrophic accident or illness. Wikipedia has also listed a few disadvantages, some of which may be a concern for web developers. I don't know if these have been addressed in the OpenAL specification or the OpenAL Soft implementation.

The single listener model in OpenAL is tailored to a single human user and is not fit for artificial intelligence or robotic simulations or multiple human participants as in collaborative musical performances.[4] In these cases a multiple listener model is required. OpenAL also fails to take into account sound propagation delays (the speed of sound is used for the Doppler effect only). The distance to a sound source only translates into an amplitude effect (attenuation) and not a delay. Hence OpenAL cannot be used for time difference of arrival calculations unless that functionality is added in separately.

Link to post
Share on other sites
  • 5 years later...

it would actually be quite awesome if w3schools were to add a WebGL 2.0 reference!

i personally intend to disguise a 128-bit key as a rotating 3d image using webgl 2.0... the reason for this is so that the javascript/ajax may decrypt the encrypted information received from serverside php from mysql... anyone considering this?

Link to post
Share on other sites

i personally intend to disguise a 128-bit key as a rotating 3d image using webgl 2.0.

How do you think that's going to work, what exactly are you disguising the key from, and why?  Rotating images would really only be useful or consumed by people, so if you're trying to disguise the key from people then I guess the first question is why that's necessary.  A dedicated programmer can find out any data being used by Javascript, they can just put a breakpoint in your decryption code to see the original data, any keys that are being used, the decrypted data, etc.

That being said, it sounds like you're talking about steganography in general, a lot of work has been done on that topic.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...