什么是最接近完整的原生图书馆到three.js?

时间:2014-01-27 09:01:02

标签: c++ opengl graphics three.js

我正在寻找最好的本机库,它的结构和简单性与three.js类似,但也可以扩展到支持glsl着色器。

要求:

  • 开源或有关可能的扩展/增强的文档
  • 允许商业衍生产品/使用
  • 可以包装在物理库中,也可以轻松地与物理库配对。
  • 足够快以支持现代游戏图形。
  • 基于OpenGL或Mantle。 (我不想被窗户困住。)
  • Windows支持
  • 支持类似于three.js本地/世界坐标系的系统。
  • 支持进行碰撞检测的光线投射。

巨额奖金:

  • 支持Linux和OSX以及Windows。

我正在寻找与Tri.js最接近的匹配,这是用C ++编写的,类似于three.cpp但已完成功能并且β/ alpha状态较少。

2 个答案:

答案 0 :(得分:1)

Threejs实际上支持glsl着色器。您可以使用THREE.ShaderMaterial类创建自己的着色器,然后将vertexShader和fragmentShader传递给它。

另一种选择是直接在WebGL中编程。 ThreeJS建立在WebGL之上。我决定使用ThreeJS的唯一原因是为了避免编写glsl着色器,因为WebGL没有材料并强迫你编写自己的glsl着色器,所以如果这就是你想要的,你可以直接去WebGL。 WebGL比Threejs更低级。

如果您不喜欢javascript,那么您可以使用Java中的JogAmp's Ardor3D。它是一个3D场景渲染器,就像Threejs一样,但是在Java中。

以上所有选项都具有超快的游戏品质渲染性能。

答案 1 :(得分:1)

你试过Magnum吗?

http://mosra.cz/blog/download-magnum.php

支持的平台

图形API:

OpenGL 2.1 through 4.4, core profile functionality and modern extensions
OpenGL ES 2.0, 3.0 and extensions to match desktop OpenGL functionality
WebGL 1.0 and extensions to match desktop OpenGL functionality

平台:

Linux and embedded Linux (natively using GLX/EGL and Xlib or through GLUT or SDL2 toolkit)
Windows (through GLUT or SDL2 toolkit)
OS X (through SDL2 toolkit, thanks to Miguel Martin)
Google Chrome (through Native Client, both newlib and glibc toolchains are supported)
HTML5/JavaScript (through Emscripten)