Premier et troisième points :
Special type/value that can be passed to setParameter, and that represents the texture of the object being drawn.
CaD : la texture pointée par le RenderStates au moment du dessin.
exemple d'utilisation :
sf::Shader shader;
sf::Sprite sprite1,sprite2;
shader.SetParameter("texture", shader.CurrentTexture );
renderTarget.draw( sprite1, &shader );
// utilise la texture de sprite1
renderTarget.draw( sprite2, &shader );
// utilise la texture de sprite2
Je t'invite à aller regarder toi-même dans le code-source de SFML pour comprendre son fonctionnement.
Deuxième point :
Je crois avoir compris que ça ce passe lors de l'appel à Draw(), si la texture utilisée lors du dernier appel est différente.
Quatrième point :
Je ne suis pas un pro, mais ne pense pas que ce soit un problème.
Quelqu'un d'autre pourra t'en dire plus.
Je ne peut pas savoir à l'avance, mais un code minimal serait peut-être plus pratique.
Tu obtient une erreur ?
En espérant avoir aidé.
PS: SetParameter() prend un pointer comme argument;
tu as oublié les parenthèses des deux derniers getTextures();