machine.html
author Eugen Sawin <sawine@me73.com>
Tue, 26 Apr 2011 03:23:11 +0200
changeset 26 84a998ac11c0
parent 25 3b66f92dbc4d
child 30 95688249c40c
permissions -rwxr-xr-x
Removed margin.
sawine@2
     1
<html>
sawine@2
     2
<head>
sawine@2
     3
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
sawine@2
     4
<title>Machine Alpha</title>
sawine@26
     5
<style type="text/css">
sawine@26
     6
 body {margin: 0px;}
sawine@26
     7
</style>
sawine@23
     8
<script language="javascript" src="scripts/boot.js"></script>
sawine@2
     9
<script id="fragment-shader" type="x-shader/x-fragment"> 
sawine@2
    10
    #ifdef GL_ES
sawine@2
    11
    precision highp float;
sawine@2
    12
    #endif
sawine@4
    13
sawine@4
    14
    varying vec4 vColour;
sawine@24
    15
    varying vec3 vLightWeighting;
sawine@2
    16
 
sawine@4
    17
    void main(void) 
sawine@4
    18
    {
sawine@24
    19
        gl_FragColor = vec4(vColour.rgb * vLightWeighting, vColour.a);
sawine@2
    20
    }
sawine@2
    21
</script> 
sawine@2
    22
 
sawine@2
    23
<script id="vertex-shader" type="x-shader/x-vertex"> 
sawine@2
    24
    attribute vec3 aVertexPosition;
sawine@24
    25
    attribute vec3 aVertexNormal;
sawine@25
    26
    attribute vec4 aVertexColour;    
sawine@4
    27
sawine@2
    28
    uniform mat4 uMVMatrix;
sawine@2
    29
    uniform mat4 uPMatrix;
sawine@24
    30
    uniform mat3 uNMatrix;
sawine@24
    31
sawine@24
    32
    uniform vec3 uAmbientColour;
sawine@24
    33
    uniform vec3 uLightingDirection;
sawine@24
    34
    uniform vec3 uDirectionalColour;
sawine@24
    35
sawine@24
    36
    uniform bool uUseLighting;
sawine@4
    37
sawine@4
    38
    varying vec4 vColour;
sawine@24
    39
    varying vec3 vLightWeighting;
sawine@2
    40
 
sawine@4
    41
    void main(void) 
sawine@4
    42
    {
sawine@2
    43
        gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);
sawine@4
    44
        vColour = aVertexColour;
sawine@25
    45
sawine@24
    46
        if (!uUseLighting)
sawine@24
    47
        {
sawine@24
    48
            vLightWeighting = vec3(1.0, 1.0, 1.0);
sawine@24
    49
        }
sawine@24
    50
        else
sawine@24
    51
        {
sawine@24
    52
            vec3 transformedNormal = uNMatrix * aVertexNormal;
sawine@24
    53
            float directionalLightWeighting = max(dot(transformedNormal, uLightingDirection), 0.0);
sawine@24
    54
            vLightWeighting = uAmbientColour + uDirectionalColour * directionalLightWeighting;
sawine@24
    55
        }
sawine@2
    56
    }
sawine@2
    57
</script>
sawine@2
    58
</head>
sawine@2
    59
 
sawine@23
    60
<body onload="boot();">
sawine@2
    61
<canvas id="machine">
sawine@2
    62
  Download a browser with WebGL support, like Chrome or Firefox.
sawine@2
    63
</canvas>
sawine@2
    64
</body>
sawine@2
    65
 
sawine@2
    66
</html>