How harryhello/computer-graphic-course works
This is a computer-graphics coursework repository, not one unified application: numbered directories hold independent assignments. The user-facing workflow is to run a lesson or renderer exercise and observe a rendered image or window; the numbered projects cover OpenGL fundamentals, a software-renderer implementation, and a later rasterizer exercise. The README also identifies midterm and final-project materials, but their source trees are not present here, so they are not expanded. Some renderer links below are dashed because the available index shows module references, not runtime calls.
Main entry points: src OpenGL chapters · src/TRRenderer.cpp Renderer · main.cpp Renderer demo · src/TRRenderer.cpp Renderer
Components 23
OpenGL lessons
- Window setup
0000/src/common/app.h - Shader helper
0000/src/common/shader.h - Camera controls
0000/src/common/camera.h - OpenGL chapters
0000/src - Camera lesson
0000/src/07_camera/main.cpp
TinyRenderer
- SDL app
0001/src/TRWindowsApp.cpp - Renderer
0001/src/TRRenderer.cpp - Drawable mesh
0001/src/TRDrawableMesh.cpp - Framebuffer
0001/src/TRFrameBuffer.cpp - Shader pipeline
0001/src/TRShaderPipeline.cpp - Renderer demo
0001/src/main.cpp - SDL app
0002/src/TRWindowsApp.cpp - Renderer
0002/src/TRRenderer.cpp - Drawable mesh
0002/src/TRDrawableMesh.cpp - Framebuffer
0002/src/TRFrameBuffer.cpp - Shader pipeline
0002/src/TRShaderPipeline.cpp - Renderer demo
0002/src/main.cpp
Rasterizer exercise
- Raster demo
0002/improve/main.cpp - Triangle rasterizer
0002/improve/rasterizer.cpp - Triangle data
0002/improve/Triangle.cpp - PNG output
0002/src/savePng.cpp
Other components
- Learner
- Rendered output
Connections 23
- Learner → OpenGL chapters: runs chapter
README.md - OpenGL chapters → Window setup: opens window
0000/src/07_camera/main.cpp - OpenGL chapters → Shader helper: uses helper
0000/src/07_camera/main.cpp - OpenGL chapters → Camera controls: uses controls
0000/src/07_camera/main.cpp - Learner → Renderer demo: runs exercise
README.md - Renderer demo → SDL app: uses app
- Renderer demo → Renderer: uses renderer
- Renderer → Drawable mesh: uses mesh
- Renderer → Framebuffer: uses buffer
- Renderer → Shader pipeline: uses pipeline
- Learner → Renderer demo: runs exercise
README.md - Renderer demo → SDL app: uses app
- Renderer demo → Renderer: uses renderer
- Renderer → Drawable mesh: uses mesh
- Renderer → Framebuffer: uses buffer
- Renderer → Shader pipeline: uses pipeline
- Learner → Raster demo: runs exercise
README.md - Raster demo → Triangle rasterizer: uses rasterizer
- Triangle rasterizer → Triangle data: uses triangle
- Raster demo → PNG output: writes image
- Renderer demo → Rendered output: renders output
- Renderer demo → Rendered output: renders output
- Raster demo → Rendered output: writes output