Mais je ne comprend pas quelque chose, comment je vais pouvoir récupérer les informations de mon jeu via mon main de mon shader
Pour passer des variables au shader (telles que la position/intensité/couleur de ta lumière), il faut utiliser la fonction Shader::setParameter. Dans le shader, il faut déclarer la variable avec le mot-clé
uniform.
uniform vec4 color;
uniform vec2 position;
uniform float intensity;
void main()
{
...
}
sf::Shader shader;
shader.loadFromFile(...);
...
shader.setParameter("color", sf::Color(...));
shader.setParameter("position", sf::Vector2f(...));
shader.setParameter("intensity", ...);
Et oui, n'hésite pas à t'inspirer des exemples