YoupiPaint contient un éditeur de code qui permet de développer de nouveaux moteurs de brosse ou effets, ou de modifier ceux qui sont fournis à l'installation.


Le développement des moteurs et effets est basé sur le langage OpenGL Shading Language (GLSL version #330), ce qui rend le développement extrêmement puissant et assure des performances très élevées grâce à l'accélération matérielle.


Tous les paramètres nécessaires à l'exécution des effets et moteurs sont fournis en entrée de YoupiPaint. De même les procédures standards réalisant les tâches courantes sont accessibles par le développeur. Par conséquent bien souvent seules quelques lignes de code seront nécessaires pour réaliser vos besoins.


Par exemple, l'effet Gray scale (Niveau de gris) qui nécessite moins de 10 lignes de 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;


Dès que les effets et moteurs sont compilés avec succès, ils sont immédiatement disponible dans l'application.


Grâce à cette possibilité de développement intégré et interactif, vous n'avez aucunes limites dans la réalisation des besoins spécifiques.