OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <html><head> |
| 3 <meta charset="utf-8"> |
| 4 <link rel="stylesheet" type="text/css" href="../unit.css" /> |
| 5 <script type="application/x-javascript" src="../unit.js"></script> |
| 6 <script type="application/x-javascript" src="../util.js"></script> |
| 7 <script type="application/x-javascript"> |
| 8 |
| 9 Tests.startUnit = function () { |
| 10 var canvas = document.getElementById('gl'); |
| 11 var gl = canvas.getContext(GL_CONTEXT_ID); |
| 12 var buf = gl.createBuffer(); |
| 13 var ebuf = gl.createBuffer(); |
| 14 gl.bindBuffer(gl.ARRAY_BUFFER, buf); |
| 15 gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, ebuf); |
| 16 return [gl, buf, ebuf]; |
| 17 } |
| 18 |
| 19 Tests.testBufferSubData = function(gl, buf, ebuf) { |
| 20 var data = [0,0,0,0, 1,0,0,0, 0,1,0,0]; |
| 21 gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(data), gl.STATIC_DRAW); |
| 22 gl.bufferSubData(gl.ARRAY_BUFFER, 0, new Float32Array([1,2,3,4])); |
| 23 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Float32Array([1,1,1,1])); |
| 24 gl.bufferSubData(gl.ARRAY_BUFFER, 32, new Float32Array([1,1,1,1])); |
| 25 assertEquals(gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE), 12*4); |
| 26 assertEquals(gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_USAGE), gl.STA
TIC_DRAW); |
| 27 gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(data), gl.STREAM_DRAW); |
| 28 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Float32Array([1,1,1,1])); |
| 29 gl.bufferSubData(gl.ARRAY_BUFFER, 0, new Float32Array([1,2,3,4])); |
| 30 assertEquals(gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE), 12*4); |
| 31 assertEquals(gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_USAGE), gl.STR
EAM_DRAW); |
| 32 gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(data), gl.DYNAMIC_DRAW); |
| 33 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Float32Array([1,1,1,1])); |
| 34 gl.bufferSubData(gl.ARRAY_BUFFER, 0, new Float32Array([1,2,3,4])); |
| 35 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Uint32Array([1,1,1,1])); |
| 36 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Int32Array([1,1,1,1])); |
| 37 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Int16Array([1,1,1,1])); |
| 38 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Uint16Array([1,1,1,1])); |
| 39 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Int8Array([1,1,1,1])); |
| 40 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Uint8Array([1,1,1,1])); |
| 41 assertEquals(gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE), 12*4); |
| 42 assertEquals(gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_USAGE), gl.DYN
AMIC_DRAW); |
| 43 |
| 44 gl.bufferData(gl.ARRAY_BUFFER, 12, gl.STATIC_DRAW); |
| 45 assertEquals(gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE), 12); |
| 46 assertEquals(gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_USAGE), gl.STA
TIC_DRAW); |
| 47 |
| 48 gl.bufferData(gl.ARRAY_BUFFER, 12*4, gl.STATIC_DRAW); |
| 49 gl.bufferSubData(gl.ARRAY_BUFFER, 0, new Float32Array([1,2,3,4])); |
| 50 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Float32Array([1,1,1,1])); |
| 51 gl.bufferSubData(gl.ARRAY_BUFFER, 32, new Float32Array([1,1,1,1])); |
| 52 assertEquals(gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE), 12*4); |
| 53 assertEquals(gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_USAGE), gl.STA
TIC_DRAW); |
| 54 gl.bufferData(gl.ARRAY_BUFFER, 12*4, gl.STREAM_DRAW); |
| 55 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Float32Array([1,1,1,1])); |
| 56 gl.bufferSubData(gl.ARRAY_BUFFER, 0, new Float32Array([1,2,3,4])); |
| 57 assertEquals(gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE), 12*4); |
| 58 assertEquals(gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_USAGE), gl.STR
EAM_DRAW); |
| 59 gl.bufferData(gl.ARRAY_BUFFER, 12*4, gl.DYNAMIC_DRAW); |
| 60 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Float32Array([1,1,1,1])); |
| 61 gl.bufferSubData(gl.ARRAY_BUFFER, 0, new Float32Array([1,2,3,4])); |
| 62 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Uint32Array([1,1,1,1])); |
| 63 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Int32Array([1,1,1,1])); |
| 64 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Int16Array([1,1,1,1])); |
| 65 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Uint16Array([1,1,1,1])); |
| 66 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Int8Array([1,1,1,1])); |
| 67 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Uint8Array([1,1,1,1])); |
| 68 assertEquals(gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE), 12*4); |
| 69 assertEquals(gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_USAGE), gl.DYN
AMIC_DRAW); |
| 70 |
| 71 gl.bufferData(gl.ARRAY_BUFFER, new Uint16Array(data), gl.STATIC_DRAW); |
| 72 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Uint16Array([1,1,1,1])); |
| 73 gl.bufferSubData(gl.ARRAY_BUFFER, 0, new Uint16Array([1,2,3,4])); |
| 74 gl.bufferData(gl.ARRAY_BUFFER, new Uint16Array(data), gl.STREAM_DRAW); |
| 75 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Uint16Array([1,1,1,1])); |
| 76 gl.bufferSubData(gl.ARRAY_BUFFER, 0, new Uint16Array([1,2,3,4])); |
| 77 gl.bufferData(gl.ARRAY_BUFFER, new Uint16Array(data), gl.DYNAMIC_DRAW); |
| 78 gl.bufferSubData(gl.ARRAY_BUFFER, 16, new Uint16Array([1,1,1,1])); |
| 79 gl.bufferSubData(gl.ARRAY_BUFFER, 0, new Uint16Array([1,2,3,4])); |
| 80 assertEquals(gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE), 12*2); |
| 81 throwError(gl, "array bufferSubData"); |
| 82 } |
| 83 Tests.testBufferSubDataElement = function(gl, buf, ebuf) { |
| 84 var data = [0,0,0,0, 1,0,0,0, 0,1,0,0]; |
| 85 gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint16Array(data), gl.STATIC_DRAW
); |
| 86 gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 16, new Uint16Array([1,1,1,1])); |
| 87 gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 0, new Uint16Array([1,2,3,4])); |
| 88 gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint16Array(data), gl.STREAM_DRAW
); |
| 89 gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 16, new Uint16Array([1,1,1,1])); |
| 90 gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 0, new Uint16Array([1,2,3,4])); |
| 91 gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint16Array(data), gl.DYNAMIC_DRA
W); |
| 92 gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 16, new Uint16Array([1,1,1,1])); |
| 93 gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 0, new Uint16Array([1,2,3,4])); |
| 94 assertEquals(gl.getBufferParameter(gl.ELEMENT_ARRAY_BUFFER, gl.BUFFER_SIZE),
12*2); |
| 95 gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint8Array(data), gl.DYNAMIC_DRAW
); |
| 96 gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 4, new Uint8Array([1,1,1,1])); |
| 97 gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 0, new Uint8Array([1,2,3,4])); |
| 98 assertEquals(gl.getBufferParameter(gl.ELEMENT_ARRAY_BUFFER, gl.BUFFER_SIZE),
12); |
| 99 throwError(gl, "element array bufferSubData"); |
| 100 } |
| 101 |
| 102 Tests.endUnit = function(gl, buf, ebuf) { |
| 103 gl.deleteBuffer(buf); |
| 104 gl.deleteBuffer(ebuf); |
| 105 } |
| 106 |
| 107 </script> |
| 108 <style>canvas{ position:absolute; }</style> |
| 109 </head><body> |
| 110 <canvas id="gl" width="16" height="16"></canvas> |
| 111 </body></html> |
OLD | NEW |