mirror of https://github.com/mosra/magnum.git
23 changed files with 276 additions and 96 deletions
@ -0,0 +1,51 @@ |
|||||||
|
body { |
||||||
|
margin: 0px; |
||||||
|
padding: 0px; |
||||||
|
font-family: sans-serif; |
||||||
|
background-color: #111111; |
||||||
|
color: #aaaaaa; |
||||||
|
} |
||||||
|
|
||||||
|
h1 { |
||||||
|
text-align: center; |
||||||
|
font-size: 20px; |
||||||
|
} |
||||||
|
|
||||||
|
#listener { |
||||||
|
border-style: solid; |
||||||
|
border-color: #333333; |
||||||
|
border-width: 1px; |
||||||
|
padding: 1px; |
||||||
|
width: 640px; |
||||||
|
height: 480px; |
||||||
|
margin-left: auto; |
||||||
|
margin-right: auto; |
||||||
|
margin-top: 20px; |
||||||
|
margin-bottom: 20px; |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
|
||||||
|
#module { |
||||||
|
width: 640px; |
||||||
|
height: 480px; |
||||||
|
z-index: 10; |
||||||
|
} |
||||||
|
|
||||||
|
#status { |
||||||
|
position: absolute; |
||||||
|
width: 640px; |
||||||
|
text-align: center; |
||||||
|
top: 200px; |
||||||
|
font-size: 30px; |
||||||
|
font-weight: bold; |
||||||
|
z-index: 9; |
||||||
|
} |
||||||
|
|
||||||
|
#statusDescription { |
||||||
|
position: absolute; |
||||||
|
width: 640px; |
||||||
|
text-align: center; |
||||||
|
top: 250px; |
||||||
|
font-size: 15px; |
||||||
|
z-index: 9; |
||||||
|
} |
||||||
@ -0,0 +1,43 @@ |
|||||||
|
function setStatus(message) { |
||||||
|
var status = document.getElementById('status'); |
||||||
|
if(status) status.innerHTML = message; |
||||||
|
} |
||||||
|
|
||||||
|
function setStatusDescription(message) { |
||||||
|
var statusDescription = document.getElementById('statusDescription'); |
||||||
|
if(statusDescription) statusDescription.innerHTML = message; |
||||||
|
} |
||||||
|
|
||||||
|
var listener = document.getElementById('listener'); |
||||||
|
|
||||||
|
listener.addEventListener('loadstart', function() { |
||||||
|
setStatus('Loading...'); |
||||||
|
}, true); |
||||||
|
|
||||||
|
listener.addEventListener('progress', function(event) { |
||||||
|
setStatus('Downloading...'); |
||||||
|
|
||||||
|
/* Show progress */ |
||||||
|
if(event.lengthComputable && event.total > 0) |
||||||
|
setStatusDescription(Math.round(event.loaded*100/event.total) + '% of ' |
||||||
|
+ Math.round(event.total/1024) + ' kB'); |
||||||
|
|
||||||
|
/* Unknown total size */ |
||||||
|
else setStatusDescription(Math.round(event.loaded/1024) + ' kB'); |
||||||
|
|
||||||
|
}, true); |
||||||
|
|
||||||
|
listener.addEventListener('error', function() { |
||||||
|
setStatus('Loading failed'); |
||||||
|
setStatusDescription(document.getElementById('module').lastError + '<br />Check JavaScript console for more information.'); |
||||||
|
}, true); |
||||||
|
|
||||||
|
listener.addEventListener('abort', function() { |
||||||
|
setStatus('Loading aborted'); |
||||||
|
setStatusDescription(''); |
||||||
|
}, true); |
||||||
|
|
||||||
|
listener.addEventListener('load', function() { |
||||||
|
setStatus(''); |
||||||
|
setStatusDescription(''); |
||||||
|
}, true); |
||||||
@ -0,0 +1,36 @@ |
|||||||
|
/* |
||||||
|
This file is part of Magnum. |
||||||
|
|
||||||
|
Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš <mosra@centrum.cz> |
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a |
||||||
|
copy of this software and associated documentation files (the "Software"), |
||||||
|
to deal in the Software without restriction, including without limitation |
||||||
|
the rights to use, copy, modify, merge, publish, distribute, sublicense, |
||||||
|
and/or sell copies of the Software, and to permit persons to whom the |
||||||
|
Software is furnished to do so, subject to the following conditions: |
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included |
||||||
|
in all copies or substantial portions of the Software. |
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
||||||
|
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
||||||
|
DEALINGS IN THE SOFTWARE. |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef NEW_GLSL |
||||||
|
attribute lowp vec4 position; |
||||||
|
#endif |
||||||
|
|
||||||
|
void fullScreenTriangle() { |
||||||
|
#ifdef NEW_GLSL |
||||||
|
gl_Position = vec4((gl_VertexID == 2) ? 3.0 : -1.0, |
||||||
|
(gl_VertexID == 1) ? -3.0 : 1.0, 0.0, 1.0); |
||||||
|
#else |
||||||
|
gl_Position = position; |
||||||
|
#endif |
||||||
|
} |
||||||
Loading…
Reference in new issue