1
0
Fork 0
mirror of https://git.coom.tech/drummyfish/raycastlib.git synced 2024-11-21 20:29:59 +01:00
raycastlib/README.md
2018-10-23 06:28:36 +00:00

1.8 KiB

raycastlib

Ray casting library for (not only) limited-resource computers.

Take a look at my Pokitto demos repository, it contains some better code for learning the usage, including a very simple hello world.

eye-candy previews

Pokitto:

SDL:

Arduboy:

terminal:

Gamebuino META (quick and dirty port):

features

  • Very fast, small and efficient.
  • Uses only integer math.
  • No dependencies (uses only stdint standard library).
  • Single header, KISS.
  • Advanced rendering of variable height floor and ceiling.
  • Textured walls and floor.
  • Depth information (for fog).
  • Camera shearing (looking up/down).
  • Camera movement with collisions.
  • Support for opening door.
  • Pure C, tested to run as C++ as well.
  • Optional framework functions that handle the whole rendering.
  • Still flexible -- pixels are left for you to draw in any way you want.
  • Tested on multiple platforms (PC, Arduboy, Pokitto).
  • Many compile-time options to tune the performance vs quality.
  • Well commented code.

NOTE: Backwards compatibility isn't a goal of this libraray. It is meant to be an as-is set of tools that the users is welcome to adjust for their specific project. So new features will be preferred to keeping the same interface.

TODO

  • Transparency (conditional ray passing through).
  • Doors in the middle of squares.
  • Rolling doors for RCL_renderComplex.
  • Possibly merge all rendering functions into one.

license

Everything is CC0 1.0. Please share your own software as free and open-source.