GithubHelp home page GithubHelp logo

reyanshsolis / web-render-engine Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mikejernil/web-render-engine

0.0 0.0 1.0 10.08 MB

๐ŸงŠ A Web Render Engine for rendering Interactive scenes with any 3D Asset from GLB, Huge-scale Point clouds, 3D Textured Meshes to 3D Gaussian Splats โœจ

License: MIT License

JavaScript 4.27% TypeScript 80.27% CSS 11.87% HTML 3.59%

web-render-engine's Introduction

๐ŸงŠ Web Render Engine for 3D Assets - 3D Gaussian Splats & more! โœจ

Created by: Michael Jernil, 3D Graphics Engineer & Enthusiast (https://www.linkedin.com/in/michael-jernil/)

For Blog Post "Understanding 3D Gaussian Splatting โœจ via Render Engines"

Demo

showcase.mp4

Example Hosted Splat Url - https://huggingface.co/cakewalk/splat-data/resolve/main/nike.splat

Created w/ React + TypeScript + Vite using Libraries - React Three Fiber + Three.js + luma-web

DISCLAIMER: This Repo is currently a Work-In-Progess (at it's initial stages). More updates will be Coming soon!

Features โญ๏ธ

  • View any 3D Gaussian Splat(.splat) with URL
  • View glTF Assets
  • Gizmo transform controls & Base grid
  • Gizmo for Easy Navigation
  • Deployed Vercel App

Work in Progress ๐Ÿš€

  • View Huge-scale 3D Textured Meshes (3D Tiles) streamed from cloud (or) local storage
  • View Huge-scale Point Clouds (Potree) streamed from cloud (or) local storage
  • Enable Viewing of local/hosted glTF files
  • Support for setting up interactive 3D scenes with SPLAT, glTF & other types of 3D assets in the same space!
  • More Sample assets! ๐Ÿ—๏ธ
  • UI Enhancements ๐Ÿ˜‡

Render Engine - First Principles ๐ŸงŠ

Screenshot 2024-02-01 at 12 07 41 PM

3D Gaussian Splatting through Render Engine - First Principles โœจ

Screenshot 2024-02-01 at 12 16 41 PM

With the latest advancements in Computer Graphics, there is a new Pandora's box that has been opened called - '3D Gaussian Splatting'. It works on the concept that real world scenes could be efficiently represented as 3D Gaussian Splats (3DGS) - as an alternative to Traditional Mesh representation which involves - Mesh, Textures, Lighting etc.

This 3DGS representation has the primary advantage that huge real-world scenes which are otherwise generated by classic photogrammetry & complex to render using traditional computer graphics techniques can now be represented as 3D Gaussian Splats, which you can imagine as 3D paint strokes with a centered color and transparency values around the center, which also takes into account from where/how the scene is being viewed (aka the Camera). When multiple of these strokes are rendered with proper blending of alpha transparency from each splat, it can form a near realistic 3D image that can be viewed from any angle. ๐Ÿ”ฎ

Get Started ๐Ÿ“บ

Clone Repo

Use git clone <repo-link> to clone the repo to your PC

Install the Packages

Use npm i to install the necessary packages

Run the 3D Viewer

Use npm run dev to run the viewer in development mode

Viewer

Now you can see the Render Engine running on http://localhost:5173. You can navigate, interact & play around with the 3D Assets!

Follow ๐Ÿ‘ฅ

web-render-engine's People

Contributors

mikejernil avatar mjernil avatar

Forkers

unprojectai

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.