YoupiPaint contains a code editor that allows you to develop new brush engines or effects, or modify those that are provided with the application/


The development of engines and effects is based on the OpenGL Shading Language (GLSL version # 330), which makes development extremely powerful and provides very high performance thanks to hardware acceleration.


All parameters necessary for the execution of effects and brushes are provided as input to YoupiPaint. In the same way, the standard procedures performing the common tasks are accessible by the developer. Therefore, often only a few lines of code will be needed to fulfill your needs.


For example, the Gray Scale effect requires less than 10 lines of code:


@main

vec4 color = texture(f_currentLayerTexture, v_texCoords0.st);

float finalOpacity = color.a * f_opacity;

// unmultiply color components

float r = color.r / color.a;

float g = color.g / color.a;

float b = color.b / color.a;

float c = (r + g + b) / 3.0;

f_color = vec4(c, c, c, 1.0) * finalOpacity;


Once the effects and brushes are compiled successfully, they are immediately available in the application.


Thanks to this possibility of integrated and interactive development, you have no limits in the realization of the specific needs.