<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Alchemist</title> <link rel="stylesheet" href="css/tp.css" type="text/css" media="all"> <link rel="stylesheet" href="css/bootstrap.min.css" type="text/css" media="all"> <script id="nuanceurSommets" type="x-shader/x-vertex"> uniform mat4 mmodel; uniform mat4 mview; uniform mat4 mproj; uniform vec3 lightDir; attribute vec4 vPosition; attribute vec4 vColor; varying float v_NdotL; varying vec4 v_color; void main() { // assigner la position du sommet gl_Position = mproj * mview * mmodel * vPosition; //gl_Position = mmodel * mview * mproj * vPosition; // assigner les coordonnées de texture v_color = vColor; } </script> <script id="nuanceurFragments" type="x-shader/x-fragment"> // informer du degré de précision qu'on veut dans les calculs // (Plus à ce sujet: http://stackoverflow.com/questions/5366416/in-opengl-es-2-0-glsl-where-do-you-need-precision-specifiers/6336285#6336285 ) precision mediump float; uniform sampler2D laTexture; uniform vec2 positionSouris; varying float v_NdotL; varying vec4 v_color; void main() { // obtenir la couleur de la texture vec4 coul = v_color; if ( length( positionSouris - gl_FragCoord.xy ) < 50.0 ) { vec4 coulCercle = vec4( 1.0, 0.0, 0.0, 0.7 ); coul = coul * (1.0-coulCercle.a) + coulCercle * coulCercle.a; // coul = coul * coulCercle; // réponse aussi acceptée } gl_FragColor = vec4( coul.rgb, coul.a ); } </script> </head> <body onload="TPdebut()"> <div class="container-fluid"> <div class="row"> <div class="col-md-5"> <table class="table" id="trans-list"> <thead> <th class="text-center">T</th> <th class="text-center">x</th> <th class="text-center">y</th> <th class="text-center">z</th> <th class="text-center">𝜃(°)</th> <th></th> </thead> <tbody> </tbody> </table> <button type="button" class="btn btn-success btn-sm" onclick="addTransformation(this, 'rotation'); return false"> <span class="glyphicon glyphicon-repeat"></span> Rotation </button> <button type="button" class="btn btn-success btn-sm" onclick="addTransformation(this, 'translation'); return false"> <span class="glyphicon glyphicon-move"></span> Translation </button> <button type="button" class="btn btn-success btn-sm" onclick="addTransformation(this, 'scale'); return false"> <span class="glyphicon glyphicon-resize-small"></span> Échelle </button> </div> <div class="col-md-7"> <canvas class="canevas" id="tp-canevas" height="600" width="900"> Si vous voyez ceci, votre navigateur ne supporte pas webgl. </canvas> <div class="text">Les <a href="http://www.khronos.org/registry/webgl/specs/latest/1.0/">spécifications de Webgl</a> sont<br>remplies d'informations intéressantes.</div> </div> </div> </div> </body> <script type="text/javascript" src="js/webgl-utils.js"></script> <script type="text/javascript" src="js/webgl-debug.js"></script> <script type="text/javascript" src="js/J3DI.js"></script> <script type="text/javascript" src="js/gl-matrix-min.js"></script> <script type="text/javascript" src="js/main.js"></script> </html>