O'Reilly logo

Mastering openFrameworks: Creative Coding Demystified by Denis Perevalov

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Structure of a shader's code

The shader's text is a C++ file and contains the void main() function. This function works on GPU and is called once for processing every object (vertex, primitive, or pixel, depending on the shader's type). The main() function has no parameters. All the necessary parameters such as coordinates, colors, and textures are held by built-in GLSL variables such as gl_Color and gl_Position. Also, you can use your own custom parameters passed from your CPU code, such as float time (see the Passing a float parameter to a shader section).

The simplest code for the fragment shader will look as follows:

#version 120
void main() {
  gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );
}

This shader will render everything in the red color. Namely, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required