Giter Site home page Giter Site logo

phoenixbf / aton Goto Github PK

View Code? Open in Web Editor NEW
71.0 10.0 7.0 396.28 MB

ATON framework is based on modern web standards and technologies to create interactive, liquid and collaborative Web3D/WebXR apps targeting Cultural Heritage field. It adopts a “develop once, deploy everywhere” approach, providing building-blocks and a modular architecture

License: GNU General Public License v3.0

HTML 27.24% CSS 4.17% JavaScript 67.93% Batchfile 0.10% Dockerfile 0.04% Shell 0.01% EJS 0.52%
javascript web3d webxr 3d virtual-reality nodejs head-mounted-display html5 infrastructures threejs digital-heritage heritage collaborative collaborative-framework vr raspberry-pi raspberrypi cultural-heritage heritage-science

aton's Introduction

ATON 3.0 framework

Official ATON website | Telegram open-group | Live examples | Deploy

Header

ATON framework - designed, developed and coordinated by B. Fanini (CNR ISPC, ex ITABC) - allows to create scalable, collaborative and cross-device 3D Web-Apps (mobile, desktop and immersive VR) targeting Cultural Heritage exploiting modern web standards, without any installation required for final users. ATON offers:

  • Responsive, adaptive and scalable presentation of interactive 3D content (mobile, desktop PCs, museum kiosks, immersive VR devices)
  • Real-time collaborative multi-user features (VRoadcast module)
  • Immersive VR (WebXR) for 3-DOF and 6-DOF devices
  • Multi-resolution for massive 3D datasets through OGC standards
  • Multi-touch interfaces
  • Spatial UI (3D labels, buttons, etc...) targeting immersive XR sessions
  • Built-in navigation modes, including orbit, first-person, device-orientation and immersive VR
  • 3D semantic annotations including free-form volumetric shapes
  • Fast, real-time 3D queries on visible and semantic graphs and UI nodes
  • Built-in front-end ("Hathor") with WYSIWYG rich HTML5 content editor
  • Built-in profiler (automatically adapt 3D presentation to different devices)
  • Built-in services to access 3D collections and scenes for multiple users via authentication
  • Built-in export of 3D scenes/models using different formats (gltf/glb, obj, usd,...) right from the browser
  • Event-driven API for fully customizable events (local and synchronous collaborative contexts)
  • 360 panoramas and virtual tours
  • Physically-Based Rendering (PBR) for advanced materials and custom shaders for complex representations, including latest extensions
  • Advanced lighting, including IBL and multiple Light Probes
  • Camera/POV transitions, viewpoint handling and custom navigation constraints
  • Complex scene-graph manipulation, hierarchical culling, instancing, composition and cascading transformations
  • Scalable deployment, from low-cost SBCs (e.g. Raspberry Pi) to large infrastructures
  • Multi-temporal (4D) visualization
  • Easily extensible through plug&play apps architecture and plugins

The framework also provides a built-in front-end and services based on Node.js for deployment on servers, infrastructures or single-board computers; real-time collaborative multi-user features and support for remote/immersive visual analytics.

Getting started (quick)

  1. Install Node.js for your operating system.

  2. Install (or update) required modules from main ATON folder by typing:

npm install
  1. Deploy ATON main service on local machine simply using:
npm start
  1. Open http://localhost:8080 on your browser.

Citation

You can cite ATON framework using this open-access publication with the following BibTeX entry:

@article{fanini2021aton,
  title={ATON: An Open-Source Framework for Creating Immersive, Collaborative and Liquid Web-Apps for Cultural Heritage},
  author={Fanini, Bruno and Ferdani, Daniele and Demetrescu, Emanuel and Berto, Simone and d’Annibale, Enzo},
  journal={Applied Sciences},
  volume={11},
  number={22},
  pages={11062},
  year={2021},
  publisher={Multidisciplinary Digital Publishing Institute}
}

or - as software - using the Zenodo DOI DOI with the following BibTeX entry:

@software{aton2020_4618387,
  author       = {Bruno Fanini},
  title        = {ATON framework},
  year         = 2020,
  publisher    = {Zenodo},
  version      = {3.0},
  doi          = {10.5281/zenodo.4618387},
  url          = {https://doi.org/10.5281/zenodo.4618387}
}

Publications

Main bibliographical reference (open access) of the framework is:

Fanini, B., Ferdani, D., Demetrescu, E., Berto, S., & d’Annibale, E. (2021). ATON: An Open-Source Framework for Creating Immersive, Collaborative and Liquid Web-Apps for Cultural Heritage. Applied Sciences, 11(22), 11062.

You can find here a complete list of publications where ATON was employed in different national and international projects.

Contribute

You are more than welcome to contribute to the project by spotting bugs/issues and providing code or solutions through pull requests to fix or improve ATON functionalities (see TODO list below). Get in touch here on github, through the telegram open-group or through the other channels.

TODO list

  • Move and refactor 2D user interface routines from ATON.FE into ATON.UI component (2D labels, popup system, input search, etc.)
  • Rewrite Hathor UI elements using new routines from ATON.UI.*
  • Improve main landing page (public gallery), port to ejs and provide more customization
  • New REST API (v2)
  • Rewrite Shu using ejs
  • Improve Shu UI (e.g. new scene, galleries) using new routines from ATON.UI

aton's People

Contributors

dependabot[bot] avatar gitter-badger avatar nicospor avatar phoenixbf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aton's Issues

Deploy by a Flask webserver

We are building a website where we want to view 3D models in a variety of viewers, such as Smithsonian Voyager, Aton, and others.
The project is called Pure3D.

So how do I offer the ATON viewer to the browser, and how does that viewer interact with the server?
Currently we use a Flask webserver.

Are there docs about what data traffic between client and server ATON will be conducting?

Obviously, we cannot let ATON dictate the choice of webserver that we want to use for Pure3D.

Aton on external Framework (Angular)

i need to integrate aton in external webapp in Angular, and i have not found any library to integrate. What i see is that only chance is integrate directly with a tag Frame but i would need to have some control on the 3d scene.
The use would like similar to Open Layer Library and Angular which i can integrate and listen to some events coming from the map.
Is there any solution on that.
Thak you in advance

Video streaming

I'm trying to use video streaming, but it doesn't work. Other users don't receive it. (Audio streaming works)

EDIT: also screen streaming doesn't work

EDIT2: It seems that in ATON.photon.js the second parameter of _Photon.socket.on('UVIDEO') is empty

Configure ATON on a SSL LINUX server

I'm trying to install ATON on a LINUX (Ubuntu) machine. I'm using NGINX to manage traffic and SSL certificates.
I changed the routing configuration as follow:

location /ATON/ {
proxy_pass http://localhost:8080/;
}

location /ATONSSL/ {
proxy_pass https://localhost:8083/;
}
Unfortunatelu, there are other services already installed and active, for this reason I need to change the root directory of the ATON service. But when I configure ATON they continue to give me the following error (from console):

(GET https://my-server/api/landing 404 ( Not Found))

Could you tell me where to change this configuration?

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.