Какова самая близкая полная нативная библиотека к three.js?

Я ищу лучшую нативную библиотеку, которая похожа на three.js по своей структуре и простоте, но также достаточно расширяема для поддержки шейдеров glsl.

Требования:

  • Открытый исходный код или очень хорошо документировано для возможного расширения / улучшения
  • Позволяет коммерческие производные / использование
  • Может быть упакован в физическую библиотеку или легко соединен с ней.
  • Достаточно быстро, чтобы поддерживать современную игровую графику.
  • OpenGL или Mantle на основе. (Я не хочу застрять в окнах.)
  • Поддержка Windows
  • Поддерживает систему, аналогичную локальной / мировой системе координат three.js.
  • Raycasting поддержка для обнаружения столкновений.

Огромный бонус:

  • Поддерживает Linux и OSX, а также Windows.

Я ищу наиболее близкое соответствие Three.js, написанное на C ++, похожее на three.cpp но имеет законченную функциональность и менее бета / альфа-статус.

3

Решение

Ты пробовал Магнум?

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)
1

Другие решения

Threejs на самом деле поддерживает шейдеры GLSL. Ты можешь использовать THREE.ShaderMaterial класс, чтобы создать свой собственный шейдер, а затем передать ему vertexShader и фрагментShader.

Другой вариант — программировать прямо в WebGL. ThreeJS построен поверх WebGL. Единственная причина, по которой я решил использовать ThreeJS, состояла в том, чтобы избегать написания шейдеров glsl, поскольку в WebGL нет материалов и вынуждает вас писать свои собственные шейдеры glsl, поэтому, если вы этого хотите, вы можете перейти непосредственно в WebGL. WebGL — это более низкий уровень, чем Threejs.

Если вам не нравится JavaScript, то вы можете использовать JogAmp’s Ardor3D который находится на Java. Это 3D рендеринг сценографа, как в Threejs, но в Java.

Все вышеперечисленные параметры имеют супер быструю производительность рендеринга качества игры.

1

По вопросам рекламы [email protected]