d3d_draw_cylinder(x1, y1, z1, x2, y2, z2, tex, hrepeat, vrepeat, closed, steps)
Argument | Description |
---|---|
x1 | The initial x coordinate of the cylinder. |
y1 | The initial y coordinate of the cylinder. |
z1 | The initial z coordinate of the cylinder. |
x2 | The opposite x coordinate of the cylinder. |
y2 | The opposite y coordinate of the cylinder. |
z2 | The opposite z coordinate of the cylinder. |
tex | The id of the texture to use (-1 for no texture) |
hrepeat | Amount of horizontal repetitions for the texture. |
vrepeat | Amount of vertical repetitions for the texture. |
closed | Sets whether to close (true) the top and bottom of the cylinder or not (false). |
steps | How many steps are used to make the cylinder "round" (typically 24) |
Returns: N/A
This function draws a simple cylinder in 3D space. You set the
first bounding corner coordinates (x1,y1,z1) and then the bounding
coordinates for the opposite corner, with the final cylinder
being drawn inside this defined rectangular area. You then specify
a texture for the cylinder and the amount of times that you wish
this texture to be repeated vertically and horizontally (1 for no
repeat). If you do not wish to use a texture you can set this to -1
and the hrepeat and vrepeat values will be ignored. Finally you
have to set whether you want to close the ends of the cylinder or
not (set to true for closed, and false for open)
as well as how many "steps" should be used to make the cylinder
look "round", with a value of 24 being the average.
Note:If the texture has to repeat over the cylinder, the
source texture must be a power of 2 in size (eg: 8x8, 128x128,
256x256 etc...), otherwise you can use any size texture.
var tex;
tex = background_get_texture(bck_Wall);
d3d_draw_cylinder(20, 20, 20, 80, 40, 200, tex, 1, 1, true,
24);
d3d_draw_cylinder(200, 300, -10, 240, 340, 100, tex, 1, 1, false,
24);
The above code stores a texture in the variable "tex" and then uses it to texture two cylinders (one open and one closed) that have been drawn at different positions.