Coder Social home page Coder Social logo

zhengzan / splatapult Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hyperlogic/splatapult

0.0 0.0 0.0 4.9 MB

A 3d gaussian splatting renderer in C++ and OpenGL

License: MIT License

C++ 90.10% Python 0.46% C 0.43% Java 0.49% Makefile 0.53% CMake 0.88% GLSL 6.99% Batchfile 0.12%

splatapult's Introduction

Splatapult

Splatapult logo

Splatapult Build

A program to display 3d gaussian splats files

splatapult [OPTIONS] ply_filename

Options

-v, --openxr launch app in vr mode, using openxr runtime

-f, --fullscreen launch window in fullscreen

-d, --debug enable debug logging

-h, --help show help

Desktop Controls

  • wasd - move
  • q, e - roll
  • t, g - up, down
  • arrow keys - look
  • right mouse button - hold down for mouse look.
  • gamepad - if present, right stick to rotate, left stick to move, bumpers to roll
  • c - toggle between initial SfM point cloud (if present) and gaussian splats.
  • n - jump to next camera
  • p - jump to previous camera
  • return - save the current position and orientation of the world into a vr.json file.

VR Controls

  • c - toggle between initial SfM point cloud (if present) and gaussian splats.
  • left stick - move
  • right stick - snap turn
  • f - show hide floor carpet.
  • single grab - translate the world.
  • double grab - rotate and translate the world.
  • triple grab - (double grab while trigger is depressed) scale, rotate and translate the world.
  • return - save the current position and orientation/scale of the world into a vr.json file.

Config Files

If a "_vr.json" file is found, it will be used to determine the proper starting position, scale and orienation for vr mode. You can create your own _vr.json file by manipulating the scene via grab in vr mode, then press return to save.

Splatapult supports the same dir structure that Gaussian Splatting code will output. Which is as follows:

dir/
    point_cloud/
        iteration_30000/
            point_cloud.py
            point_cloud_vr.json
    input.ply
    cameras.json

input.ply contains the point cloud and cameras.json will contain the camera orientations from the SfM stage.

If the "cameras.json" file is found in the same dir as the ply_filename or it's parent dirs, it will be loaded. The 'n' and 'p' keys can then be used to cycle thru the camera viewpoints.

It will also support files downloaded from lumalabs.ai, but in this case there will be no point clouds or cameras.

dir/
    mycapture.ply
    mycapture_vr.json

splatapult's People

Contributors

hyperlogic avatar cedric-chedaleux avatar

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.