Skip to content

csevier/Bsp.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intro

Bsp.jl is an implementation of the Binary Space Partioning rendering algorithms that powered Doom in 1993. This project is being done as a part of EvoGL, an effort to retrace the evolution of 3d graphics techniques in the Julia language. See the other render projects , soon.

Features

  • Fully functional level renderer for Vanilla Doom and Doom2 bases wads and mods.
  • Working "automap".
  • Blockmap collisions.
  • Player controller with gravity and accelration.
  • In game photography system, used to snap the screenshots below.
  • Partial support for wad patching. Not all wad formats are supported. (Doom sourceports are many and varied.)

Showcase

Freedoom Freedoom Freedoom Freedoom Freedoom Freedoom Freedoom Freedoom

Usage

    include("src/Bsp.jl")
    Bsp.run(["wads/DOOM1.WAD"], "E1M1")
  • w,a,s,d to move
  • e to take photo
  • f to fullscreen
  • r to turn on and off collisions
  • t to show fps
  • tab to show automap, with g to showblockmap

Todo

See todo.txt

Credits

About

Binary Space Partioning Renderer for the EvoGL project.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages