weak-perspective-projection

Weak Perspective Projection

3d-cube Try this project here: https://fecty.github.io/weak-perspective-projection/bin/web/web.html

Project Overview

This project implements weak perspective projection, a computer graphics technique used for 3D to 2D transformation. It leverages the raylib graphics library to visualize and demonstrate weak perspective projection concepts.

What is Weak Perspective Projection?

Weak perspective projection is a simplified 3D-to-2D transformation technique that:

Project Structure

weak-perspective-projection/
├── include/               # Project header files
│   ├── raylib.h
│   ├── raymath.h
│   └── rlgl.h
├── lib/                   # Compiled libraries
├── bin/                   # Compiled executables
├── src/                   # Project source code
│   └── main.cpp           # Main application entry point
├── media/                 # Project relevant media
├── utility/               # Project relevant utility functions
├── Makefile               # Build configuration
├── README.md              # This file
└── LICENSE                # Project license

Dependencies

raylib 5.5.0+

This project depends on raylib - a simple and easy-to-use graphics library.

Building the Project

Prerequisites

Build Instructions

make

Manual Compilation

# Compile raylib (if not already built)
cd raylib/src
make PLATFORM=PLATFORM_DESKTOP

# Compile the project
cd weak-perspective-projection/
g++ src/main.cpp -o bin/main.out -std=c++17 -isystem include/ -Llib -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 -Wall -Wextra -Wpedantic -Wshadow -Wconversion -Wsign-conversion -O0 -g

Running the Application

./bin/main

License

This project is licensed under the same terms as raylib.

raylib License

raylib is licensed under an unmodified zlib/libpng license - an OSI-certified, BSD-like license that allows static linking with closed source software.

License File: raylib/LICENSE