s21_3d_model_viewer

💎 A simple 3D model viewer written in C++. (School 42)

3d-models · 3d-viewer · cpp17 · glew · glm
入门
GitHub在线演示
Stars:14
License:MIT License
更新:2025/5/25

README

3d Model Viewer

https://user-images.githubusercontent.com/89563512/185046853-f8f23cd4-393c-422b-9a43-45ed69e03d9b.mov

Table of Contents

Introduction

Implementation of the model viewer in C++ following the principles of structured programming.

Goals

  • Obj parser
  • Render a model (Vertices & Faces support)
  • Translate the model by a given distance in relation to the X, Y, Z axes.
  • Rotate the model by a given angle relative to its X, Y, Z axes.
  • Scale the model by a given value.
  • Gui with Imgui/GLFW
  • Code is well documented
  • Make all, install, uninstall, clean, dvi, dist, tests, gcov targets implemented
  • Unit Tests
  • Add previews

Build and Dependencies

You'll need to install clang++, make, googletest, pkg-config, glfw3 glew glm and doxygen(if you need the documentation).

$ git clone https://github.com/bezlant/s21_3d_model_viewer --recursive
$ cd s21_3d_model_viewer/src/
$ make 
$ make -f test.mk (for tests)

Tests

  • Unit tests are implemented using googletest & coverage report with LCOV

https://user-images.githubusercontent.com/89563512/185046855-eac522be-4ea8-49e9-922c-bc89f1c2f03c.mov