Skip to content
Extraits de code Groupes Projets
Valider 730740f1 rédigé par Table's avatar Table
Parcourir les fichiers

Ajout d'un visualiseur en WebGL

parent cee809fc
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Pipeline #
...@@ -30,12 +30,108 @@ ...@@ -30,12 +30,108 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-sm-4 col-md-2 col-md-offset-5"> <div id="subplayer" class="col-sm-4 col-md-2 col-md-offset-5">
<div id="player"></div> <div id="player"></div>
</div> </div>
</div> </div>
<script src="src/three.js"></script>
<script type="x-shader/x-vertex" id="vertex_shader">
varying float i;
uniform vec3 gravitySource0;
uniform vec3 gravitySource1;
uniform vec3 gravitySource2;
uniform vec3 gravitySource3;
uniform vec3 gravitySource4;
uniform vec3 gravitySource5;
uniform vec3 gravitySource6;
uniform vec3 gravitySource7;
uniform vec3 gravitySource8;
uniform float gravityStrength;
void main()
{
// a compléter
vec3 _normal = normal*mat3(modelMatrix);
vec4 _position4 = modelMatrix*vec4(position,1.0);
vec3 _position = _position4.xyz/_position4.w;
vec3 _g = gravitySource0-_position;
float _i = dot(normalize(_normal),normalize(_g));
vec3 d = _i*gravityStrength/(length(_g)*length(_g)) * _normal;
i = length(_i);
gl_Position = projectionMatrix*modelViewMatrix*vec4(position,1.0);
gl_Position += projectionMatrix*vec4(d, 1.0);
_g = gravitySource1-_position;
_i = dot(normalize(_normal),normalize(_g));
d = _i*gravityStrength/(length(_g)*length(_g)) * _normal;
i += length(_i);
gl_Position += projectionMatrix*vec4(d, 1.0);
_g = gravitySource2-_position;
_i = dot(normalize(_normal),normalize(_g));
d = _i*gravityStrength/(length(_g)*length(_g)) * _normal;
i += length(_i);
gl_Position += projectionMatrix*vec4(d, 1.0);
_g = gravitySource3-_position;
_i = dot(normalize(_normal),normalize(_g));
d = _i*gravityStrength/(length(_g)*length(_g)) * _normal;
i += length(_i);
gl_Position += projectionMatrix*vec4(d, 1.0);
_g = gravitySource4-_position;
_i = dot(normalize(_normal),normalize(_g));
d = _i*gravityStrength/(length(_g)*length(_g)) * _normal;
i += length(_i);
gl_Position += projectionMatrix*vec4(d, 1.0);
_g = gravitySource5-_position;
_i = dot(normalize(_normal),normalize(_g));
d = _i*gravityStrength/(length(_g)*length(_g)) * _normal;
i += length(_i);
gl_Position += projectionMatrix*vec4(d, 1.0);
_g = gravitySource6-_position;
_i = dot(normalize(_normal),normalize(_g));
d = _i*gravityStrength/(length(_g)*length(_g)) * _normal;
i += length(_i);
gl_Position += projectionMatrix*vec4(d, 1.0);
_g = gravitySource7-_position;
_i = dot(normalize(_normal),normalize(_g));
d = _i*gravityStrength/(length(_g)*length(_g)) * _normal;
i += length(_i);
gl_Position += projectionMatrix*vec4(d, 1.0);
_g = gravitySource8-_position;
_i = dot(normalize(_normal),normalize(_g));
d = _i*gravityStrength/(length(_g)*length(_g)) * _normal;
i += length(_i);
gl_Position += projectionMatrix*vec4(d, 1.0);
i = i/5.0;
}
</script>
<script type="x-shader/x-fragment" id="fragment_shader">
varying float i;
void main()
{
// a compl�ter
if(i < 0.33) {
gl_FragColor = vec4(0.0, i*3.0, 1.0, 1.0);
} else if (i < 0.67) {
gl_FragColor = vec4(i*3.0-1.0, 1.0, 2.0-i*3.0, 1.0);
} else {
gl_FragColor = vec4(1.0, 3.0-i*3.0, 0.0, 1.0);
}
}
</script>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="assets/app.bundle.js"></script> <script src="assets/app.bundle.js"></script>
<script src="assets/player.bundle.js"></script> <script src="assets/player.bundle.js"></script>
<script src="src/vizulisation.js"></script>
</body> </body>
</html> </html>
...@@ -1095,6 +1095,7 @@ ...@@ -1095,6 +1095,7 @@
"requires": { "requires": {
"anymatch": "1.3.2", "anymatch": "1.3.2",
"async-each": "1.0.1", "async-each": "1.0.1",
"fsevents": "1.1.3",
"glob-parent": "2.0.0", "glob-parent": "2.0.0",
"inherits": "2.0.3", "inherits": "2.0.3",
"is-binary-path": "1.0.1", "is-binary-path": "1.0.1",
...@@ -1893,6 +1894,922 @@ ...@@ -1893,6 +1894,922 @@
"for-in": "1.0.2" "for-in": "1.0.2"
} }
}, },
"foreach": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
"integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
"dev": true
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
"fsevents": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz",
"integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==",
"dev": true,
"optional": true,
"requires": {
"nan": "2.8.0",
"node-pre-gyp": "0.6.39"
},
"dependencies": {
"abbrev": {
"version": "1.1.0",
"bundled": true,
"dev": true,
"optional": true
},
"ajv": {
"version": "4.11.8",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"co": "4.6.0",
"json-stable-stringify": "1.0.1"
}
},
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
"dev": true
},
"aproba": {
"version": "1.1.1",
"bundled": true,
"dev": true,
"optional": true
},
"are-we-there-yet": {
"version": "1.1.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"delegates": "1.0.0",
"readable-stream": "2.2.9"
}
},
"asn1": {
"version": "0.2.3",
"bundled": true,
"dev": true,
"optional": true
},
"assert-plus": {
"version": "0.2.0",
"bundled": true,
"dev": true,
"optional": true
},
"asynckit": {
"version": "0.4.0",
"bundled": true,
"dev": true,
"optional": true
},
"aws-sign2": {
"version": "0.6.0",
"bundled": true,
"dev": true,
"optional": true
},
"aws4": {
"version": "1.6.0",
"bundled": true,
"dev": true,
"optional": true
},
"balanced-match": {
"version": "0.4.2",
"bundled": true,
"dev": true
},
"bcrypt-pbkdf": {
"version": "1.0.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"tweetnacl": "0.14.5"
}
},
"block-stream": {
"version": "0.0.9",
"bundled": true,
"dev": true,
"requires": {
"inherits": "2.0.3"
}
},
"boom": {
"version": "2.10.1",
"bundled": true,
"dev": true,
"requires": {
"hoek": "2.16.3"
}
},
"brace-expansion": {
"version": "1.1.7",
"bundled": true,
"dev": true,
"requires": {
"balanced-match": "0.4.2",
"concat-map": "0.0.1"
}
},
"buffer-shims": {
"version": "1.0.0",
"bundled": true,
"dev": true
},
"caseless": {
"version": "0.12.0",
"bundled": true,
"dev": true,
"optional": true
},
"co": {
"version": "4.6.0",
"bundled": true,
"dev": true,
"optional": true
},
"code-point-at": {
"version": "1.1.0",
"bundled": true,
"dev": true
},
"combined-stream": {
"version": "1.0.5",
"bundled": true,
"dev": true,
"requires": {
"delayed-stream": "1.0.0"
}
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
"dev": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
"dev": true
},
"core-util-is": {
"version": "1.0.2",
"bundled": true,
"dev": true
},
"cryptiles": {
"version": "2.0.5",
"bundled": true,
"dev": true,
"requires": {
"boom": "2.10.1"
}
},
"dashdash": {
"version": "1.14.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"assert-plus": "1.0.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true
}
}
},
"debug": {
"version": "2.6.8",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"ms": "2.0.0"
}
},
"deep-extend": {
"version": "0.4.2",
"bundled": true,
"dev": true,
"optional": true
},
"delayed-stream": {
"version": "1.0.0",
"bundled": true,
"dev": true
},
"delegates": {
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true
},
"detect-libc": {
"version": "1.0.2",
"bundled": true,
"dev": true,
"optional": true
},
"ecc-jsbn": {
"version": "0.1.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"jsbn": "0.1.1"
}
},
"extend": {
"version": "3.0.1",
"bundled": true,
"dev": true,
"optional": true
},
"extsprintf": {
"version": "1.0.2",
"bundled": true,
"dev": true
},
"forever-agent": {
"version": "0.6.1",
"bundled": true,
"dev": true,
"optional": true
},
"form-data": {
"version": "2.1.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"asynckit": "0.4.0",
"combined-stream": "1.0.5",
"mime-types": "2.1.15"
}
},
"fs.realpath": {
"version": "1.0.0",
"bundled": true,
"dev": true
},
"fstream": {
"version": "1.0.11",
"bundled": true,
"dev": true,
"requires": {
"graceful-fs": "4.1.11",
"inherits": "2.0.3",
"mkdirp": "0.5.1",
"rimraf": "2.6.1"
}
},
"fstream-ignore": {
"version": "1.0.5",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"fstream": "1.0.11",
"inherits": "2.0.3",
"minimatch": "3.0.4"
}
},
"gauge": {
"version": "2.7.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"aproba": "1.1.1",
"console-control-strings": "1.1.0",
"has-unicode": "2.0.1",
"object-assign": "4.1.1",
"signal-exit": "3.0.2",
"string-width": "1.0.2",
"strip-ansi": "3.0.1",
"wide-align": "1.1.2"
}
},
"getpass": {
"version": "0.1.7",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"assert-plus": "1.0.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true
}
}
},
"glob": {
"version": "7.1.2",
"bundled": true,
"dev": true,
"requires": {
"fs.realpath": "1.0.0",
"inflight": "1.0.6",
"inherits": "2.0.3",
"minimatch": "3.0.4",
"once": "1.4.0",
"path-is-absolute": "1.0.1"
}
},
"graceful-fs": {
"version": "4.1.11",
"bundled": true,
"dev": true
},
"har-schema": {
"version": "1.0.5",
"bundled": true,
"dev": true,
"optional": true
},
"har-validator": {
"version": "4.2.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"ajv": "4.11.8",
"har-schema": "1.0.5"
}
},
"has-unicode": {
"version": "2.0.1",
"bundled": true,
"dev": true,
"optional": true
},
"hawk": {
"version": "3.1.3",
"bundled": true,
"dev": true,
"requires": {
"boom": "2.10.1",
"cryptiles": "2.0.5",
"hoek": "2.16.3",
"sntp": "1.0.9"
}
},
"hoek": {
"version": "2.16.3",
"bundled": true,
"dev": true
},
"http-signature": {
"version": "1.1.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"assert-plus": "0.2.0",
"jsprim": "1.4.0",
"sshpk": "1.13.0"
}
},
"inflight": {
"version": "1.0.6",
"bundled": true,
"dev": true,
"requires": {
"once": "1.4.0",
"wrappy": "1.0.2"
}
},
"inherits": {
"version": "2.0.3",
"bundled": true,
"dev": true
},
"ini": {
"version": "1.3.4",
"bundled": true,
"dev": true,
"optional": true
},
"is-fullwidth-code-point": {
"version": "1.0.0",
"bundled": true,
"dev": true,
"requires": {
"number-is-nan": "1.0.1"
}
},
"is-typedarray": {
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true
},
"isarray": {
"version": "1.0.0",
"bundled": true,
"dev": true
},
"isstream": {
"version": "0.1.2",
"bundled": true,
"dev": true,
"optional": true
},
"jodid25519": {
"version": "1.0.2",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"jsbn": "0.1.1"
}
},
"jsbn": {
"version": "0.1.1",
"bundled": true,
"dev": true,
"optional": true
},
"json-schema": {
"version": "0.2.3",
"bundled": true,
"dev": true,
"optional": true
},
"json-stable-stringify": {
"version": "1.0.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"jsonify": "0.0.0"
}
},
"json-stringify-safe": {
"version": "5.0.1",
"bundled": true,
"dev": true,
"optional": true
},
"jsonify": {
"version": "0.0.0",
"bundled": true,
"dev": true,
"optional": true
},
"jsprim": {
"version": "1.4.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.0.2",
"json-schema": "0.2.3",
"verror": "1.3.6"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true
}
}
},
"mime-db": {
"version": "1.27.0",
"bundled": true,
"dev": true
},
"mime-types": {
"version": "2.1.15",
"bundled": true,
"dev": true,
"requires": {
"mime-db": "1.27.0"
}
},
"minimatch": {
"version": "3.0.4",
"bundled": true,
"dev": true,
"requires": {
"brace-expansion": "1.1.7"
}
},
"minimist": {
"version": "0.0.8",
"bundled": true,
"dev": true
},
"mkdirp": {
"version": "0.5.1",
"bundled": true,
"dev": true,
"requires": {
"minimist": "0.0.8"
}
},
"ms": {
"version": "2.0.0",
"bundled": true,
"dev": true,
"optional": true
},
"node-pre-gyp": {
"version": "0.6.39",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"detect-libc": "1.0.2",
"hawk": "3.1.3",
"mkdirp": "0.5.1",
"nopt": "4.0.1",
"npmlog": "4.1.0",
"rc": "1.2.1",
"request": "2.81.0",
"rimraf": "2.6.1",
"semver": "5.3.0",
"tar": "2.2.1",
"tar-pack": "3.4.0"
}
},
"nopt": {
"version": "4.0.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"abbrev": "1.1.0",
"osenv": "0.1.4"
}
},
"npmlog": {
"version": "4.1.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"are-we-there-yet": "1.1.4",
"console-control-strings": "1.1.0",
"gauge": "2.7.4",
"set-blocking": "2.0.0"
}
},
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
"dev": true
},
"oauth-sign": {
"version": "0.8.2",
"bundled": true,
"dev": true,
"optional": true
},
"object-assign": {
"version": "4.1.1",
"bundled": true,
"dev": true,
"optional": true
},
"once": {
"version": "1.4.0",
"bundled": true,
"dev": true,
"requires": {
"wrappy": "1.0.2"
}
},
"os-homedir": {
"version": "1.0.2",
"bundled": true,
"dev": true,
"optional": true
},
"os-tmpdir": {
"version": "1.0.2",
"bundled": true,
"dev": true,
"optional": true
},
"osenv": {
"version": "0.1.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"os-homedir": "1.0.2",
"os-tmpdir": "1.0.2"
}
},
"path-is-absolute": {
"version": "1.0.1",
"bundled": true,
"dev": true
},
"performance-now": {
"version": "0.2.0",
"bundled": true,
"dev": true,
"optional": true
},
"process-nextick-args": {
"version": "1.0.7",
"bundled": true,
"dev": true
},
"punycode": {
"version": "1.4.1",
"bundled": true,
"dev": true,
"optional": true
},
"qs": {
"version": "6.4.0",
"bundled": true,
"dev": true,
"optional": true
},
"rc": {
"version": "1.2.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"deep-extend": "0.4.2",
"ini": "1.3.4",
"minimist": "1.2.0",
"strip-json-comments": "2.0.1"
},
"dependencies": {
"minimist": {
"version": "1.2.0",
"bundled": true,
"dev": true,
"optional": true
}
}
},
"readable-stream": {
"version": "2.2.9",
"bundled": true,
"dev": true,
"requires": {
"buffer-shims": "1.0.0",
"core-util-is": "1.0.2",
"inherits": "2.0.3",
"isarray": "1.0.0",
"process-nextick-args": "1.0.7",
"string_decoder": "1.0.1",
"util-deprecate": "1.0.2"
}
},
"request": {
"version": "2.81.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"aws-sign2": "0.6.0",
"aws4": "1.6.0",
"caseless": "0.12.0",
"combined-stream": "1.0.5",
"extend": "3.0.1",
"forever-agent": "0.6.1",
"form-data": "2.1.4",
"har-validator": "4.2.1",
"hawk": "3.1.3",
"http-signature": "1.1.1",
"is-typedarray": "1.0.0",
"isstream": "0.1.2",
"json-stringify-safe": "5.0.1",
"mime-types": "2.1.15",
"oauth-sign": "0.8.2",
"performance-now": "0.2.0",
"qs": "6.4.0",
"safe-buffer": "5.0.1",
"stringstream": "0.0.5",
"tough-cookie": "2.3.2",
"tunnel-agent": "0.6.0",
"uuid": "3.0.1"
}
},
"rimraf": {
"version": "2.6.1",
"bundled": true,
"dev": true,
"requires": {
"glob": "7.1.2"
}
},
"safe-buffer": {
"version": "5.0.1",
"bundled": true,
"dev": true
},
"semver": {
"version": "5.3.0",
"bundled": true,
"dev": true,
"optional": true
},
"set-blocking": {
"version": "2.0.0",
"bundled": true,
"dev": true,
"optional": true
},
"signal-exit": {
"version": "3.0.2",
"bundled": true,
"dev": true,
"optional": true
},
"sntp": {
"version": "1.0.9",
"bundled": true,
"dev": true,
"requires": {
"hoek": "2.16.3"
}
},
"sshpk": {
"version": "1.13.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"asn1": "0.2.3",
"assert-plus": "1.0.0",
"bcrypt-pbkdf": "1.0.1",
"dashdash": "1.14.1",
"ecc-jsbn": "0.1.1",
"getpass": "0.1.7",
"jodid25519": "1.0.2",
"jsbn": "0.1.1",
"tweetnacl": "0.14.5"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true
}
}
},
"string-width": {
"version": "1.0.2",
"bundled": true,
"dev": true,
"requires": {
"code-point-at": "1.1.0",
"is-fullwidth-code-point": "1.0.0",
"strip-ansi": "3.0.1"
}
},
"string_decoder": {
"version": "1.0.1",
"bundled": true,
"dev": true,
"requires": {
"safe-buffer": "5.0.1"
}
},
"stringstream": {
"version": "0.0.5",
"bundled": true,
"dev": true,
"optional": true
},
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
"dev": true,
"requires": {
"ansi-regex": "2.1.1"
}
},
"strip-json-comments": {
"version": "2.0.1",
"bundled": true,
"dev": true,
"optional": true
},
"tar": {
"version": "2.2.1",
"bundled": true,
"dev": true,
"requires": {
"block-stream": "0.0.9",
"fstream": "1.0.11",
"inherits": "2.0.3"
}
},
"tar-pack": {
"version": "3.4.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"debug": "2.6.8",
"fstream": "1.0.11",
"fstream-ignore": "1.0.5",
"once": "1.4.0",
"readable-stream": "2.2.9",
"rimraf": "2.6.1",
"tar": "2.2.1",
"uid-number": "0.0.6"
}
},
"tough-cookie": {
"version": "2.3.2",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"punycode": "1.4.1"
}
},
"tunnel-agent": {
"version": "0.6.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"safe-buffer": "5.0.1"
}
},
"tweetnacl": {
"version": "0.14.5",
"bundled": true,
"dev": true,
"optional": true
},
"uid-number": {
"version": "0.0.6",
"bundled": true,
"dev": true,
"optional": true
},
"util-deprecate": {
"version": "1.0.2",
"bundled": true,
"dev": true
},
"uuid": {
"version": "3.0.1",
"bundled": true,
"dev": true,
"optional": true
},
"verror": {
"version": "1.3.6",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"extsprintf": "1.0.2"
}
},
"wide-align": {
"version": "1.1.2",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"string-width": "1.0.2"
}
},
"wrappy": {
"version": "1.0.2",
"bundled": true,
"dev": true
}
}
},
"function-bind": { "function-bind": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
...@@ -2630,6 +3547,35 @@ ...@@ -2630,6 +3547,35 @@
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true "dev": true
}, },
"mute-stream": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
"integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
"dev": true
},
"nan": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz",
"integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=",
"dev": true,
"optional": true
},
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
"dev": true
},
"node-fetch": {
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
"integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
"dev": true,
"requires": {
"encoding": "0.1.12",
"is-stream": "1.1.0"
}
},
"node-libs-browser": { "node-libs-browser": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
......
import Vue from 'vue' import Vue from 'vue'
new Vue({
window.player = new Vue({
el: '#player', el: '#player',
data: { data: {
audio: new Audio('http://www.radioking.com/play/radio-nuit-info'), audio: new Audio('http://listen.radioking.com/radio/116593/stream/155905'),
playClass: 'glyphicon-pause', playClass: 'glyphicon-pause',
cover: '', cover: '',
title: '', title: '',
...@@ -48,7 +49,7 @@ new Vue({ ...@@ -48,7 +49,7 @@ new Vue({
this.audio.onloadedmetadata = function () {audio.play()} this.audio.onloadedmetadata = function () {audio.play()}
this.reloadData() this.reloadData()
}, },
template: '<div class="thumbnail"><img v-bind:src="cover" alt="cover"/><div class="caption">' + template: '<div class="thumbnail" id="player-thumbnail"><img v-bind:src="cover" alt="cover" id="player-img"/><div class="caption" id="player-caption">' +
'<p class="text-center">{{ title }} - {{ artist }} <a href="#" v-on:click="togglePlay" class="btn btn-default">' + '<p class="text-center">{{ title }} - {{ artist }} <a href="#" v-on:click="togglePlay" class="btn btn-default">' +
'<span class="glyphicon" v-bind:class="[playClass]" aria-hidden="true"></span></a></p></div></div>' '<span class="glyphicon" v-bind:class="[playClass]" aria-hidden="true"></span></a></p></div></div>'
}) })
\ No newline at end of file
Impossible d'afficher diff de source : il est trop volumineux. Options pour résoudre ce problème : voir le blob.
//$(document).ready( function () {
let scene = new THREE.Scene();
let camera = new THREE.PerspectiveCamera(80, window.innerWidth / window.innerHeight, 0.1, 1000);
let renderer = new THREE.WebGLRenderer();
renderer.setClearColor(0x111111);
document.getElementById('player-thumbnail').insertBefore(renderer.domElement, document.getElementById('player-caption'));
//renderer.domElement.setAttribute("class", "pull-right");
renderer.setSize($('#player-thumbnail').width()-2, $('#player-thumbnail').width()-2);
let light = new THREE.DirectionalLight(0xffffff);
let clock = new THREE.Clock(true);
scene.add(light);
let myUniforms = {
gravitySource0: {type: "v3", value: THREE.Vector3(0, 0, 0)},
gravitySource1: {type: "v3", value: THREE.Vector3(0, 0, 0)},
gravitySource2: {type: "v3", value: THREE.Vector3(0, 0, 0)},
gravitySource3: {type: "v3", value: THREE.Vector3(0, 0, 0)},
gravitySource4: {type: "v3", value: THREE.Vector3(0, 0, 0)},
gravitySource5: {type: "v3", value: THREE.Vector3(0, 0, 0)},
gravitySource6: {type: "v3", value: THREE.Vector3(0, 0, 0)},
gravitySource7: {type: "v3", value: THREE.Vector3(0, 0, 0)},
gravitySource8: {type: "v3", value: THREE.Vector3(0, 0, 0)},
gravityStrength: {type: "f", value: 12500.0 * 3}
};
let shaderMaterial = new THREE.ShaderMaterial({
/* d�commenter la ligne ci-dessous pour disposer de vos
variables de type uniform dans les shaders. */
uniforms: myUniforms,
shading: THREE.SmoothShading,
vertexShader: document.getElementById('vertex_shader').textContent,
fragmentShader: document.getElementById('fragment_shader').textContent
});
//let gSphere = new THREE.Mesh(new THREE.SphereGeometry(1),
// new THREE.MeshLambertMaterial({color: 0xffff00})
//);
//scene.add(gSphere);
// introduire ici un nouveau noeud ayant pour g�om�trie un maillage
// triangulaire et ne pas oublier de l'inclure dans la sc�ne
let planG = new THREE.PlaneGeometry(150, 150, 150, 150);
let plan = new THREE.Mesh(planG, shaderMaterial);
scene.add(plan);
plan.rotation.x = -Math.PI / 2;
//let cube = new THREE.Mesh(new THREE.BoxGeometry( 100, 100, 100), shaderMaterial);
//scene.add(cube);
//cube.position.x = -150;
//cube.position.z = 50;
//let sphere = new THREE.Mesh(new THREE.SphereGeometry( 50, 32, 32 ), shaderMaterial);
//scene.add(sphere);
//sphere.position.x = 150;
//sphere.position.z = 50;
let starsMaterial = new THREE.PointsMaterial({color: 0xFFFFFFF});
//let triangle = new THREE.Points( createTriangularMesh(100, 2), starsMaterial );
//let triangle = new THREE.Mesh(createTriangularMesh(100,9), new THREE.MeshLambertMaterial({color: 0xffff00}));
//scene.add( triangle );
camera.position.z = 175;
camera.position.y = 100;
//camera.position.y = 300;
camera.lookAt(new THREE.Vector3(0, 0, 0));
let audio, audioStream, analyser, source, audioCtx, canvasCtx, frequencyData;
let init = function () {
audio = window.player.audio;
audio.crossOrigin = "anonymous";
audioCtx = new AudioContext();
analyser = audioCtx.createAnalyser();
source = audioCtx.createMediaElementSource(audio);
source.connect(analyser);
analyser.connect(audioCtx.destination);
analyser.fftSize = 32;
frequencyData = new Uint8Array(analyser.frequencyBinCount);
//renderer.init({count: analyser.frequencyBinCount, width: window.innerWidth, height: window.innerHeight});
};
init();
function render() {
requestAnimationFrame(render);
analyser.getByteFrequencyData(frequencyData);
myUniforms.gravitySource0.value = new THREE.Vector3(-100, 50 - frequencyData[0] / 255.0 * 35, 0);
myUniforms.gravitySource1.value = new THREE.Vector3(-75, 50 - frequencyData[2] / 255.0 * 35, 0);
myUniforms.gravitySource2.value = new THREE.Vector3(-50, 50 - frequencyData[4] / 255.0 * 35, 0);
myUniforms.gravitySource3.value = new THREE.Vector3(-25, 50 - frequencyData[6] / 255.0 * 35, 0);
myUniforms.gravitySource4.value = new THREE.Vector3(-0, 50 - frequencyData[8] / 255.0 * 35, 0);
myUniforms.gravitySource5.value = new THREE.Vector3(25, 50 - frequencyData[10] / 255.0 * 35, 0);
myUniforms.gravitySource6.value = new THREE.Vector3(50, 50 - frequencyData[12] / 255.0 * 35, 0);
myUniforms.gravitySource7.value = new THREE.Vector3(75, 50 - frequencyData[14] / 255.0 * 35, 0);
myUniforms.gravitySource8.value = new THREE.Vector3(100, 50 - frequencyData[16] / 255.0 * 35, 0);
renderer.render(scene, camera);
}
clock.start();
render();
//});
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter