README.md 2.35 KB
Newer Older
1
Purpose of this code:
2

3
4
5
6
7
	The NOMADVR application can be used to visualize in virtual reality
	different materials science datasets provided by NOMAD or final users.
	Multiple platforms are supported by this code.
	
Context:
8

9
10
11
12
	NOMADVR is provided in the context of the NOMAD Center of Excellence.
	Datasets from the Encyclopedia and Archive are supported by NOMADVR.

Requirements:
13

14
	-Supported virtual reality hardware: HTC Vive or Oculus Rift, GearVR,
15
16
		Google Cardboard for Android or IOS, or the LRZ CAVE 
		environment.
17
18

Usage Instructions:
19

20
21
	See https://www.nomad-coe.eu/the-project/graphics/VR-prototype
		
22
Subdirectories:
23

24
25
	OpenVR: Demos for HTC Vive.
	OculusMobile: Demos for GearVR.
26
	GoogleCardboardAndroid: Demos for Google Cardboard (android)
27
28
29
	GoogleCardboardIOS: Demo for Google Cardboard (IOS)
	GoogleCardboard: Common files between Google Cardboard for Android
		and for IOS
30
	CAVE: Demos for LRZ CAVE-like environment (linux)
31
32
33

	NOMADGearVRChooser: Android app to select the dataset for GearVR, which
		calls the OculusMobile app as a subroutine.
34
	
35
	NOMADVRLib: Shared code between HTC Vive, GearVR and Google Cardboard demos related to NOMAD.
36
	libs: Other (external) supporting libs shared by HTC Vive, GearVR, Cardboard and CAVE demos
37
38
39
40
		happyhttp (Zlib license)
		LodePNG (Zlib license)
		rapidjson (MIT license)
		rply (BSD 3-clause license)
41
	
42
43
44
45
	webserver: 
		htdocs: Web pages containing the VR software and documentation.
		cgi-bin: cgi scripts to create suitable config files from a material number.
	
46
47
48
49
50
51
52
53
54
		Docker container running the VR webservices
		# install docker
		# add your NOMAD username and password in webserver/pass
		# build container
			sudo docker build -t nomadvr .
		# run container
			sudo docker run -d -p 8080:8080 nomadvr
		# Test e.g. with you.rip.add.res:8080/cgi-bin/NOMAD/material?109702

55
56
57
58
	RemoteVisualization: NOMAD2xyz app 
		Transforms a json from encyclopedia or archive into an XYZ file	
		Useful for the remote visualization infrastructure
	
59
60
61
62
63
64
65
	proxy: Back-end support for multiuser support in OpenVR NOMAD VR. 
		NOMADVRproxy listens to connections and forwards user actions to rest of
			users.
			
		MD-Driver/SimpleMove and MD-Driver/PeriodicTable: see MD-Driver/Readme
			Support for atom drag-and-drop functionality in OpenVR NOMAD VR.
	
66

67
68
More platforms will be added in the future.

69
70
The code is distributed under the Apache 2.0 License (See LICENSE file).