drdg8 / CG-projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CG Projects

Introduction

This is the assignments for the Computer Graphics course, through which you'll learn how to:

  • construct the simplest framework for a Computer Graphics program;
  • display geometry and pixel data on the screen;
  • use modern OpenGL API (3.3+);
  • use GLSL, a Shading Language compatible with OpenGL;

This will help you understanding:

  • the basic concepts in Computer Graphics:
    • geometry
    • lighting
    • texture
    • graphics pipleine etc;
  • how GPU works to display a frame on the screen;

Basically, I follow the Learning OpenGL tutorials and refactor the old version assignments in an object oriented way. The students should have some knowledge of modern C++. Don't be panic if you haven't learnt C++ yet. You'll write no more than 20 lines of code for most of the assignments.

You can find more materials in Bilibili

How to run

Preliminaries
  • install cmake >= 3.20
  • C++ Compiler supports at least C++14
Build and Compile
cmake -Bbuild .
cd build
cmake --build . --parallel 8
Run
cd bin/Debug
./project1.exe

Windows Executables

Render a Triangle
Render the Chinese National Flag
Transformation Matrices
Scene Roaming
Instanced Rendering
Shading Tutorial
Texture Mapping
Transparency Rendering
Frustum Culling
Post Processing
Shadow Mapping
Ray Tracing
PBR Viewer

About

License:MIT License


Languages

Language:C++ 78.1%Language:GLSL 13.7%Language:CMake 8.1%Language:C 0.2%