浏览器上的交互式3D可视化

时间:2014-12-06 12:22:03

标签: html5 three.js webgl java-3d

我正在尝试创建一个网站,用户可以在浏览器中查看3D环境中的房间装饰并与之互动。现在,如果可以在现有的开源工作的基础上进行构建,我不希望从头开始创建任何东西。到目前为止,我的研究表明:

  1. 我可以构建的最成熟的开源项目,它允许我在浏览器上显示3D场景并让用户与它们交互,使用Java3D进行浏览器视图,封装在java applet(sweethome3Dviewer)中。
  2. Java 3D本身似乎已经不再流行,大多数人推荐使用HTML5 + WebGL(不幸的是,我找不到任何已经开发的解决方案)。
  3. 所以这是我对这个论坛的问题: 1)使用基于Java3D的方法有任何严重的缺点吗? 我在谈论这里的任何缺点,例如:"它太慢&#34 ;; "它不稳定&#34 ;; "受并发用户数量的限制"等。 2)如果不是基于Java3D的那个,你会建议我开始构建和构建吗?

    请注意我不打算重新发明轮子!

1 个答案:

答案 0 :(得分:1)

是的,今天使用Java小程序有一个严重的缺点:它们很可能根本不起作用。

最大的问题是Java安全系统,它旨在阻止applet等程序访问您计算机的其他部分(修改文件,运行其他未经过安装的程序等),这些系统具有安全漏洞的历史即可。由于这一历史,人们普遍认为,允许Java applet 根本不是当前可接受的安全策略。因此,许多浏览器都会省略Java插件或默认禁用它。

还有一些浏览器根本就没有Java浏览器插件,例如Android和iOS设备上的插件。除了安全风险之外,还有一个问题是,随着网络内容的发展,Java是“重量级”的 - 对于便携式设备而言,它可能被视为浪费有限的资源。

因此,使用Java小程序不是一个好的选择:您的小程序永远不会对许多用户起作用,而它确实起作用的小程序会带来不必要的安全风险。


另一方面,WebGL“只是”另一种基于JavaScript的API,它只能处理图形,而不是许多其他必须由“安全管理器”元素关闭的东西。 WebGL存在固有的风险(GPU驱动程序不是最安全的东西),但在目前的情况下,如果发现问题,WebGL不太可能被简单地关闭而不是被修复。