ex3d (3) - Linux Man Pages

ex3d: 3d 'bouncy cubes' demo. Allegro game programming library.


ex3d - 3d 'bouncy cubes' demo. Allegro game programming library.


#include <allegro.h>

Example ex3d


This program demonstrates how to use the 3d matrix functions. It isn't a very elegant or efficient piece of code, but it does show the stuff in action. It is left to the reader as an exercise to design a proper model structure and rendering pipeline: after all, the best way to do that sort of stuff varies hugely from one game to another.

The example first shows a screen resolution selection dialog. Then, a number of bouncing 3d cubes are animated. Pressing a key modifies the rendering of the cubes, which can be wireframe, the more complex transparent perspective correct texture mapped version, and many other.


BITMAP(3), COLOR_MAP(3), END_OF_MAIN(3), MATRIX(3), PALETTE(3), POLYTYPE_ATEX(3), POLYTYPE_ATEX_LIT(3), POLYTYPE_ATEX_MASK(3), POLYTYPE_ATEX_MASK_LIT(3), POLYTYPE_ATEX_MASK_TRANS(3), POLYTYPE_ATEX_TRANS(3), POLYTYPE_FLAT(3), POLYTYPE_GCOL(3), POLYTYPE_GRGB(3), POLYTYPE_PTEX(3), POLYTYPE_PTEX_LIT(3), POLYTYPE_PTEX_MASK(3), POLYTYPE_PTEX_MASK_LIT(3), POLYTYPE_PTEX_MASK_TRANS(3), POLYTYPE_PTEX_TRANS(3), RGB(3), RGB_MAP(3), SCREEN_H(3), SCREEN_W(3), V3D(3), allegro_error(3), allegro_exit(3), allegro_init(3), allegro_message(3), apply_matrix(3), bitmap_color_depth(3), bitmap_mask_color(3), blit(3), clear_bitmap(3), clear_to_color(3), color_map(3), create_bitmap(3), create_light_table(3), create_rgb_table(3), create_trans_table(3), desktop_palette(3), destroy_bitmap(3), fixed(3), fixtoi(3), font(3), get_transformation_matrix(3), gfx_mode_select_ex(3), install_keyboard(3), install_mouse(3), install_timer(3), itofix(3), key(3), keypressed(3), line(3), palette_color(3), persp_project(3), polygon_z_normal(3), quad3d(3), readkey(3), rect(3), retrace_count(3), rgb_map(3), screen(3), set_color_depth(3), set_gfx_mode(3), set_palette(3), set_projection_viewport(3), set_trans_blender(3), textout_ex(3), textprintf_ex(3), vsync(3)