scene_polygon3d - Man Page

Puts a polygon in the scene rendering list. Allegro game programming library.

Synopsis

#include <allegro.h>

int scene_polygon3d(int type, BITMAP *texture, int vc, V3D *vtx[]);

int scene_polygon3d_f(int type, BITMAP *texture, int vc, V3D_f *vtx[]);

Description

Puts a polygon in the rendering list. Nothing is really rendered at this moment. Should be called between clear_scene() and render_scene().

Arguments are the same as for polygon3d(), except the bitmap is missing. The one passed to clear_scene() will be used.

Unlike polygon3d(), the polygon may be concave or self-intersecting. Shapes that penetrate one another may look OK, but they are not really handled by this code.

Note that the texture is stored as a pointer only, and you should keep the actual bitmap around until render_scene(), where it is used.

Since the FLAT style is implemented with the low-level hline() function, the FLAT style is subject to DRAW_MODEs. All these modes are valid. Along with the polygon, this mode will be stored for the rendering moment, and also all the other related variables (color_map pointer, pattern pointer, anchor, blender values).

The settings of the CPU_MMX and CPU_3DNOW flags of the cpu_capabilities  global variable on entry in this routine affect the choice of low-level  asm routine that will be used by render_scene() for this polygon.

Return Value

Returns zero on success, or a negative number if it won't be rendered for lack of a rendering routine.

See Also

create_scene(3), clear_scene(3), render_scene(3), destroy_scene(3), polygon3d(3), cpu_capabilities(3), exscn3d(3)

Referenced By

clear_scene(3), create_scene(3), destroy_scene(3), exscn3d(3), render_scene(3), scene_gap(3).

The man page scene_polygon3d_f(3) is an alias of scene_polygon3d(3).

version 4.4.3 Allegro manual