1 |
function d3d_model_cylinder(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) |
2 |
{ |
3 |
var __ind = arg0; |
4 |
var __x1 = arg1; |
5 |
var __y1 = arg2; |
6 |
var __z1 = arg3; |
7 |
var __x2 = arg4; |
8 |
var __y2 = arg5; |
9 |
var __z2 = arg6; |
10 |
var __hrepeat = arg7; |
11 |
var __vrepeat = arg8; |
12 |
var __closed = arg9; |
13 |
var __steps = arg10; |
14 |
if (__steps < 3) |
15 |
__steps = 3; |
16 |
if (__steps > 128) |
17 |
__steps = 128; |
18 |
var __cc; |
19 |
__cc[__steps] = 0; |
20 |
var __ss; |
21 |
__ss[__steps] = 0; |
22 |
for (var __i = 0; __i <= __steps; __i++) |
23 |
{ |
24 |
var __rad = (__i * 2 * pi) / __steps; |
25 |
__cc[__i] = cos(__rad); |
26 |
__ss[__i] = sin(__rad); |
27 |
} |
28 |
var __mx = (__x2 + __x1) / 2; |
29 |
var __my = (__y2 + __y1) / 2; |
30 |
var __rx = (__x2 - __x1) / 2; |
31 |
var __ry = (__y2 - __y1) / 2; |
32 |
if (__closed == true) |
33 |
{ |
34 |
d3d_model_primitive_begin(__ind, 6); |
35 |
d3d_model_vertex_normal_texture(__ind, __mx, __my, __z2, 0, 0, 1, 0, __vrepeat); |
36 |
for (var __i = 0; __i <= __steps; __i++) |
37 |
d3d_model_vertex_normal_texture(__ind, __mx + (__cc[__i] * __rx), __my + (__ss[__i] * __ry), __z2, 0, 0, 1, 0, __vrepeat); |
38 |
d3d_model_primitive_end(__ind); |
39 |
} |
40 |
d3d_model_primitive_begin(__ind, 5); |
41 |
for (var __i = 0; __i <= __steps; __i++) |
42 |
{ |
43 |
d3d_model_vertex_normal_texture(__ind, __mx + (__cc[__i] * __rx), __my + (__ss[__i] * __ry), __z2, __cc[__i], __ss[__i], 0, (__hrepeat * __i) / __steps, __vrepeat); |
44 |
d3d_model_vertex_normal_texture(__ind, __mx + (__cc[__i] * __rx), __my + (__ss[__i] * __ry), __z1, __cc[__i], __ss[__i], 0, (__hrepeat * __i) / __steps, 0); |
45 |
} |
46 |
d3d_model_primitive_end(__ind); |
47 |
if (__closed == true) |
48 |
{ |
49 |
d3d_model_primitive_begin(__ind, 6); |
50 |
d3d_model_vertex_normal_texture(__ind, __mx, __my, __z1, 0, 0, -1, 0, 0); |
51 |
for (var __i = __steps; __i >= 0; __i--) |
52 |
d3d_model_vertex_normal_texture(__ind, __mx + (__cc[__i] * __rx), __my + (__ss[__i] * __ry), __z1, 0, 0, -1, 0, 0); |
53 |
d3d_model_primitive_end(__ind); |
54 |
} |
55 |
} |