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 :

(c#)ou(c++)Rendu OpenGl sur une Bitmap


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 111
    Par défaut (c#)ou(c++)Rendu OpenGl sur une Bitmap
    Je veux avoir le rendu de ma scene directement dans une bitmap et pas sur le panel de mon fenetre!
    Est ce qu'il suffit de créer un dc a partir de ma Bitmap ou comment envoyer en meme temps le rendu vers la Bitmap?

  2. #2
    Membre émérite
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665

  3. #3
    Invité de passage
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 1
    Par défaut
    Salut,

    J'ai peut-être une partie de réponse à ta question :

    ->pour enregistrer un screen shot dans une texture:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
         GLuint texture;
        glGenTextures(1, &texture);
        glBindTexture(GL_TEXTURE_2D, texture);
        glCopyTexImage2D(GL_TEXTURE_2D,0,GL_RGB,0,0,width,height,0);
    ->pour enregistrer une texture dans un bmp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
         FILE *file;
        file = fopen( "picture.bmp" , "wb" );
        if( !file ) 
            return;
        GLuint width, height;
        SHeaderBMP header;
        SHeaderBMPInfo headerinfo;
        //get texture size
        glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH,&width);
        glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT,&height);
        //set header
        header.bfType[0] = 'B';
        header.bfType[1] = 'M';
        header.bfReserved1 = 0;
        header.bfReserved2 = 0;
        header.bfOffBits = sizeof(SHeaderBMPInfo) + sizeof(SHeaderBMP);
        //set info header
        headerinfo.biSize = sizeof(SHeaderBMPInfo);
        headerinfo.biWidth = width;
        headerinfo.biHeight = height;
        headerinfo.biPlanes = 0;        
        headerinfo.biBitCount = 24; //RGB 8*3
        headerinfo.biCompression = 0;
        headerinfo.biSizeImage = 0;
        headerinfo.biXPelsPerMeter = 0;
        headerinfo.biYPelsPerMeter = 0;
        headerinfo.biClrUsed = 0;
        headerinfo.biClrImportant = 0;
        //write headers
        fwrite(&header,sizeof(SHeaderBMP),1,file);
        fwrite (&headerinfo, sizeof (SHeaderBMPInfo), 1, file);
        GLubyte *pixels;
        pixels = new GLubyte[width*height*3];
        glBindTexture(GL_TEXTURE_2D,texture);
        glGetTexImage(GL_TEXTURE_2D,level,GL_BGR_EXT, GL_UNSIGNED_BYTE, pixels);
        //write data
        fwrite (pixels, width*height*3*sizeof(GLubyte), 1, file);
        fclose (file);
        delete pixels;
    ->une fois enregistrer tu peux détruire ta texture:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         glDeleteTextures(1, &texture);
    j'espère que ca te mettera sur la voie ...

Discussions similaires

  1. Textfield semi-transparent sur une bitmap
    Par vincent7894 dans le forum Flex
    Réponses: 8
    Dernier message: 27/05/2011, 12h27
  2. Flou Gaussien sur une Bitmap
    Par Safety dans le forum Android
    Réponses: 5
    Dernier message: 17/01/2011, 15h15
  3. Rendu OpenGL sur un thread tier.
    Par Groove dans le forum OpenGL
    Réponses: 3
    Dernier message: 15/02/2007, 11h36
  4. Réponses: 2
    Dernier message: 26/01/2006, 14h11
  5. Réponses: 1
    Dernier message: 13/01/2006, 19h37

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