When building a virtual museum one can rely heavily on already existing open source web libraries most of which were created for developing simulations and video games for the browser. They are well documented projects with an active developer base, building upon them instead of coming up with a custom solution can greatly reduce costs of establishing a new virtual museum.

Three.js

JavaScript 3D library

The aim of the project is to create an easy to use, lightweight, 3D library. The library provides <canvas>, <svg>, CSS3D and WebGL renderers.

Threejs is a widely used javascript library that simplifies working with the modern WebGL standard and its different implementations, some interesting examples:

https://paperplanes.world/ (mobile-only)
http://showroom.littleworkshop.fr/
https://www.gsmlondon.ac.uk/global-oil-map/

PixiJS

Create beautiful digital content with the fastest, most flexible 2D WebGL renderer.

PixiJS is a fast, simple and free library to build 2D web experiences, it works across all platforms and has a really good documentation page. Here are some examples:

https://doctor-who-time-vortex-360.pilots.bbcconnectedstudio.co.uk/
http://goplaces.theheinekencompany.com/en
https://www.rainforestfoods.com/experience/#!/slide-intro

 

WhitestormJS

whs.js is a framework for 3D web apps built with Three.js technology. It implements a core with component system and plugin support for fast development of 3D scene with physics.

Whitestorm is a more complete solution then the two mentioned above, it has built-in physics simulations for a more immersive experience. Example: http://plateaux.space/

 

A-Frame

Virtual Reality Made Simple: A-Frame handles the 3D and WebVR boilerplate required to get running across platforms including mobile, desktop, Vive, and Rift

A-Frame brings VR into the browser and enables you to setup a true Virtual experience on any device. They curate a lot of examples on their website here: https://aframe.io/