in this tutorial, I cover the basics of the content we will go over in the next tutorial.
Implementation Video: • Ncurses Render Engine Tutorial: pt 11 (Sha...
Github: https://github.com/youngbrycecode/Ren...
Shader: Code thats run many times during the render process allowing easy customization for various stages of the render process
Vertex Shader: Run on each vertex. Outputs the final position of the vertex as a Vector4.
Fragment Shader: Modifies the color of each pixel which is rendered. Used for lighting, reflections, refractions, water, etc.
Uniforms: Used to update shader data in real time without modifying buffer data which is usually stored in a location in memory which is hard or slow to modify. Uniforms are typically used to update an object's location, or the camera's position/projection.
VertexArrayObject: Stores vertex data about an object. Can be used in a similar way as a uniform, but should generally be set once and not updated again unless necessary. The information here can be used to calculate the final position of a vertex in the vertex shader, but calculated data may also be interpolated and passed to the fragment shader in the same way.
Chapters:
0:00 Introduction
0:28 Vertex Shader
1:33 Fragment Shader
2:02 Uniforms
2:40 VAO
3:30 Interface