Utilisation de textures OpenGL plus grandes que la taille de la fenêtre/de l'affichage

StackOverflow https://stackoverflow.com/questions/14310

  •  08-06-2019
  •  | 
  •  

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 ?

Était-ce utile?

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
scroll top