Harzis commited on
Commit
359ce6d
·
verified ·
1 Parent(s): 04cb353

Upload 4 files

Browse files

Added second glb and dropdown to choose which to view

Files changed (5) hide show
  1. .gitattributes +2 -0
  2. .gitignore +2 -0
  3. index.html +239 -4
  4. nordkapp.glb +3 -0
  5. polarlys.glb +3 -0
.gitattributes CHANGED
@@ -34,3 +34,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  glbscene_50_All_maskbFalse_maskwFalse_camFalse_skyFalse_predDepthmap_and_Camera_Branch.glb filter=lfs diff=lfs merge=lfs -text
 
 
 
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  glbscene_50_All_maskbFalse_maskwFalse_camFalse_skyFalse_predDepthmap_and_Camera_Branch.glb filter=lfs diff=lfs merge=lfs -text
37
+ nordkapp.glb filter=lfs diff=lfs merge=lfs -text
38
+ polarlys.glb filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ .venv
2
+ Test-stuff
index.html CHANGED
@@ -1,13 +1,248 @@
1
- <<!DOCTYPE html>
2
  <html>
3
  <head>
4
  <script type="module" src="https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js"></script>
5
  <style>
6
- html, body { width: 100vw; height: 100vh; margin: 0; padding: 0; }
7
- model-viewer { width: 100vw; height: 100vh; display: block; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  </style>
9
  </head>
10
  <body>
11
- <model-viewer src="glbscene_50_All_maskbFalse_maskwFalse_camFalse_skyFalse_predDepthmap_and_Camera_Branch.glb" auto-rotate camera-controls></model-viewer>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  </body>
13
  </html>
 
1
+ <!DOCTYPE html>
2
  <html>
3
  <head>
4
  <script type="module" src="https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js"></script>
5
  <style>
6
+ html, body {
7
+ width: 100vw;
8
+ height: 100vh;
9
+ margin: 0;
10
+ padding: 0;
11
+ font-family: Arial, sans-serif;
12
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
13
+ }
14
+
15
+ .container {
16
+ width: 100vw;
17
+ height: 100vh;
18
+ display: flex;
19
+ flex-direction: column;
20
+ align-items: center;
21
+ justify-content: center;
22
+ }
23
+
24
+ .selector-panel {
25
+ background: rgba(255, 255, 255, 0.95);
26
+ padding: 2rem;
27
+ border-radius: 15px;
28
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
29
+ text-align: center;
30
+ backdrop-filter: blur(10px);
31
+ max-width: 500px;
32
+ margin: 20px;
33
+ }
34
+
35
+ .selector-panel h1 {
36
+ color: #333;
37
+ margin-bottom: 1.5rem;
38
+ font-size: 1.8rem;
39
+ }
40
+
41
+ .file-option {
42
+ display: block;
43
+ width: 100%;
44
+ padding: 1rem 1.5rem;
45
+ margin: 1rem 0;
46
+ background: linear-gradient(45deg, #4facfe 0%, #00f2fe 100%);
47
+ color: white;
48
+ border: none;
49
+ border-radius: 25px;
50
+ cursor: pointer;
51
+ font-size: 1.1rem;
52
+ font-weight: bold;
53
+ transition: all 0.3s ease;
54
+ text-decoration: none;
55
+ box-shadow: 0 4px 15px rgba(79, 172, 254, 0.4);
56
+ }
57
+
58
+ .file-option:hover {
59
+ transform: translateY(-2px);
60
+ box-shadow: 0 6px 20px rgba(79, 172, 254, 0.6);
61
+ }
62
+
63
+ .file-option:active {
64
+ transform: translateY(0);
65
+ }
66
+
67
+ .file-option.secondary {
68
+ background: linear-gradient(45deg, #fa709a 0%, #fee140 100%);
69
+ box-shadow: 0 4px 15px rgba(250, 112, 154, 0.4);
70
+ }
71
+
72
+ .file-option.secondary:hover {
73
+ box-shadow: 0 6px 20px rgba(250, 112, 154, 0.6);
74
+ }
75
+
76
+ model-viewer {
77
+ width: 100vw;
78
+ height: 100vh;
79
+ display: none;
80
+ }
81
+
82
+ model-viewer.active {
83
+ display: block;
84
+ }
85
+
86
+ .back-button {
87
+ position: fixed;
88
+ top: 20px;
89
+ left: 20px;
90
+ background: rgba(255, 255, 255, 0.9);
91
+ border: none;
92
+ padding: 10px 20px;
93
+ border-radius: 25px;
94
+ cursor: pointer;
95
+ font-weight: bold;
96
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
97
+ transition: all 0.3s ease;
98
+ z-index: 1000;
99
+ display: none;
100
+ align-items: center;
101
+ gap: 8px;
102
+ }
103
+
104
+ .back-button:hover {
105
+ background: white;
106
+ transform: translateY(-1px);
107
+ box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
108
+ }
109
+
110
+ .back-button.active {
111
+ display: flex;
112
+ }
113
+
114
+ .back-arrow {
115
+ display: inline-block;
116
+ width: 0;
117
+ height: 0;
118
+ border-top: 6px solid transparent;
119
+ border-bottom: 6px solid transparent;
120
+ border-right: 10px solid #333;
121
+ margin-right: 5px;
122
+ }
123
+
124
+ .file-description {
125
+ font-size: 0.9rem;
126
+ color: #666;
127
+ margin-top: 0.5rem;
128
+ }
129
+
130
+ .loading-overlay {
131
+ position: fixed;
132
+ top: 0;
133
+ left: 0;
134
+ width: 100vw;
135
+ height: 100vh;
136
+ background: rgba(0, 0, 0, 0.8);
137
+ display: none;
138
+ flex-direction: column;
139
+ align-items: center;
140
+ justify-content: center;
141
+ z-index: 2000;
142
+ color: white;
143
+ }
144
+
145
+ .loading-spinner {
146
+ width: 50px;
147
+ height: 50px;
148
+ border: 4px solid rgba(255, 255, 255, 0.3);
149
+ border-top: 4px solid white;
150
+ border-radius: 50%;
151
+ animation: spin 1s linear infinite;
152
+ margin-bottom: 20px;
153
+ }
154
+
155
+ .loading-text {
156
+ font-size: 1.2rem;
157
+ font-weight: bold;
158
+ }
159
+
160
+ @keyframes spin {
161
+ 0% { transform: rotate(0deg); }
162
+ 100% { transform: rotate(360deg); }
163
+ }
164
  </style>
165
  </head>
166
  <body>
167
+ <div class="container">
168
+ <div class="selector-panel" id="selector">
169
+ <h1>Choose a 3D Model to View</h1>
170
+ <button class="file-option" onclick="loadModel('nordkapp.glb')">
171
+ Nordkapp
172
+ <div class="file-description">Machine room</div>
173
+ </button>
174
+ <button class="file-option secondary" onclick="loadModel('polarlys.glb')">
175
+ Polarlys
176
+ <div class="file-description">Machine room</div>
177
+ </button>
178
+ </div>
179
+ </div>
180
+
181
+ <button class="back-button" id="backButton" onclick="showSelector()">
182
+ <span class="back-arrow"></span>
183
+ Back to Selection
184
+ </button>
185
+
186
+ <model-viewer id="modelViewer" auto-rotate camera-controls></model-viewer>
187
+
188
+ <div class="loading-overlay" id="loadingOverlay">
189
+ <div class="loading-spinner"></div>
190
+ <div class="loading-text">Loading 3D Model...</div>
191
+ </div>
192
+
193
+ <script>
194
+ function loadModel(filename) {
195
+ const modelViewer = document.getElementById('modelViewer');
196
+ const selector = document.getElementById('selector');
197
+ const backButton = document.getElementById('backButton');
198
+ const loadingOverlay = document.getElementById('loadingOverlay');
199
+
200
+ // Show loading overlay
201
+ loadingOverlay.style.display = 'flex';
202
+
203
+ // Hide selector and show model viewer
204
+ selector.style.display = 'none';
205
+ modelViewer.classList.add('active');
206
+ backButton.classList.add('active');
207
+
208
+ // Load the selected model
209
+ modelViewer.src = filename;
210
+
211
+ // Listen for load events
212
+ modelViewer.addEventListener('load', function() {
213
+ console.log('Model loaded successfully:', filename);
214
+ loadingOverlay.style.display = 'none';
215
+ }, { once: true });
216
+
217
+ modelViewer.addEventListener('error', function(event) {
218
+ console.error('Error loading model:', filename, event);
219
+ loadingOverlay.style.display = 'none';
220
+ alert('Error loading model: ' + filename + '\nPlease check if the file exists and is valid.');
221
+ }, { once: true });
222
+
223
+ // Timeout after 240 seconds
224
+ setTimeout(() => {
225
+ if (loadingOverlay.style.display !== 'none') {
226
+ console.warn('Model loading timeout:', filename);
227
+ loadingOverlay.style.display = 'none';
228
+ alert('Loading timeout. The model file might be too large or there might be a network issue.');
229
+ }
230
+ }, 240000);
231
+ }
232
+
233
+ function showSelector() {
234
+ const modelViewer = document.getElementById('modelViewer');
235
+ const selector = document.getElementById('selector');
236
+ const backButton = document.getElementById('backButton');
237
+
238
+ // Show selector and hide model viewer
239
+ selector.style.display = 'block';
240
+ modelViewer.classList.remove('active');
241
+ backButton.classList.remove('active');
242
+
243
+ // Clear the model source
244
+ modelViewer.src = '';
245
+ }
246
+ </script>
247
  </body>
248
  </html>
nordkapp.glb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5150b594c124f2b6380083bc5a5e5d82757168cd04c85519f97c460fbebf568b
3
+ size 62253048
polarlys.glb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:71bc70daebd445309990157a05fa2b52e3edfcb64a422eeec9f2cdf87bc92100
3
+ size 163142252