Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以将OpenGL渲染到WebGL上下文?_Opengl_Opengl Es 2.0_Webgl_Npapi - Fatal编程技术网

是否可以将OpenGL渲染到WebGL上下文?

是否可以将OpenGL渲染到WebGL上下文?,opengl,opengl-es-2.0,webgl,npapi,Opengl,Opengl Es 2.0,Webgl,Npapi,这是一个奇怪的问题,但是否可以将WebGL上下文传递给浏览器插件,并让插件像绘制OpenGL ES 2.0上下文一样绘制到浏览器插件 我听说这是可能的。根据浏览器(版本)的不同,这可能是通过模糊的、最低级别的修补黑客实现的;我不推荐 但是有一种方法可以从插件使用WebGL画布:WebGL上下文是DOM的一部分,因此完全可以通过DOM使用WebGL上下文,并且由于插件可以完全访问DOM,插件可以控制WebGL上下文。Java小程序也是如此,这是一件非常好的事情,因为它允许在Java小程序中使用Op

这是一个奇怪的问题,但是否可以将WebGL上下文传递给浏览器插件,并让插件像绘制OpenGL ES 2.0上下文一样绘制到浏览器插件

我听说这是可能的。

根据浏览器(版本)的不同,这可能是通过模糊的、最低级别的修补黑客实现的;我不推荐

但是有一种方法可以从插件使用WebGL画布:WebGL上下文是DOM的一部分,因此完全可以通过DOM使用WebGL上下文,并且由于插件可以完全访问DOM,插件可以控制WebGL上下文。Java小程序也是如此,这是一件非常好的事情,因为它允许在Java小程序中使用OpenGL,而无需网站访问者安装JoGL或允许不安全的访问。

取决于浏览器(版本),这可能是通过模糊的、最低级别的修补黑客实现的;我不推荐


但是有一种方法可以从插件使用WebGL画布:WebGL上下文是DOM的一部分,因此完全可以通过DOM使用WebGL上下文,并且由于插件可以完全访问DOM,插件可以控制WebGL上下文。Java小程序也是如此,这是一件非常好的事情,因为它允许在Java小程序中使用OpenGL,而无需网站访问者安装JoGL或允许不安全的访问。

我可以保证这在一般情况下不会起作用;在Mac上,至少你不能只在进程之间传递OpenGL上下文,现在Mac上的大多数主要浏览器都在与网页不同的进程中运行插件。

我可以保证这在一般情况下不会起作用;在Mac上,至少你不能只在进程之间传递OpenGL上下文,现在Mac上的大多数主要浏览器都在与网页不同的进程中运行插件。

Chrome通过Windows上的Direct3D实现WebGL。所以这是行不通的。不能保证任何WebGL上下文都是在桌面OpenGL实现之上实现的。

Chrome通过Windows上的Direct3D实现WebGL。所以这是行不通的。不能保证任何WebGL上下文都是在桌面OpenGL实现之上实现的。

我仍然不明白谷歌为什么会这样做。毕竟,必须翻译的不仅仅是API调用。它也是必须翻译的GLSL源代码,以及整个统一的顶点属性语义和其他一些非平凡的东西。DirectX支持有时比OpenGL支持某些驱动程序要好。@echeese:虽然这是事实,我想说,谷歌在计算机行业有着举足轻重的地位,通过在OpenGL上创建Chrome/Windows WebGL,他们可以很容易地迫使图形供应商让他们的OpenGL驱动程序协同工作,只需不使用DirectX即可。好吧,谷歌的口号是“不要作恶”。但这并不意味着“做好人!”这对他们来说会很难协调。并非所有供应商都支持一些较旧的硬件,也并非所有用户都会更新其驱动程序。简单地说,对他们来说,最简单的事情就是在Windows上使用DirectX,这在某些配置上往往没有那么多问题。让浏览器崩溃来向图形供应商证明这一点是一件非常邪恶的事情。@echeese:坦白说,当人们报告我的一个程序出现“问题”时,那实际上是OpenGL驱动程序中的一个bug,然后我简单地告诉他们,这不是我程序中的bug,但是在OpenGL驱动程序中,他们应该向供应商投诉驱动程序的质量。我通常自己会报告一个bug,但让一个用户群做同样的事情会增加严重性。我仍然不明白谷歌为什么会这样做。毕竟,必须翻译的不仅仅是API调用。它也是必须翻译的GLSL源代码,以及整个统一的顶点属性语义和其他一些非平凡的东西。DirectX支持有时比OpenGL支持某些驱动程序要好。@echeese:虽然这是事实,我想说,谷歌在计算机行业有着举足轻重的地位,通过在OpenGL上创建Chrome/Windows WebGL,他们可以很容易地迫使图形供应商让他们的OpenGL驱动程序协同工作,只需不使用DirectX即可。好吧,谷歌的口号是“不要作恶”。但这并不意味着“做好人!”这对他们来说会很难协调。并非所有供应商都支持一些较旧的硬件,也并非所有用户都会更新其驱动程序。简单地说,对他们来说,最简单的事情就是在Windows上使用DirectX,这在某些配置上往往没有那么多问题。让浏览器崩溃来向图形供应商证明这一点是一件非常邪恶的事情。@echeese:坦白说,当人们报告我的一个程序出现“问题”时,那实际上是OpenGL驱动程序中的一个bug,然后我简单地告诉他们,这不是我程序中的bug,但是在OpenGL驱动程序中,他们应该向供应商投诉驱动程序的质量。我通常自己报告一个bug,但是让一个用户群做同样的事情会增加严重性。