2010-10-04 7 views
0

J'utilise le rendu hors écran en utilisant opengl FBO et glut sur MAC OS X 10.6. Le programme implique le mouvement de plusieurs objets 3D.opengl hors écran rendu

Le programme semble fonctionner correctement sauf que je dois inclure une option où le contenu de la mémoire tampon hors écran ne sont pas permutés dans le tampon de l'écran. Par conséquent, vous ne voyez rien à l'écran. Je veux savoir si le programme fonctionne comme il se doit dans ce mode lorsque rien ne s'affiche à l'écran - c.-à-d. Que les mouvements 3D fonctionnent bien comme d'habitude. Y at-il un utilitaire qui peut lire le tampon hors écran et l'afficher à l'écran pendant que mon processus s'exécute séparément.

Il existe également d'autres moyens d'y parvenir? C'est pour masquer la fenêtre à l'écran lors du rendu hors écran en utilisant FBO.

Appréciez tous les commentaires/suggestions. J'espère que je suis clair dans ma question.

Répondre

0

gDEBugger for Mac devrait être capable d'afficher le contenu FBO sans effort supplémentaire de votre côté, Au moins, la version Windows le fait très bien. Une version d'essai de 7 jours est disponible.

+0

Existe-t-il des exemples de rendu hors écran utilisant glut/freeglut. J'ai vu un avec openglut mais préfère utiliser freeglut. Des idées? –

+0

@John Qualis FBOs ne dépendent pas de votre boîte à outils GUI. Il suffit de prendre un tutoriel FBO de votre choix et cela fonctionnera. –

0

Je voudrais copier le tampon hors-écran sur une mémoire partagée. Ensuite, une application externe lit continuellement le contenu de la mémoire partagée, met à jour une texture et l'affiche sur l'écran.

C'est tout.

Je l'ai beaucoup utilisé, même avec le rendu hors écran, mais je n'ai pas un exemple pratique. :(

Je vous conseille de stocker des informations supplémentaires au début de la mémoire partagée (largeur, hauteur, type de pixel, entier incrémentiel pour savoir si l'image a changé depuis la dernière lecture ...) Après cet en-tête , stockez les données de pixel générées par votre application, dont la taille dépend réellement de la largeur, la taille et la taille de pixel

Je conseille également d'utiliser glReadPixels pour stocker des données de pixels, en passant la mémoire partagée mappée en paramètre. ces données pour mettre à jour une texture

+0

Bonne réponse. Des exemples que vous connaissez qui utilisent cette technique? Appréciez-le. –

+0

Laissez-moi essayer ça. Merci encore. –

+0

existe-t-il des exemples disponibles pour le rendu hors écran utilisant glut/freeglut. J'ai vu un avec openglut mais préfère utiliser freeglut. Des idées? –