Skip to content

Raycasting renderer made fully in x86 Assembly without the standard library on x64 Windows.

License

Notifications You must be signed in to change notification settings

GameWin221/x64Raycast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

x64Raycast

Raycasting renderer made fully in x86 Assembly without the standard library on x64 Windows.

It's a partial implementation of Lode Vandevenne's Raycasting Tutorial.

gif

The goal of this project was to learn more about x86 Assembly, low-level optimization tricks and really basic SIMD.

Example app

Try to move around and you can press E to make the blue walls (let's say that they are doors) disappear in one of the corners.

Build

Prerequisites

1. NASM

2. ld (MinGW64)

You can get MinGW64 either by installing msys2 or as a standalone Win64 archive from https://winlibs.com (the easier way)

Command

Make sure you have the MinGW64 directory and NASM both added to PATH!

Use the build.bat file.

OR

Build it yourself:

  • Compile to an object file: nasm -f win64 src/main.asm -o main.o
  • Link (e.g. with ld): ld main.o -luser32 -lkernel32 -lGdi32 -o game.exe --strip-all --subsystem windows

You can use any linker you want, just remember to use the windows subsystem and to link to user32.dll, kernel32.dll and Gdi32.dll.

About

Raycasting renderer made fully in x86 Assembly without the standard library on x64 Windows.

Resources

License

Stars

Watchers

Forks

Packages

No packages published