IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

Imprimer une scene OpenGL (C++)


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 31
    Par défaut Imprimer une scene OpenGL (C++)
    Bien le bonjour à tous !

    Je travaille en C++ sous C++Builder et j'utilise OpenGL afin de générer des aperçus 2D de différents objets paramétrables, le but final de l'application étant de réaliser l'impression de ces aperçus.

    J'ai déjà expérimenté une méthode permettant de générer un bitmap à partir de ce qui était affiché à l'écran puis d'imprimer ce bitmap. Mais un problème se pose lorsque la résolution écran est faible par rapport à la résolution de l'imprimante. Dans ce cas, le dessin devient grossier suite au grossissement du bitmap pour qu'il occupe toute la page.

    Aussi, j'aurai voulu savoir s'il était possible pour OpenGL de réaliser la scène dans une résolution différente de celle de l'écran, de manière à générer un bitmap au même dimensions que celle de l'impression. De cette façon, il n'y aurait plus d'étirement du bitmap, et les éléments de la scène garderaient leur apparence initial.

    A moins qu'il n'existe une autre méthode permettant d'envoyer la scène OpenGL vers l'imprimante sans passer par un bitmap.

    Merci d'avance pour vos réponses.

    OtO

  2. #2
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 033
    Billets dans le blog
    12
    Par défaut
    Si tu veux faire ça, il te faut créer un nouveau contexte OpenGL dans lequel tu feras ton rendu. Ce contexte sera créé avec le HDC de l'imprimante dont tu récupèreras les résolution verticales et horizontales afin de pouvoir effectuer le rendu dans une fenêtre à l'échelle.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Bonjour,

    Personnellement, j'envisagerai de voir avec glViewport, en lui donnant une résolution plus grande que celle de l'écran actuel ( tout ça, pour un render to texture ).
    Ou encore, si vous voulez tenter un truc un peu plus approfondi, c'est un vrai Render To Texture ( voir les Frame Buffer Object ( FBO ) ) sur une grande texture ( maximum, 4096x4096 ou 8192x8192 ( dépendant de la carte ) )
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 033
    Billets dans le blog
    12
    Par défaut
    Oué, effectivement, Le Render To Texture est un excellente solution, tu peux la combiner avec la récupération des informations de l'imprimante pour déterminer la taille de la texture dans laquelle tu effectueras ton rendu.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  5. #5
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 31
    Par défaut
    Bien le bonjour à tous !

    Merci pour vos réponses. La mienne vient un peu tard, j'en suis désolé.

    Je vais regarder comment effectuer un Render To Texture et voir le résultat obtenu en impression.

    Je vous tiens au courant.

    Merci encore.

    OtO

Discussions similaires

  1. [VB.NET]Comment Imprimer une form
    Par bernard06 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/10/2011, 17h43
  2. visualisation d'une scene avec opengl
    Par fleurdelys77 dans le forum OpenGL
    Réponses: 6
    Dernier message: 25/07/2011, 17h14
  3. scene povray a partir d'une scene opengl
    Par dmichel dans le forum OpenGL
    Réponses: 8
    Dernier message: 05/09/2007, 16h33
  4. basculer d'une scene a l'autre
    Par singe dans le forum OpenGL
    Réponses: 4
    Dernier message: 10/12/2003, 18h00
  5. generer une image bitmap a partir d'une scene OGL
    Par FreshLog dans le forum OpenGL
    Réponses: 4
    Dernier message: 01/07/2003, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo