OpenGL Template Engine - a C++ OpenGL graphics engine which aimed to be a simple startup template for 3D OpenGL projects.

OpenGL Template Engine

OpenGL Template Engine is a C++ OpenGL graphics engine which aimed to be a simple startup template for 3D OpenGL projects. This is the template I personally use for my own projects and provides me with the general OpenGL 3D render setup with model import and UI.

Screenshots

3D Viewport

Features

Camera Component

  • Movement (Left, Right, Forward, Backward, Up and Down)
  • Viewport and Window resize support

Model Component

  • Import (FBX, OBJ, COLLADA, ASSBIN)
  • Texture support
  • Transform (Position, Orientation and Scale)
  • Vertex Bone Weights

Render

  • Draw Models
  • Basic Shaders
  • Depth Buffer Fog
  • Basic Software Architecture and built upon template TheCherno/OpenGL
  • Framebuffer

Libraries (Included)

All libraries are statically linked!

Window & Input system : glfw

OpenGL Function Loader : glad

OpenGL Mathematic Functions : glm

Image Loading : stb

Mesh Loading : Assimp

User Interface: ImGui

Getting Started

Currently only "officially" supports Windows - Mac and Linux support is coming soon.

git clone --recursive https://github.com/MarcusMadland/OpenGL-Template-Engine.git

Run scripts/Win-Premake.bat and open OpenGL-Sandbox.sln in Visual Studio. OpenGL-Sandbox/src/SandboxLayer.cpp contains the OpenGL template code that's running. Everything should run out of the box fine. Let me know if there are any issues.

Credits

  • Marcus N. Madland
  • Yan Chernikov (TheCherno/OpenGL)
Similar Resources

Maker of special .exe, which contains additional files which are unpacked when .exe is run

exe-archivator Program that make exec-me.exe, which contains additional files which are unpacked when exec-me.exe is run. After compleating unpacking

Dec 17, 2021

Visualization Library is a C++ middleware for high-performance 2D and 3D graphics applications based on OpenGL 1.x-4.x supporting Windows, Linux and Mac OS X.

Visualization Library 2.2 Gallery About Visualization Library is a C++ middleware for high-performance 2D and 3D graphics applications based on the in

Nov 8, 2022

Rewritten version of the MiniLibX graphics API used by 42, using glfw & glad. Running on OpenGL.

Rewritten version of the MiniLibX graphics API used by 42, using glfw & glad. Running on OpenGL.

Written by W2.Wizard for the 42 Network A recreation of the MiniLibX library used by 42, using GLFW & glad, running on OpenGL. The goal of MLX42 is to

Dec 29, 2022

A set of tutorial projects for creating a simple digital radio receiver based on the STM32G431KB microcontroller

simple-radio Обучающие проекты по созданию простого цифрового радиоприемника на базе микроконтроллера STM32G431KB. Разработка программ выполнялась в W

Sep 21, 2022

A template to build a 3DS firmware binary which just has an Arm9 section

minifirm A template to build a 3DS firmware binary which just has an Arm9 section. Install dependencies $ sudo apt install gcc-arm-none-eabi binutils-

Oct 31, 2022

Two Tribes Engine; the engine which we used to create Toki Tori 2+ and RIVE with

Two Tribes Engine We, Two Tribes, have used this engine for over a decade. It started with early development on the Nintendo DS and ultimately resulte

Nov 28, 2022

This is a C plus plus coding template for Compitative programming. This template is very optimized for the Online Judgment

C-plusplus-compitative-Programming-Template Tech We Used C++ Features Easy to compile Easy debug facility Analysised and optimized base template Steps

Jan 27, 2022

SSD1306 library and simple graphics core library based on Adafruit GFX Library.

Raspberry Pico SSD1306 + GFX Library Based on Adafruit GFX Library https://github.com/adafruit/Adafruit-GFX-Library Usage Hardware Connect your SSD130

Sep 1, 2022

IconVG is a compact, binary format for simple vector graphics: icons, logos, glyphs and emoji.

IconVG is a compact, binary format for simple vector graphics: icons, logos, glyphs and emoji.

IconVG IconVG is a compact, binary format for simple vector graphics: icons, logos, glyphs and emoji. WARNING: THIS FORMAT IS EXPERIMENTAL AND SUBJECT

Jan 5, 2023
Windows file startup creator write in c++
Windows file startup creator write in c++

startup-creator Language Simple program written in c++, for you to place your programs at windows startup. ?? Requirements Latest Mingw-64 or Mingw-32

Jan 22, 2022
Sharpmake is an open-source C#-based solution for generating project definition files, such as Visual Studio projects and solutions, GNU makefiles, Xcode projects, etc.

Sharpmake Introduction Sharpmake is a generator for Visual Studio projects and solutions. It is similar to CMake and Premake, but it is designed for s

Dec 23, 2022
F Graphics Library (FGL) is a small graphics C++ portable library for LCD displays on embedded systems

F Graphics Library (FGL) Full documentation: fgl.docsforge.com (By Filipe Chagas) F Graphics Library is a C++ library that I created for use in embedd

Oct 31, 2022
GraphicsFuzz provides tools for automatically finding and simplifying bugs in graphics drivers, specifically graphics shader compilers.

GraphicsFuzz GraphicsFuzz is a set of tools for testing shader compilers GraphicsFuzz provides tools for automatically finding and simplifying bugs in

Dec 15, 2022
CSC404: Computer Graphics [CG] & CSL402: Computer Graphics Lab [CG Lab]

COMPUTER-GRAPHICS-AND-COMPUTER-GRAPHICS-LAB CSC404: CG & CSL402: CG LAB [SEMESTER IV] Syllabus CG - Reference Books THE WALL MEGA SATISH - AUTHOR CG C

Apr 28, 2022
CSGO-P2C-Dumper is a process memory dumper aimed to target CS:GO internal cheats
CSGO-P2C-Dumper is a process memory dumper aimed to target CS:GO internal cheats

CSGO-P2C-Dumper is a process memory dumper aimed to target CS:GO internal cheats, while offering additional reversing aid.

Dec 13, 2022
waved is aimed at becoming a userspace driver for the reMarkable 2 E-Ink controller.

waved waved is aimed at becoming a userspace driver for the reMarkable 2 E-Ink controller. Disclaimer: This is still a prototype. It might damage your

Oct 10, 2022
An improved plot widget for Dear ImGui, aimed at displaying audio data
An improved plot widget for Dear ImGui, aimed at displaying audio data

imgui-plot An improved plot widget for Dear ImGui, aimed at displaying audio data TOC Screenshots Rationale Usage Installation FAQ Screenshots Display

Jan 3, 2023
ContactGot is an offline desktop app, where clients can leave their info, while an administrator can manage which information they need to gather on certain projects.
ContactGot is an offline desktop app, where clients can leave their info, while an administrator can manage which information they need to gather on certain projects.

ContactGot Contents Description How to use Requirements Engineering Installation Documentation Design Architecture Demonstration 1. Description During

Sep 17, 2022
Standard project template for C++ projects, modeled after OpenCV's GitHub

C++ Project Template Generic C++ modular template for projects. Project Structure The project structure is created to maximize modularity, increase co

Apr 21, 2022