Non, ça peut descendre en dessous mais c'est "a vu d'oeil" la valeur maximale.
Pourquoi les VBO ?J'ai déjà fait pas mal d'openGL + VBO pour un jeux en 3D qui avait plus d'affichage à faire que mon projet 2D actuel, pourtant celui-ci était plus rapide. Par contre il n'y avait en effet pas d'utilisation de shader.
Au niveau de l'optimisation.Comme je l'ai dis précédement j'ai déjà fait un gros travail d'optimisation en rassemblant les objets du même groupe dans trois vertexArray afin de n'avoir que trois draw à utiliser pour plusieurs centaines d'objet.
Actuellement si je spam comme un sale pour avoir un maximum d'objet à l'écran, je monte au grand maxium à 20 draw/frame (en comprenant donc l'application de shader). En utilisant des sf::RenderTexture de la taille de ma fenêtre, je suis en fullscreen à ~25fps, en 1280*720 je monte à ~40pfs, en 800*600 c'est la fête je passe à ~70fps.
Je suppose donc que le problème vient des sf::RenderTexture.
Ce que je ne comprend pas c'est que j'utilise une texture (loadFromFile) de 2048*2048 pour dessiner mon background étoilé dynamic (sf::VertexArray de 500 sf::Triangles) et je n'ai pas de soucis avec ça.
Pourquoi ça et pas autre chose ?
J'ai déjà pensé à multiThread mes mise à jour de sf::VertexArray, mais je n'ai pas vraiment approfondi le sujet.
EDIT : Les mises à jours des deux plus gros sf::VertexArray ont maintenant leur propre thread. Ce qui ne ralenti pas l'affichage lors de ces mises à jours.
Je n'ai pas gagner en fps, toujours à cause des sf::RenderTexture et de l'application de mes shaders.
En faisant quelques recherches je suis tomber sur ça
http://www.jonathanhaehnel.fr/blog/article/render-to-texture-avec-opengl-3-et-glsl-shaders.htmlSi mon problème vient bel et bien des sf::RenderTexture, cette technique pourrait-elle m'aider ?
EDIT 2 : D'après les sources de la SFML, les FBO sont déjà implémenté dans la sfml, je ne me trompe pas ?
EDIT3 : J'obtiens finalement des performances correcte en appliquant qu'un seul glow global à toute ma scène. J'utilise donc deux sf::RenderTexture de la taille de ma fenêtre (+ quelques plus petits pour l'application de petits shader locaux).
Je suis maintenant à ~55fps en 1920*1080 ce qui est satisfaisant.