1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/canvas/test/webgl-conformance/conformance/attribs/gl-vertex-attrib.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,94 @@ 1.4 +<!-- 1.5 +Copyright (c) 2011 The Chromium Authors. All rights reserved. 1.6 +Use of this source code is governed by a BSD-style license that can be 1.7 +found in the LICENSE file. 1.8 + --> 1.9 +<!DOCTYPE html> 1.10 +<html> 1.11 +<head> 1.12 +<meta charset="utf-8"> 1.13 +<title>WebGL vertexAttrib Conformance Tests</title> 1.14 +<link rel="stylesheet" href="../../resources/js-test-style.css"/> 1.15 +<script src="../../resources/js-test-pre.js"></script> 1.16 +<script src="../resources/webgl-test.js"></script> 1.17 +</head> 1.18 +<body> 1.19 +<div id="description"></div> 1.20 +<div id="console"></div> 1.21 +<canvas id="canvas" width="2" height="2"> </canvas> 1.22 +<script> 1.23 +description("This test ensures WebGL implementations vertexAttrib can be set and read."); 1.24 + 1.25 +debug(""); 1.26 +debug("Canvas.getContext"); 1.27 + 1.28 +var gl = create3DContext(document.getElementById("canvas")); 1.29 +if (!gl) { 1.30 + testFailed("context does not exist"); 1.31 +} else { 1.32 + testPassed("context exists"); 1.33 + 1.34 + debug(""); 1.35 + debug("Checking gl.vertexAttrib."); 1.36 + 1.37 + var numVertexAttribs = gl.getParameter(gl.MAX_VERTEX_ATTRIBS); 1.38 + for (var ii = 0; ii < numVertexAttribs; ++ii) { 1.39 + gl.vertexAttrib1fv(ii, [1]); 1.40 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[0]', '1'); 1.41 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[1]', '0'); 1.42 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[2]', '0'); 1.43 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[3]', '1'); 1.44 + 1.45 + gl.vertexAttrib2fv(ii, [1, 2]); 1.46 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[0]', '1'); 1.47 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[1]', '2'); 1.48 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[2]', '0'); 1.49 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[3]', '1'); 1.50 + 1.51 + gl.vertexAttrib3fv(ii, [1, 2, 3]); 1.52 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[0]', '1'); 1.53 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[1]', '2'); 1.54 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[2]', '3'); 1.55 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[3]', '1'); 1.56 + 1.57 + gl.vertexAttrib4fv(ii, [1, 2, 3, 4]); 1.58 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[0]', '1'); 1.59 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[1]', '2'); 1.60 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[2]', '3'); 1.61 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[3]', '4'); 1.62 + 1.63 + gl.vertexAttrib1f(ii, 5); 1.64 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[0]', '5'); 1.65 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[1]', '0'); 1.66 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[2]', '0'); 1.67 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[3]', '1'); 1.68 + 1.69 + gl.vertexAttrib2f(ii, 6, 7); 1.70 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[0]', '6'); 1.71 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[1]', '7'); 1.72 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[2]', '0'); 1.73 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[3]', '1'); 1.74 + 1.75 + gl.vertexAttrib3f(ii, 7, 8, 9); 1.76 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[0]', '7'); 1.77 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[1]', '8'); 1.78 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[2]', '9'); 1.79 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[3]', '1'); 1.80 + 1.81 + gl.vertexAttrib4f(ii, 6, 7, 8, 9); 1.82 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[0]', '6'); 1.83 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[1]', '7'); 1.84 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[2]', '8'); 1.85 + shouldBe('gl.getVertexAttrib(' + ii + ', gl.CURRENT_VERTEX_ATTRIB)[3]', '9'); 1.86 + } 1.87 + glErrorShouldBe(gl, gl.NO_ERROR); 1.88 +} 1.89 + 1.90 +debug(""); 1.91 +successfullyParsed = true; 1.92 + 1.93 +</script> 1.94 +<script>finishTest();</script> 1.95 + 1.96 +</body> 1.97 +</html>