Skip to content

AaronTian-stack/opengl-model-viewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenGL Model Viewer

A 3D model viewer written in C++ that renders .obj files using OpenGL. This was my first ever OpenGL project and is old, you should check out my more recent (and much more advanced) Vulkan Renderer.

Features

  • Model loading from .obj files
    • Diffuse texture materials
  • Smooth orbital camera
  • A few shaders
  • ImGui control interface
    • Model translation, rotation, scale
      • Model turntable animation
    • Camera controls (aiming reticle, FOV)
    • Background color
    • Wireframe mode
  • Windows and macOS support

Video / Screenshots

image
oshi

oshi.obj/mtl

preview

kind.obj/mtl

oshi_squash

squish

Credits

Models Link License
Spirit Blossom Kindred Sketchfab CC Attribution
Oshi No Ko Sketchfab CC Attribution
Fiesta Tea Sketchfab CC Attribution
Painterly Cottage Sketchfab CC Attribution - Non-commercial

The other bundled models (cubt.obj and plane.obj) are debug models created by myself.

shader.cpp is taken from the LearnOpenGL tutorial.

camera.cpp is a heavily modified version of the camera class from the same tutorial.

References

learnopengl

inigo quilez

Dependencies

Library Link
GLFW Website
glad Website
GLM Github
OBJ-Loader Github
ImGui Github

This project was built with CMake.

About

C++ OpenGL obj model viewer

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published