WebGL(在Firefox上)如何工作?

时间:2010-03-23 16:56:20

标签: browser webgl

我抓住了firefox 3.7a(请注意转到about:config并启用webgl)并在此网站上运行示例http://www.iquilezles.org/apps/shadertoy/

这些例子很酷然后它击中了我。它是如何运行的?代码正在运行不是吗?这是LLVM的实现吗?还有别的事吗?我是否可以运行自己的示例并执行类似基于命令行文本的游戏?

1 个答案:

答案 0 :(得分:6)

该网站上的着色器示例是用类似C语言编写的,称为GLSL,它是(Open / Web)GL着色器语言。当它们被执行时,JavaScript WebGL代码将着色器源发送到图形驱动程序的OpenGL函数,这些函数将其编译为直接在GPU上运行的机器代码。

BTW,仅限着色器的编码风格,虽然非常流行并且是编写酷炫演示的好方法,但并不是WebGL的完全典型用法。通常,着色器用于执行大量的重载数字运算,但构成场景的各种对象的设计和动画都是在JavaScript中完成的。 (在OpenGL中,您会看到GLSL与其他语言(如C或C ++)之间存在类似的分歧。)

如果您想了解有关编写WebGL的更多信息,您可能会比访问我的网站learningwebgl.com上的教程更糟糕。我经常链接到其他人的演示和教程,所以如果你不喜欢我的例子你应该很容易找到更好的东西: - )