When I released
CopperLicht a few days ago, it didn't work on some Mac OS X systems, but this has been fixed now. So what could possible make a JavaScript library which works perfectly on Windows and Linux not work in the same browsers (Chrome, Safari, Firefox) on Mac OS X?
CopperLicht uses WebGL to render 3d graphics, and uses
GLSL shaders to do this. GLSL shaders are simple programs which are sent to the graphics drivers, which then compiles these and runs them on the GPU. One of the major benefits of GLSL is, as quoted from the Wikipedia page:
Cross platform compatibility on multiple operating systems, including Linux, Mac OS and Windows.
But since I now found and fixed the bug which caused CopperLicht not to work on MacOSX, I can say this statement is not true. Different graphics driver, different shader features you can use. Appearently the compilers in different graphic drivers currently don't even agree if you can multiply a vec4 with an integer or not. Which caused CopperLicht to tragically fail on Mac OS X systems with a driver which didn't want you to multiply vec4's with integers.
Great, so I guess testing if your javaScript works on different browsers now has been taken to the next level. You also need to check operating systems and installed graphic drivers!
Anyway, so if you are going to write a game using WebGL in JavaScript, you can circumvent this by using a 3d engine like
CopperLicht. The engine developers (== me) will be taking care of this :)