Utilisation de textures OpenGL plus grandes que la taille de la fenêtre/de l'affichage
Question
J'ai des problèmes pour utiliser des textures plus grandes que la fenêtre OpenGL ou la taille d'affichage comme cibles de rendu non affichées.
Quelle est la solution à ce problème ?
La solution
Il existe une solution simple.
En supposant que vos textures (non affichées) soient 1024x1024 et vous êtes limité à un 256x256 étalage.
unsigned int WIN_WIDTH = 256;
unsigned int WIN_HEIGHT = WIN_WIDTH;
unsigned int TEX_WIDTH = 1024;
unsigned int TEX_HEIGHT = TEX_WIDTH;
Utilisez le la taille de la fenêtre pour créer votre fenêtre OpenGL :
glutInitWindowSize(WIN_WIDTH, WIN_HEIGHT);
Mais utilisez le taille de la texture pour tout le reste :
glViewport(0, 0, TEX_WIDTH, TEX_HEIGHT);
gluOrtho2D(0.0, TEX_WIDTH, 0.0, TEX_HEIGHT);
glTexCoord2i(TEX_WIDTH, TEX_HEIGHT);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow