forked from edwardsjohnmartin/MagPhyx
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcircle.js
30 lines (26 loc) · 971 Bytes
/
circle.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var Circle = function() {
// Set up vertices, normals and texture coords
var pointsArray = [];
pointsArray.push(vec4(0.0, 0.0, 0.0, 1.0));
const inc = 5;
for (var i = 0; i <= 360; i += inc) {
var theta = i * Math.PI / 180.0;
var x = Math.cos(theta);
var y = Math.sin(theta);
var z = 0.0;
pointsArray.push(vec4(x, y, z, 1.0));
}
this.numCirclePoints = pointsArray.length;
pointsArray.push(vec4(-0.5, -0.2, 0.0, 1.0));
pointsArray.push(vec4( 0.2, -0.2, 0.0, 1.0));
pointsArray.push(vec4( 0.2, 0.2, 0.0, 1.0));
pointsArray.push(vec4(-0.5, 0.2, 0.0, 1.0));
this.numBasePoints = 4;
pointsArray.push(vec4( 0.0, -0.55, 0.0, 1.0));
pointsArray.push(vec4( 0.6, 0.0, 0.0, 1.0));
pointsArray.push(vec4( 0.0, 0.55, 0.0, 1.0));
this.numTrianglePoints = 3;
this.vertexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, this.vertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER, flatten(pointsArray), gl.STATIC_DRAW);
}