Professional Documents
Culture Documents
02 Shading Language
02 Shading Language
02 | Shading Language
COMPUTER GRAPHICS AND VISUALIZATION
Agenda
Rendering Loop
VAO, EBO, VBO
GLSL
Vertex Shader
Fragment Shader
Hello World
COMPUTER GRAPHICS AND VISUALIZATION
Objectives
Explain Rendering Loop using OpenGL.
Explain OpenGL Shading Language.
COMPUTER GRAPHICS AND VISUALIZATION
Rendering Loop : Pseudo Code
// initialization commands here
...
// render loop
while(!windowClosed)
{
// input
processInput(window);
// rendering commands here
...
// check and call events and swap the buffers
pollEvents();
swapBuffers(window);
}
COMPUTER GRAPHICS AND VISUALIZATION
Vertex Array Object
A Vertex Array Object (VAO) is an OpenGL Object that
stores all of the state needed to supply vertex data. It
stores the format of the vertex data as well as the
Buffer Objects providing the vertex data arrays
(khronos, 2018).
Enable or disable VAO: glEnableVertexAttribArray or
glDisableVertexAttribArray.
Vertex attribute configurations:
glVertexAttribPointer.
COMPUTER GRAPHICS AND VISUALIZATION
Vertex Array Object (cont.)
Index 3 Index 0
(-0.5, 0.5, 0) (0.5, 0.5, 0)
Quad Drawing:
1st Triangle : 0, 1, 3
2nd Triangle : 1, 2, 3