Skip to content

hchalin/Model-loader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

105 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Model Loader v1 (metal-cpp)

A lightweight 3D model loader and renderer built with metal-cpp, Apple’s C++ interface for the Metal graphics API.
This is my first graphics engineering project — aimed at learning modern rendering pipelines while keeping everything in pure C++.

v2 is currenlty underway!


✨ Features

  • Written entirely with metal-cpp.
  • Loads and renders 3D models with vertex data and basic materials.
  • Implements a clean separation of concerns:
    • Window – window/context creation (GLFW-backed).
    • Renderer – manages pipelines, command encoding, and drawing.
    • Model – loads and stores mesh data.
    • Camera – view & projection handling.
    • Transform – reusable math for positions, rotations, scaling.
  • Extensible design — built so you can plug in more features like lighting, animations, or instancing.

🖥️ Demo

Cube Example
Cube Render
Fox Example
Fox Render

🚀 Getting Started

Prerequisites

  • macOS 14+ with Xcode Command Line Tools
  • CMake 3.15+
  • GLFW (installed via Homebrew or vcpkg)
  • A Metal-capable GPU (Apple Silicon or AMD/Nvidia on macOS)

Build Instructions

git clone https://github.com/hchalin/Model-loader.git
cd Model-loader
mkdir build && cd build
cmake ..
make -j4
./Model_Viewer

About

This is a model loader build in metal-cpp

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors