Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the closest complete native library to three.js?

I am looking for the best native library that is similar to three.js in its structure and simplicity but is also extensible enough to support glsl shaders.

Requirements:

  • Open Source or very well documented for possible extension/enhancement
  • Allows commercial derivatives/use
  • Can either be wrapped in a physics library or easily paired with one.
  • Fast enough to support modern game graphics.
  • OpenGL or Mantle based. (I don't want to be stuck with windows.)
  • Windows support
  • Supports a system similar to three.js local/world coordinate system.
  • Raycasting support for doing collision detection.

Huge Bonus:

  • Supports Linux and OSX as well as windows.

I am looking for the closest match to Three.js as possible that is written in C++ similar to three.cpp but has completed functionality and is less beta/alpha status.

like image 683
Tyler Scott Avatar asked Jan 27 '14 09:01

Tyler Scott


People also ask

Is WebGL the same as Threejs?

Three. js is a JavaScript library under MIT license that works right above WebGL. The library's goal is to drastically simplify the process of handling all of what we just stated. You'll have an animated 3D scene in just a few code lines, and you won't have to provide shaders and matrices.

Is Threejs a library?

Three. js is a cross-browser JavaScript library and application programming interface (API) used to create and display animated 3D computer graphics in a web browser using WebGL.

How much time does it take to learn Threejs?

In 45 hours of video, this course will teach you the secrets to create the coolest WebGL websites with Three. js whether you are a beginner or an advanced developer. Joining Three. js Journey will give you lifetime access to a complete and easy to access course with 39 lessons.

Can I use Threejs with Angular?

Digital Infoways can integrate three. js in Angular with their different proven strategies and techniques.


2 Answers

Have you tried Magnum ?

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

Supported platforms

Graphics APIs:

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

Platforms:

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)
like image 133
Prabindh Avatar answered Nov 15 '22 00:11

Prabindh


Threejs actually does support glsl shaders. You can use THREE.ShaderMaterial class to create your own shader then pass your vertexShader and fragmentShader to it.

Another option is to program directly in WebGL. ThreeJS is built on top of WebGL. The only reason why I decided to use ThreeJS was to avoid writing glsl shaders since WebGL doesn't have materials and forces you to write your own glsl shaders, so if that's what you want you could go directly to WebGL. WebGL is more low level than Threejs.

If you don't like javascript, then you could use JogAmp's Ardor3D which is in Java. It's a 3D scenegraph renderer just like Threejs but in Java.

All of the above options have super fast game quality rendering performance.

like image 36
Saeid Nourian Avatar answered Nov 15 '22 01:11

Saeid Nourian