.\" Automatically generated by Pandoc 3.1.6.2 .\" .\" Define V font for inline verbatim, using C font in formats .\" that render this, and otherwise B font. .ie "\f[CB]x\f[]"x" \{\ . ftr V B . ftr VI BI . ftr VB B . ftr VBI BI .\} .el \{\ . ftr V CR . ftr VI CI . ftr VB CB . ftr VBI CBI .\} .TH "ALLEGRO_SHADER_TYPE" "3" "" "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(3) and al_attach_shader_source_file(3) 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(3) 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