https://github.com/guicattani/cg-guide-legacy
A modern OpenGL application focused on teaching computer graphics principles through user interaction.
https://github.com/guicattani/cg-guide-legacy
cpp glfw imgui opengl
Last synced: about 1 month ago
JSON representation
A modern OpenGL application focused on teaching computer graphics principles through user interaction.
- Host: GitHub
- URL: https://github.com/guicattani/cg-guide-legacy
- Owner: guicattani
- Created: 2019-11-09T01:18:38.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-12-03T01:19:53.000Z (over 4 years ago)
- Last Synced: 2025-07-14T20:08:45.949Z (11 months ago)
- Topics: cpp, glfw, imgui, opengl
- Language: C++
- Homepage:
- Size: 174 MB
- Stars: 2
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TCC
This is an OpenGL examples project, you can cycle through many different examples and change settings to see how it affects the scene.
RoadMap:
- General
- [x] Imgui integration
- [x] Different files per scene
- [x] Makefile
- [ ] CMake/Premake files to create VS slns and Code Blocks Projects
---
- Demos
- [x] Bezier Lines
- [ ] Culling demo
- [x] Matrix operations
- [ ] Texture mapping
- [x] Different shading techniques (Gourad, Phong, Flat)
- [ ] Frustrum demo
- [x] Lighting
- [ ] Camera movement
- [ ] 2D transformations
- [ ] Normal mapping
- [ ] Raycasting
- [ ] Portals
- [ ] Geometric Shaders
- [ ] Simple 3D Modeling
- [ ] Colliders
# Build
# Pre Requisites
- Download GLFW3 pre-compiled binaries ([here](https://www.glfw.org/download.html)) for the **same** version as your MinGW/VS version and put it in `/lib`.
- Download FreeType ([here](https://github.com/freetype/freetype)) use CMake and skip all dependencies with
```
mkdir build
cd build
cmake -G "MinGW Makefiles" -B build -D CMAKE_DISABLE_FIND_PACKAGE_ZLIB=TRUE -D CMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE -D CMAKE_DISABLE_FIND_PACKAGE_PNG=TRUE -D CMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE -D CMAKE_DISABLE_FIND_PACKAGE_BrotliDec=TRUE ..
```
put the `libfreetype.a` file in the `/lib`
## Windows
Use VS to build for Windows (VS solution pending) or use [GNUWin Make](http://gnuwin32.sourceforge.net/packages/make.htm) and run `make`
## Linux
### Debian
In Debian run `sudo apt-get install libglfw3-dev` and then run `make`
### Arch
In Arch Linux run `yay -S glfw-x11` and run while in `bin` folder and then run `make`