tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

gl-frontfacing.html (2045B)


      1 <!--
      2 Copyright (c) 2019 The Khronos Group Inc.
      3 Use of this source code is governed by an MIT-style license that can be
      4 found in the LICENSE.txt file.
      5 -->
      6 
      7 <!DOCTYPE html>
      8 <html>
      9 <head>
     10 <meta charset="utf-8">
     11 <title>gl-fragcoord Test</title>
     12 <link rel="stylesheet" href="../../../resources/js-test-style.css"/>
     13 <script src="../../../js/js-test-pre.js"></script>
     14 <script src="../../../js/webgl-test-utils.js"> </script>
     15 </head>
     16 <body>
     17 <canvas id="example" width="32" height="32">
     18 </canvas>
     19 <div id="description"></div>
     20 <div id="console"></div>
     21 <script id="vshader" type="x-shader/x-vertex">
     22 attribute vec4 vPosition;
     23 void main()
     24 {
     25  gl_Position = vPosition;
     26 }
     27 </script>
     28 
     29 <script id="fshader" type="x-shader/x-fragment">
     30 precision mediump float;
     31 void main()
     32 {
     33  gl_FragColor = vec4(
     34      gl_FrontFacing ? 1.0 : 0.0,
     35      gl_FrontFacing ? 0.0 : 1.0,
     36      0,
     37      1);
     38 }
     39 </script>
     40 
     41 <script>
     42 "use strict";
     43 function init()
     44 {
     45  description("tests gl_FrontFacing");
     46 
     47  var wtu = WebGLTestUtils;
     48  var gl = wtu.create3DContext("example");
     49  var program = wtu.setupProgram(gl, ["vshader", "fshader"], ["vPosition"]);
     50 
     51  var gridRes = 4;
     52  wtu.setupIndexedQuad(gl, gridRes, 0, true);
     53 
     54  gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
     55  gl.drawElements(gl.TRIANGLES, gridRes * gridRes * 6, gl.UNSIGNED_SHORT, 0);
     56  wtu.glErrorShouldBe(gl, gl.NO_ERROR, "no errors from draw");
     57 
     58  var step = 32 / gridRes;
     59  var halfStep = step / 2;
     60  var quarterStep = halfStep / 2;
     61  for (var xx = 0; xx < 32; xx += step) {
     62    for (var yy = 0; yy < 32; yy += step) {
     63      for (var ii = 0; ii < 2; ++ii) {
     64        var color = [
     65            ii == 0 ? 255 : 0,
     66            ii == 0 ? 0 : 255,
     67            0
     68        ];
     69        var msg = "should be " + color;
     70        wtu.checkCanvasRect(
     71            gl,
     72            xx + quarterStep + halfStep * ii,
     73            yy + quarterStep + halfStep * ii,
     74            1, 1, color, msg, 4);
     75      }
     76    }
     77  }
     78 }
     79 
     80 init();
     81 var successfullyParsed = true;
     82 </script>
     83 <script src="../../../js/js-test-post.js"></script>
     84 
     85 </body>
     86 </html>