• Stars
    star
    73
  • Rank 419,106 (Top 9 %)
  • Language
    Julia
  • License
    MIT License
  • Created about 11 years ago
  • Updated almost 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Experimental Quake 2 map renderer written with Julia and modern OpenGL.

Quake2.jl

Experimental Quake 2 map renderer written with Julia and modern OpenGL. Created at Hacker School. It is a toy and not actively developed.

Screenshot

Features

  • Map (.bsp) rendering
  • Per-pixel lighting
  • Support for bump and parallax effects from heightmaps

Requirements

  • Julia v0.2 (still in development - must be built from source)
  • Official Julia packages (can be added with Pkg.add()):
  • Unofficial Julia packages (must be added manually):
    • GL (requires at least OpenGL 3.x)
  • Quake 2 game data (i.e. pak0.pak)

Due to the fast-moving nature of Julia development and its packages, setting up an environment is not easy. In its current state, the code will likely not run outside the author's environment.

Lighting

Traditional Phong shading is applied per-pixel and used in conjunction with point lights parsed from the BSP's entity list. Lightmaps baked into the BSP are not currently being used due to their low resolution and lack of direction information.

Bump and parallax effects can be created by providing an optional height map. Normal maps are calculated automatically from the height map at initialization.

Height map

Normal map

Bump and parallax

The bump and parallax effects breathe new life into the original, low resolution Quake 2 textures.

Diffuse

Combined effect