⬡
RR Graphics Lab
MCT
Raushan Ranjan · OpenGL & Vulkan
Computer Graphics with
OpenGL & Vulkan
Complete module-wise reading material, concept notes, real-world analogies,
and direct links to live code demos. Learn how GPUs work, how to write shaders,
and how to build real rendering applications from scratch.
15
Modules
5
Days
60+
Code Demos
25+
Lab Challenges
Quick Navigation — All 15 Modules
Course Content
Module-Wise Notes
Click any module to read detailed notes, analogies, concept diagrams, and find the matching live demo.
All Days
Day 1 — Foundations
Day 2 — 3D World
Day 3 — Advanced OpenGL
Day 4 — Vulkan
Day 5 — Advanced & Integration
Day 1 · Module 1
Introduction to Graphics Programming
Foundations
GPU Architecture
Pipeline
Overview of computer graphics systems
GPU vs CPU: architecture and data flow
OpenGL, Vulkan, DirectX comparison
The rendering pipeline: vertex data to pixels
Day 1 · Module 2
Getting Started with OpenGL
Setup GLFW Context
Setting up the OpenGL development environment
Understanding contexts and buffers
Coordinate systems and transformations
Drawing basic shapes and primitives
Day 1 · Module 3
OpenGL Data Flow
VBO VAO EBO
Data transfer between CPU and GPU
Vertex Buffer Objects (VBO) and Vertex Array Objects (VAO)
Element Buffer Objects (EBO)
Framebuffer overview
Day 2 · Module 4
Transformations and 3D Space
MVP Matrix Depth Testing Camera
Model, View, and Projection transformations
Understanding matrices in OpenGL
Depth testing and perspective projection
Day 2 · Module 5
Lighting and Materials
Phong Diffuse Specular
Basic lighting models (ambient, diffuse, specular)
Phong and Blinn-Phong shading
Implementing lighting with shaders
Day 2 · Module 6
Textures and Mapping
UV Mapping Mipmaps Skybox
Loading and applying textures
Multi-texturing and texture filtering
Cube maps and skyboxes
Day 3 · Module 7
Shaders with GLSL
GLSL Instancing Geometry
Introduction to GLSL
Vertex and fragment shader structure
Passing data to shaders
Geometry shaders and instancing
Day 3 · Module 8
Framebuffers and Effects
FBO Post-Processing MSAA
Using framebuffers for post-processing
Implementing transparency and blending
Anti-aliasing and multisampling techniques
Depth and stencil buffers
Day 3 · Module 9
Optimization and Performance
Draw Calls RenderDoc Memory
Draw call reduction strategies
Efficient memory management
Profiling and debugging OpenGL applications
Day 4 · Module 10
Vulkan Overview
Vulkan SDK Architecture SPIR-V
Introduction to Vulkan and its architecture
Differences between Vulkan and OpenGL
Setting up the Vulkan development environment
Day 4 · Module 11
Vulkan Core Concepts
Devices Command Buffers Memory
Instances, physical and logical devices
Queues and command buffers
Memory management in Vulkan
Day 4 · Module 12
Rendering with Vulkan
Swapchain Pipeline Sync
Creating swap chains, pipelines, and render passes
Recording and submitting command buffers
Synchronization with semaphores and fences
Day 5 · Module 13
Vulkan Compute & Advanced Rendering
GPU Compute Descriptors Models
Using Vulkan for GPU computing
Model loading and rendering
Descriptor sets and uniforms
Performance tuning
Day 5 · Module 14
Integration & Cross-Platform Development
C# Unity Android
Integrating Vulkan/OpenGL with C++, C#, Unity, Android
Debugging and validation layers
Porting OpenGL code to Vulkan
Day 5 · Module 15
Capstone Project & Review
Capstone Best Practices Q&A
Building a graphics demo using both APIs
Recap of key concepts
Q&A and best practices
Environment
Software Stack
Every tool on your VM — what it is and exactly why it exists in this course.