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.