Skip to content

skokovin/putout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ship web viewer

Shipyard is a kind of chaos. Web viewer is attempt to direct all from one point. No install, no files, no versions just click the link and see.

Untitled video - Made with Clipchamp

Intro

When building a ship or something large, there’s typically a 3D model with attributes. Usually, these models can take up a lot of gigabytes. Is there a way to transfer the model over the network and display it in a browser? As far as I know, Chrome can address up to 16GB per tab, also need a way to package a mesh data. This model of a 120 meter vessel takes up about 6GB of memory, packed into 500 MB.

GUI

Basic Tools

Rust - philosophy to do it right.
WGPU - The brilliant cross-platform, safe, pure-Rust graphics API.
WINIT - for window handling.
wasm-pack - to move all to WebAssembly.
Angular - to stay on static typing ([ShipUI project] (https://github.com/skokovin/shipui))

Demos

Video instruction YouTube.
200mb ship.
500mb ship.

Features

  • Hide/Selct
  • 6 sliders
  • Measuring
  • ID for DB requests
  • Transparency
  • Reset center of rotation
  • Orbit/FPS cameras
  • Primitive Snap

Acknowledgements

Comments

At the first for interactivity I used AABB and ray tracing, but found better technic for this purpose - render to buffer. After each camera transformation special pipeline takes a snapshot, then algorithm analyzed area under mose cursor. Special pipeline use color and alfa chanels for pass back coords and id.

Some logics of hide/select moved to shaders.

Run Locally

It can start on PC without UI. Press F2 to start loading process.

Disclaimer

It is experemental and not finished yet.

License

All Reports in this Repository are licensed by Contributors under the W3C Software and Document License.

Contributions to Specifications are made under the W3C CLA.

Contributions to Test Suites are made under the W3C 3-clause BSD License

Contributions to Software are made under the GPU for the Web 3-Clause BSD License

Contacts

s.kokovin@gmail.com

Releases

No releases published

Packages

No packages published