Domanda

Sto avendo problemi con texture che sono più grandi della finestra OpenGL o le dimensioni del display non visualizza le destinazioni di rendering.
Qual è la soluzione per questo problema?

È stato utile?

Soluzione

C'è una soluzione semplice.

Supponendo che le trame (non visualizzate) siano 1024x1024 e si è limitati a una finestra / display 256x256 .

unsigned int WIN_WIDTH = 256;
unsigned int WIN_HEIGHT = WIN_WIDTH;
unsigned int TEX_WIDTH = 1024;
unsigned int TEX_HEIGHT = TEX_WIDTH;

Usa la dimensione della finestra per creare la tua finestra OpenGL:

glutInitWindowSize(WIN_WIDTH, WIN_HEIGHT);

Ma usa la dimensione della trama per tutto il resto:

glViewport(0, 0, TEX_WIDTH, TEX_HEIGHT);
gluOrtho2D(0.0, TEX_WIDTH, 0.0, TEX_HEIGHT);
glTexCoord2i(TEX_WIDTH, TEX_HEIGHT);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top