Question

Dans une application basée sur Qt Je veux exécuter un fragment shaders sur deux textures (les deux 1000x1000 pixels).

Je dessine un rectangle et le fragment shader fonctionne très bien.

Mais, maintenant, je veux renderer la sortie dans GL_AUX0 frame buffer de laisser le résultat collationnés et Enregistrer dans un fichier .

Malheureusement, si la taille de la fenêtre est inférieure à 1000x1000 pixels la sortie est incorrecte. Il suffit de la zone de taille de la fenêtre est rendue sur le tampon de trame.

Comment puis-je exécuter la mémoire tampon de trame pour toute la texture?

Était-ce utile?

La solution

La méthode recommandée pour le traitement hors de l'écran est d'utiliser des objets framebuffer (OIR). Ces tampons agissent de façon similaire le rendu des tampons que vous connaissez déjà, mais ne sont pas limités par la résolution de la fenêtre ou la profondeur de couleur. Vous pouvez utiliser le GPGPU Framebuffer classe Object pour cacher OpenGL bas niveau les commandes et utiliser immédiatement la FBO. Si vous préférez le faire vous-même, jetez un oeil à la de .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top