<html>
|
<head>
|
<script id="vshader" type="x-shader/x-vertex">
|
attribute vec4 vPosition;
|
void main()
|
{
|
gl_Position = vPosition;
|
}
|
</script>
|
|
<script id="fshader" type="x-shader/x-fragment">
|
precision mediump float;
|
uniform float color[3];
|
void main()
|
{
|
gl_FragColor = vec4(color[0], 0, 0, 0);
|
}
|
</script>
|
<script>
|
function shader(gl, program, shaderType, shaderId) {
|
var shaderSource = document.getElementById(shaderId).text
|
var shader = gl.createShader(shaderType);
|
gl.shaderSource(shader, shaderSource);
|
gl.compileShader(shader);
|
gl.attachShader(program, shader)
|
}
|
|
function loadProgram(gl) {
|
var program = gl.createProgram();
|
shader(gl, program, gl.VERTEX_SHADER, "vshader")
|
shader(gl, program, gl.FRAGMENT_SHADER, "fshader")
|
gl.linkProgram(program);
|
return program;
|
}
|
|
var gl = document.createElement('canvas').getContext('experimental-webgl')
|
var program = loadProgram(gl)
|
|
var elemLoc = gl.getUniformLocation(program, "color[2]");
|
var value = gl.getUniform(program, elemLoc);
|
</script>
|
</head>
|
<body>
|
</body>
|
</html>
|