A little program to preview GLTF models
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
glad
glfw @ 90e2294
glm @ 7590260
imgui
include/nlohmann
src
.gitignore
.gitmodules
CMakeLists.txt
LICENSE.MD
README.md
setup.sh

README.md

GLTF Viewer

A little program to preview GLTF models with a few custom settings.

Currently focusing on University studies so development has slowed down.

Built with GLFW3, glad, GLM, imgui and nholmann/json using CMake and C++

Features

  • Supports loading scenes and cameras

Planned Features

  • Load GLTF and GLB files
  • Post procressing shaders
  • Live reloading of assets
  • Multi camera viewports
  • Custom skybox and ILB

Goals

The goal of this project was to learn more about glTF, learn about creating PBR and try to create a useable program that might have a real world use. I haven't designed the program to be as efficient on memory as possible as the intended use case is for previewing scenes and/or models. There are many optimisations that could be made if loading a glTF file for a game to reduce loading time and memory usage.

Build

GLTF Viewer uses CMake to build, allowing it to be used across multiple systems. There are a few ways you can build this project depending on what system and toolsets you have available:

Vcpkg

If you use Microsoft's Vcpkg, first install all the dependencies:

.\vcpkg install glfw3 glm

Then build appending -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]\scripts\buildsystems\vcpkg.cmake -DUSE_VCPKG to the command:

cmake -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]\scripts\buildsystems\vcpkg.cmake --build . 

Windows

GLTF Viewer doesn't include some libraries in the repo, instead preferring for the user to download them.

Linux/MacOS

By default, this project will load GLM and GLFW3 using find_package which require them to be installed. Please see their respective pages on how to install them.

You can disable this behaviour and load a local version instead by setting the options USE_GLM_PACKAGE and USE_GLFW_PACKAGE to OFF respectively. You'll then need to download these files manually however this can be done automatically by running setup.sh

License

This project is provided under the MIT License. See LICENSE.MD for more information.

Library Licenses

Please see the libraries respective directories or links for the full license.

  • nholmann/json - MIT License
  • imgui - MIT License
  • GLM - The Happy Bunny License (Modified MIT License)
  • GLFW - zlib/libpng
  • Glad - MIT License (Generated code is CC0)