.\" Automatically generated by Pandoc 2.9.2.1 .\" .TH "ALLEGRO_SHADER_TYPE" "3alleg5" "" "Allegro reference manual" "" .hy .SH NAME .PP ALLEGRO_SHADER_TYPE - Allegro 5 API .SH SYNOPSIS .IP .nf \f[C] #include typedef enum ALLEGRO_SHADER_TYPE ALLEGRO_SHADER_TYPE; \f[R] .fi .SH DESCRIPTION .PP Used with al_attach_shader_source(3alleg5) and al_attach_shader_source_file(3alleg5) to specify how to interpret the attached source. .TP ALLEGRO_VERTEX_SHADER A vertex shader is executed for each vertex it is used with. The program will output exactly one vertex at a time. .RS .PP When Allegro\[cq]s graphics are being used then in addition to all vertices of primitives from the primitives addon, each drawn bitmap also consists of four vertices. .RE .TP ALLEGRO_PIXEL_SHADER A pixel shader is executed for each pixel it is used with. The program will output exactly one pixel at a time - either in the backbuffer or in the current target bitmap. .RS .PP With Allegro\[cq]s builtin graphics this means the shader is for example called for each destination pixel of the output of an al_draw_bitmap(3alleg5) call. .PP A more accurate term for pixel shader would be fragment shader since one final pixel in the target bitmap is not necessarily composed of only a single output but of multiple fragments (for example when multi-sampling is being used). .RE .SH SINCE .PP 5.1.0