Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/misterrooster/ogl-gui-starter
Simple OpenGL starter project with GUI
https://github.com/misterrooster/ogl-gui-starter
cpp graphics imgui opengl rendering
Last synced: 13 days ago
JSON representation
Simple OpenGL starter project with GUI
- Host: GitHub
- URL: https://github.com/misterrooster/ogl-gui-starter
- Owner: MisterRooster
- License: mit
- Created: 2024-04-12T18:24:26.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-04-25T00:34:05.000Z (7 months ago)
- Last Synced: 2024-04-25T02:09:37.353Z (7 months ago)
- Topics: cpp, graphics, imgui, opengl, rendering
- Language: C++
- Homepage:
- Size: 1.25 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![Preview](preview.png)
# ogl-gui-starter
This project is a small OpenGL application using GLFW3 with imgui embedded as graphical user interface.
It's purpose is to be used as a basis to quickly prototyping and implementing OpenGL scenarios or as a starting point for your own gui OpenGL application.
Same useful helper classes for rendering, file reading/writing etc. are provided.> **Note**:
Support for OpenGL 4.4 core profile is required.## How to Compile
Clone the repo:
```bash
git clone git://github.com/MisterRooster/ogl-gui-starter.git
```Then simply run CMake with your favourite IDE. Tested with Visual Studio 2022,
no working guarantee for other environments.
Example commands for VS 2022:```bash
cd ogl-gui-starter
mkdir build
cd build
cmake -G "Visual Studio 17"..
```If you are using **Visual Studio Code**, checkout [How to compile with VS Code](docs/compile-instructions-vscode.md).
## 3rd Party
**ogl-gui-starter** uses 3rd party software, which are located in the `./dependencies` folder as submodules and built with the program. A copy of each is included in the repository when built.
Structure and description of 3rd parts libraries and related copyrights & licenses:- dependecies/**glfw** → A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
uses version 3.3.8 - [*tag (3.3.8)*](https://github.com/glfw/glfw/tree/3.3.8) - [*License*](https://github.com/glfw/glfw/blob/3.3.8/LICENSE.md)- dependencies/**glew** → GL/GLES/EGL/GLX/WGL Loader
uses a slightly altered version compatible with *CMake* named [**glew-cmake**](https://github.com/Perlmint/glew-cmake) - [*tag (glew-cmake-2.2.0)*](https://github.com/Perlmint/glew-cmake/tree/glew-cmake-2.2.0) - [*License*](https://github.com/nigels-com/glew/blob/glew-2.2.0/LICENSE.txt)- dependencies/**glm** → OpenGL vector and matrix math with SIMD
uses version 9.9.8 - [*commit (47585fd)*](https://github.com/g-truc/glm/tree/47585fde0c49fa77a2bf2fb1d2ead06999fd4b6e) - [*License*](https://github.com/g-truc/glm/blob/47585fde0c49fa77a2bf2fb1d2ead06999fd4b6e/copying.txt)- src/thirdparty/**stb_image.h** → Single file image loader
uses version 2.28 - [*commit (5736b15)*](https://github.com/nothings/stb/tree/5736b15f7ea0ffb08dd38af21067c314d6a3aae9) - [*License*](https://github.com/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/LICENSE)- dependecies/**imgui** → Dear ImGui
uses **docking** release of **imGui** - [*tag (v1.89.8-docking)*](https://github.com/ocornut/imgui/tree/v1.89.8-docking) - [*License*](https://github.com/ocornut/imgui/blob/v1.89.8-docking/LICENSE.txt)The following resources are used:
- data/**icons** → Application icon made by [@Smashicons](https://www.flaticon.com/authors/smashicons) on
[Flaticon](https://www.flaticon.com/)
[https://www.flaticon.com/free-icon/cock_2490630](https://www.flaticon.com/free-icon/cock_2490630)- data/**fonts** → Regular Font and Icon Font by Microsoft and [Pictogrammers](https://pictogrammers.com/)
[**Ubuntu-Regular.ttf**](https://fonts.google.com/specimen/Ubuntu) - [*License*](https://ubuntu.com/legal/font-licence),
[**MaterialDesignIconsDesktop.ttf**](https://github.com/Templarian/MaterialDesign-Font) - [*License*](https://pictogrammers.com/docs/general/license/)- src/shaders/**volumetricStanford.frag** → Altered shader based on Volumetric Stanford Bunny 2 made by [@FabriceNeyrat2](https://www.shadertoy.com/user/FabriceNeyret2) on [Shadertoy](https://www.shadertoy.com/)
[https://www.shadertoy.com/view/ls2BRt](https://www.shadertoy.com/view/ls2BRt)
-----
Copyright (c) 2022 MisterRooster ([github.com/MisterRooster](https://github.com/MisterRooster)). All rights reserved.
Licensed under the MIT license. See [LICENSE](LICENSE) for full terms.