/d3d

Dungeon 3D, a 3D-ish graphics engine for the terminal.

Primary LanguageCMIT LicenseMIT

 ____                                     _____ ____  
|  _ \ _   _ _ __   __ _  ___  ___  _ __ |___ /|  _ \ 
| | | | | | | '_ \ / _` |/ _ \/ _ \| '_ \  |_ \| | | |
| |_| | |_| | | | | (_| |  __/ (_) | | | |___) | |_| |
|____/ \__,_|_| |_|\__, |\___|\___/|_| |_|____/|____/ 
===================|___/==============================

OVERVIEW
--------
This is a 3D ray casting graphics library meant to draw dungeons and other
square maze-like structures. It is intended for use with libcurses-based
graphics, but it can be easily integrated with another drawing system.

DOCUMENTATION
-------------
Documentation is in d3d.h. The demo is under the 'demo' directory.

USAGE
-----
To use this in another project, just copy in some files. d3d.c expects d3d.h to
be in the same directory as it is. If this is not what you want, you can define
D3D_HEADER_INCLUDE to be something other than '"d3d.h"' when compiling d3d.c.

DEPENDENCIES
------------
The header can be used from C89 unless D3D_USE_INTERNAL_STRUCTS is defined. When
compiling the code in d3d.c, however, the C99 standard is required. TinyCC may
not be able to compile d3d.c owing to issues with <tgmath.h>.

This library depends only on the standard library and the standard math library
(compile/link it with -lm.) The demo depends on libcurses for actually drawing
the pixels.