bonjour bonjour,
je fais un projet 3D dans le quel j'utilise SDL pour le fenêtrage et OpenGL... ben pour le reste !
j'ai mis en place la possibilité de resizé la fenêtre en settant le video mode de la sorte :
quand je redimensionne ma fenêtre, je catch l'event de resize
Code : Sélectionner tout - Visualiser dans une fenêtre à part SDL_SetVideoMode(m_WinWidth, m_WinHeight, 32, SDL_OPENGL | (m_Fullscreen ? SDL_FULLSCREEN : 0) | SDL_RESIZABLE);
tout ceci marche à la perfection sur tout les PC sur lesquelles j'ai pu le tester
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if (m_Event.type == SDL_VIDEORESIZE) { TRInst->m_WinWidth = m_Event.resize.w; TRInst->m_WinHeight = m_Event.resize.h; TRInst->InitGL(); //dans le quel il y a le SDL_SetVideoMode }
sauf mon eeePC
il se trouve que toute les textures (opengl) sont corrompu, ce qui m'impose de les décharger et les recharger lors d'un resize
cette situation n'arrivais que lorsque je passais du mode fenêtré à pleine écran, où la destruction de la fenêtre et des handler opengl semblais être inéluctable
pour le coups le fait que la config matériel de l'eeePC soit assez faiblarde doit y être pour quelque chose, mais je ne suis pas assez calé la dedans pour comprendre la raison, et encore moins comment le détecter au préalable pour ne recharger les textures que si besoin est.
pourriez vous m'éclairer ?
Partager