Rhodonite is a WebGL library written in TypeScript.
npm install rhodoniteRhodonite is a Web3D(WebGL2/WebGPU) library written in TypeScript.
https://librn.com/
* Component-oriented
* Blittable Memory Architecture (Original GPU data storage system with floating point texture)
* Physically-based Rendering with Image-based Lighting
* Node-based Shader System
* Node-based Raymarching System (with integration to polygon rendering)
* Support loading the following 3D model files: glTF2, glTF1, VRM
* Support Draco compression, Basis Universal and KTX2, etc
* Support Effekseer for particle system
* WebGPU Support
* WebXR(VR) Support (in both WebGL & WebGPU)
With the Blittable Memory Architecture, Rhodonite stores almost all of its data in a large pre-allocated ArrayBuffer. Data storage for matrix or vector classes in Rhodonite's component classes and materials are assigned from the memory pool, which means most of the data are on that memory pool, transferred to the GPU every frame as a floating-point texture.
This architecture allows all shaders always to access a vast amount of data.
For example, Rhodonite can handle and blend all morph targets (38 targets) of VRM characters simultaneously in the shader.
You can try our library via https://editor.librn.com/.
This viewer supports glTF/VRM/efkpkg(Effekseer package) files Drag & Drop to display.
(Drag & Drop all files if glTF data consists of multiple files.)
Poly model
!poly
Advanced PBR
!PBR
VRM avatar model and VRMA animation
!VRM
Shader Node Editor
!ShaderNodeEditor
Raymarching Node Editor (with integration to polygon rendering)
!RaymarchingNodeShader
WebXR(VR) with multiview extension
!WebXR_VR
Google Chrome, Firefox, Safari, Microsoft Edge (chromium-based), and other modern browsers are supported.
IE11 is not supported.
You can install Rhodonite easily.
``bash`
$ npm install rhodonite
If you get an error like "webxr-input-profiles not found" when building a project using Rhodonite, Try "npm install" or "yarn install" again.
`html`
There are two package versions of Rhodonite: ESModule and IIFE.
#### Using ESModule package
You don't need any bundler.
`html