Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Grass Rendering in OpenGL - Code Review

The Cherno via YouTube

Overview

Google, IBM & Meta Certificates – 40% Off
One Coursera Plus subscription covers most Professional Certificates on Coursera.
Unlock All Certificates
This code review examines a C++ OpenGL grass renderer, focusing on mesh rendering, shaders, storage buffers, GPU buffer allocation, vertex processing, and performance improvements.

Syllabus

- Rendering lots of grass in OpenGL
- Diving into the code
- Instantiating objects in C++ vs C#/Java
- Shader class
- Variable naming conventions
- Initializing variables
- Some notes on strings
- Pass larger types by const reference
- Using correct types
- Strings in C++ and std::string_view
- .obj format
- Grass mesh
- Rendering meshes
- General notes and C++ code style
- Grass rendering and shaders
- Handling a time variable for shaders
- Storage buffers in OpenGL
- Reduce complexity in hot code paths
- How grass is actually rendered
- Grass vertex shader
- Use mat3 instead of mat4
- Reduce vertex shader complexity
- Don't reallocate GPU buffers
- Inspecting rendering using Nvidia Nsight
- Set buffer data instead of reallocating
- Grass fragment shader + improvements
- Adding variance to grass blade color

Taught by

The Cherno

Reviews

Start your review of Grass Rendering in OpenGL - Code Review

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.