Draws a simple 3D ellipsoid.


d3d_draw_ellipsoid(x1, y1, z1, x2, y2, z2, tex, hrepeat, vrepeat, closed, steps)

Argument Description
x1 The initial x coordinate of the ellipsoid.
y1 The initial y coordinate of the ellipsoid.
z1 The initial z coordinate of the ellipsoid.
x2 The opposite x coordinate of the ellipsoid.
y2 The opposite y coordinate of the ellipsoid.
z2 The opposite z coordinate of the ellipsoid.
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.
steps How many steps are used to make the ellipsoid "round" (typically 24)

Returns: N/A


This function draws a simple ellipsoid 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 ellipsoid being drawn inside this defined rectangular area. You then specify a texture for the ellipsoid 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 base of the cone or not (set to true for closed, and false for open) as well as how many "steps" should be used to make the ellipsoid look "round", with a value of 24 being the average.

Note:If the texture has to repeat over the ellipsoid, 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_ellipsoid(20, 20, 20, 80, 40, 200, tex, 1, 1, 24);
d3d_draw_ellipsoid(200, 300, -10, 240, 340, 100, tex, 1, 1, 24);

The above code stores a texture in the variable "tex" and then uses it to texture two ellipsoids that have been drawn at different positions.

Back: 3D Drawing
Next: d3d_draw_wall
© Copyright YoYo Games Ltd. 2018 All Rights Reserved