简单的直接媒体层可以使用WebGL吗?

我已经读过桌面OpenGL + SDL是一个很好的学习方式。 在查看WebGL时,我无法findSDL的Web版本。 在他们的网站上,我看到各种语言的绑定,但没有JavaScript。 似乎很明显,这给了我的问题“不”的答案,但我也遇到了代码剪辑,而Google似乎在做这件事。 不管缺less什么,我都不明白

当与OpenGL一起使用时,SDL负责打开一个窗口,创建一个opengl上下文,处理事件等。绘图部分是OpenGL的责任。

在浏览器中,您已经有了一个窗口,处理事件的方式以及获取上下文的方式,但在这种情况下,SDL并不会很有帮助。

尽管在JavaScript中模拟SDL API可能对那些熟悉它的人有所帮助,但对于webgl游戏我找不到任何东西。 如果您对使用JavaScript开发SDL应用程序感兴趣,则有node-sdl 。

文字的答案实际上是肯定的,因为Emscripten项目为编译C ++应用程序到Javascript在浏览器中运行提供了一个实现:“libc和stdlibc ++的支持非常好,SDL支持足以运行相当多的代码。对于OpenGL ES 2.0types的代码甚至还有其他一些types“,在https://github.com/kripken/emscripten/wiki/FAQ

然而,这仅仅对编译C / C ++编写的使用应用程序到浏览器的SDL非常有用,因为之前的答案中给出的所有原因,对于浏览器来说,根本不用JavaScript来开发。 只是logging的一个注释:)这就是允许Quake和Unreal等被编译为在浏览器中运行的webgl。

我认为SDL + WebGL不太可能是一个有用的组合。

SDL是C库,WebGL只能与Javascript一起使用。 尽管可以将C代码编译为Javascript,但是SDL所使用的底层库在Web浏览器内都不可用。

另外,抽象层次也有根本的不同:​​SDL最初被设想为一个小层,允许本地C程序以独立于操作系统的便捷方式访问Framebuffers。 这使得使用软件渲染的游戏更容易被写入。

另一方面,WebGL是用于将浏览器中的Javascript渲染成canvas的。 这已经是实现不可知的了。

如果你的目标是networking浏览器,那么你最好使用类似Three.js的东西(注意:不要认为这是一个建议)