Skip to content

A very fast and simple software renderer using only integers and fixed point math. PiSHi LE (PL) is a subset of the 3D software graphics library used in King's Crook.

Notifications You must be signed in to change notification settings

LMP88959/PL3D-KC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

49fd4b4 · Nov 29, 2023

History

29 Commits
Dec 27, 2022
Dec 27, 2022
Dec 27, 2022
Jul 30, 2022
Nov 29, 2023
Jul 30, 2022
Jul 30, 2022
Jul 30, 2022
Oct 20, 2022
Jul 30, 2022
Jul 30, 2022
Jul 30, 2022
Jul 30, 2022
Jul 30, 2022
Jul 30, 2022

Repository files navigation

PL3D-KC

PiSHi LE + FW LE Public Domain Source Release by EMMIR 2018-2022

alt text

PiSHi LE (PL) is a subset of the 3D graphics library used in King's Crook. FW LE is a subset of the windowing library used in King's Crook.

Just like King's Crook, this code follows the same restrictions:

  1. Everything must be done in software, no explicit usage of hardware acceleration.
  2. No floating point types or literals, everything must be integer only.
  3. No 3rd party libraries, only C standard library and OS libraries for window, input, etc.
  4. No languages used besides C.
  5. No compiler specific features and no SIMD.
  6. Single threaded.

================================================================ Feature List:

  • N-gon rendering (not limited to triangles)
  • Depth (Z) buffering
  • Flat polygon filling
  • Affine texture mapped polygon filling
  • Near plane clipping
  • Viewport clipping
  • Back face culling
  • Immediate mode interface
  • Matrix stack for transformations
  • Code to generate a box
  • King's Crook DMDL format importer

================================================================

Compiling for macOS/Linux:

  cd PL3D-KC

  cc -O3 -o pl *.c fw/*.c -lX11 -lXext

  ./pl

or use CMake for Linux, macOS or Windows -- tested with GCC, Clang, Intel oneAPI, Visual Studio, NVIDIA HPC SDK, AOCC, ...

cmake -B build
cmake --build build
build/main

macOS requires an X-server such as XQuartz running in the background. Prerequisites for macOS can be installed via Homebrew:

brew install libx11 xquartz

Don't forget to compile with max optimization!

If you have any questions feel free to leave a comment on YouTube OR join the King's Crook Discord server :)

YouTube: https://www.youtube.com/c/LMP88

Discord: https://discord.gg/hdYctSmyQJ

itch.io: https://kingscrook.itch.io/kings-crook

About

A very fast and simple software renderer using only integers and fixed point math. PiSHi LE (PL) is a subset of the 3D software graphics library used in King's Crook.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published