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.