mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Improve test_webgl_triangle.html
This commit is contained in:
parent
a07d6b37cc
commit
328dacee8b
1 changed files with 22 additions and 4 deletions
|
@ -31,6 +31,8 @@ void main() {
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
|
||||||
var canvas;
|
var canvas;
|
||||||
function initWebGL()
|
function initWebGL()
|
||||||
{
|
{
|
||||||
|
@ -41,6 +43,10 @@ void main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
var gl = initWebGL();
|
var gl = initWebGL();
|
||||||
|
if (!gl) {
|
||||||
|
alert("No webgl context found!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Setup Shaders:
|
// Setup Shaders:
|
||||||
var v = document.getElementById("vertexshader").firstChild.nodeValue;
|
var v = document.getElementById("vertexshader").firstChild.nodeValue;
|
||||||
|
@ -54,7 +60,8 @@ void main() {
|
||||||
gl.compileShader(vs);
|
gl.compileShader(vs);
|
||||||
|
|
||||||
if (!gl.getShaderParameter(vs, gl.COMPILE_STATUS)) {
|
if (!gl.getShaderParameter(vs, gl.COMPILE_STATUS)) {
|
||||||
alert(gl.getShaderInfoLog(vs));
|
alert("Shader failed to compile. Reason: " + gl.getShaderInfoLog(vs));
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var fs = gl.createShader(gl.FRAGMENT_SHADER);
|
var fs = gl.createShader(gl.FRAGMENT_SHADER);
|
||||||
|
@ -62,7 +69,8 @@ void main() {
|
||||||
gl.compileShader(fs);
|
gl.compileShader(fs);
|
||||||
|
|
||||||
if (!gl.getShaderParameter(fs, gl.COMPILE_STATUS)) {
|
if (!gl.getShaderParameter(fs, gl.COMPILE_STATUS)) {
|
||||||
alert(gl.getShaderInfoLog(fs));
|
alert("Shader failed to compile. Reason: " + gl.getShaderInfoLog(fs));
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
program = gl.createProgram();
|
program = gl.createProgram();
|
||||||
|
@ -70,8 +78,16 @@ void main() {
|
||||||
gl.attachShader(program, fs);
|
gl.attachShader(program, fs);
|
||||||
gl.linkProgram(program);
|
gl.linkProgram(program);
|
||||||
|
|
||||||
// if (!gl.getProgramParameter(program, gl.LINK_STATUS))
|
if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
|
||||||
// alert(gl.getProgramInfoLog(program));
|
alert("Shader failed to link. Reason: " + gl.getProgramInfoLog(program));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
gl.validateProgram(program);
|
||||||
|
if (!gl.getProgramParameter( program, gl.VALIDATE_STATUS)) {
|
||||||
|
alert("Program failed to validate. Reason: " + gl.getProgramInfoLog(program));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Setup Geometry
|
// Setup Geometry
|
||||||
var vertices = new Float32Array([
|
var vertices = new Float32Array([
|
||||||
|
@ -107,6 +123,8 @@ void main() {
|
||||||
|
|
||||||
// Draw
|
// Draw
|
||||||
gl.drawArrays(gl.TRIANGLES, 0, 3);
|
gl.drawArrays(gl.TRIANGLES, 0, 3);
|
||||||
|
|
||||||
|
})();
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue