For those that like to throw pies, here is a cached draw circle function, simple, raw and unoptimized.
Code:
/************************************
drawCircle3D0
*************************************/
var drawCircleS0[3];
var drawCircleE0[3];
function drawCircle3D0(&_pos, _radius, _res, &_color) {
var angle0; angle0 = 0;
var i0; i0 = 0;
var vec11[3];
while (i0 < (_res + 1)) {
angle0 = 360 / _res * i0;
drawCircleE0[0] = 0; drawCircleE0[1] = _radius; drawCircleE0[2] = 0;
vec_rotate(drawCircleE0, vector(0, 0, angle0));
vec_add(drawCircleE0, _pos);
if (i0 > 0) {
drawLine3D0(drawCircleS0, drawCircleE0, _color, 100);
//printVec0("drawCircleS0 = ", drawCircleS0);
//printVec0("drawCircleE0 = ", drawCircleE0);
}
//printVar0("angle0 = ", angle0);
i0 += 1;
vec_set(drawCircleS0, drawCircleE0);
}
}
The previously shown sample, uses a res of 60 divisions or so.
A7 users must pay a fee of 55 Euros to use derivatives of the above function (sub par or not).