GithubHelp home page GithubHelp logo

123wj2003 / substrata Goto Github PK

View Code? Open in Web Editor NEW

This project forked from glaretechnologies/substrata

0.0 0.0 0.0 71.29 MB

Metaverse client and server written in C++. Runs on Windows, Mac, Linux and Web. Custom 3D engine, networked physics and Lua scripting

Home Page: https://substrata.info/

License: MIT License

JavaScript 0.05% Ruby 0.42% C++ 65.71% Perl 0.06% C 22.61% Fortran 0.66% Assembly 0.24% CSS 0.12% HTML 0.02% NSIS 0.01% CMake 1.07% GLSL 0.02% POV-Ray SDL 8.91% M4 0.11%

substrata's Introduction

Substrata is an open-source metaverse, developed by Glare Technologies Limited, see https://substrata.info/.

The Substrata client and server are native apps written in C++, that support Windows, Mac and Linux. There is also an in-development web-client.

You can build the Substrata client or Substrata server from this repository.

main screenshot

Usage examples

You can always visit the main Substrata world at substrata.info - this is the server that we run, and the main gathering point for Substrata users. However you are also welcome to run your own server! You can do this using by building the server from this repository, or using one of the prebuilt binaries.

3D model Visualisation

Substrata is perfect for multi-user visualisation of 3d models. Walk around a digital twin model with your team, hosted on an on-premises server!

Education

Because Substrata is open source, you can build and run your own world for students without paying any licensing fees.

Get Involved

We welcome contributions from people!

Chat about Substrata on the Substrata discord here: https://discord.gg/3Ds9cxyEnZ

Feel free to drop a message on the discord if you are having trouble building Substrata, or have any questions about it.

Building

See docs/building.txt for build instructions.

Features

High performance, physically-based rendering engine

Substrata uses the Glare engine (https://github.com/glaretechnologies/glare-core), which produces realistic graphics while rendering the entire Substrata world - e.g. over 12000 objects with user-generated content at 200 fps.

  • The Glare engine is designed for metaverses, in particular large numbers of varied objects.
  • Automatic level of detail generation
  • Streaming loading and unloading of objects without hitches as the player moves around
  • Physically-based rendering
  • Highly realistic sun/sky/daylight system derived from a multiple scattering ray-tracing atmospheric simulation in https://www.indigorenderer.com/
  • Skeletal animation system with procedural animations and animation retargetting for sharing animation data amongst avatars with varied sizes
  • Runtime texture compression for making best use of GPU memory
  • GLTF, OBJ import, plus supports many image formats
  • Terrain and water rendering
  • Particle system for rendering dust, water splashes, smoke etc.

boat

Networked physics simulation

We have integrated the Jolt physics engine (https://github.com/jrouwe/JoltPhysics), and have implemented a networked physics simulation on top of it. What that means is that multiple players can interact with objects in a world, drive vehicles, push objects etc. in a realistic way.

Physics-based vehicles: (Image links are to videos on YouTube)

Networked physics:

Handling lots of interactive objects:

Spatial Audio and Voice Chat

Substrata has built-in spatial audio and voice chat, without using any third-party services or servers.

In-world building

The substrata client has controls for creating and editing objects, as well as for editing voxels

You can add objects to the world from your local machine, and they will be automatically uploaded to the server and be visible to other users.

Get help

Chat about Substrata on the Substrata discord here: https://discord.gg/3Ds9cxyEnZ

Feel free to drop a message on the discord if you are having trouble building Substrata, or have any questions about it.

Alternatively, feel free to create a github issue.

substrata's People

Contributors

ono-sendai avatar otgaard avatar 852kerfunkle avatar jerryberry12 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.