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 |