TD4: A Unicode 3D Raycasting Engine in Racket

2020-12-30: Camera light is back

Been busy with other projects ...

2020-12-02: Skies are back

2020-11-26: GUI driver

2020-11-15: Full raycasting, textures from map, many optimizations

2020-11-14: Tile checkers, surface handlers, full 3D

2020-11-12: Ceiling anisotropic mipmapping, multiple floor heights

Floor is still mip-mapped using an angle between ray and u/v unit vectors. For ceiling, additional ray intersections are cast to determine current u-width and v-height at given original intersection. Proof-of-concept floor z-coordinate is tested.

2020-11-08: Anisotropic floor mipmapping based on angle between ray and u/v unit vectors

2020-11-06: Preliminary texturing is back

2020-11-05: Fast full raycasting

2020-11-02: Major rewrite to use full raycasting

2020-10-19: Dynamic lights and shadows, shape testing arena


Positional lights and dynamic shadows

Sector lighting is back

2020-10-16: Floor, ceiling and sky - and textured thin walls

2020-10-15: Anisotropic wall mipmapping - including diagonals and cylinders

2020-10-14: Basic texturing and cylindrical walls

2020-10-13: Transparency of thin walls


New geometry

Dynamic lights in multiple views

2020-10-07: Multiple users

2020-10-06: Telnet access (proof of concept)

2020-10-05: Sprites all around

2020-10-04: Sprites

2020-10-03: Canvas transposition

2020-09-30: Dynamic and sector lighting

2020-09-28: Local lights

2020-09-27: Proper anisotropic mipmapping of floor and ceiling


Anti-aliasing 2x2

Anisotropic mipmapping of walls


Actual frames per second

Color toning

2020-09-23: Lighting

2020-09-22: Sky textures

2020-09-21: Ceiling



Simple mipmapping


Textured walls

Raycasting walls