begin process at 2012 02 11 20:41:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Linux

 > 

OpenGL

 > 

problème :certains de mes triangles disparaissent


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème :certains de mes triangles disparaissent

vendredi 15 mai 2009 à 17:03:29 | problème :certains de mes triangles disparaissent

widwid

bonjour
je dois représenter une surface avec opengl ,j'ai déjà réussi à fabriquer les triangles qui forment la surface,j'ai rajouté une lumière qui bouge avec la caméra.Le problème c'est que quand je bouge la caméra certain de mes triangles qui forment la surface disparaissent(pas toujours les mêmes triangles) et du coup on voit ce qui se trouve derrière et le rendu est très mauvais.Si quelqu'un sait pourquoi je lui serait très reconnaissante!!

vendredi 15 mai 2009 à 18:05:04 | Re : problème :certains de mes triangles disparaissent

laurent1024

Membre Club
Il s'agit apriori d'un problème de vecteur normal.
Il faut mettre des glNormal3f devant la définition des triangles.
vendredi 15 mai 2009 à 22:26:50 | Re : problème :certains de mes triangles disparaissent

widwid

non les normales de mes triangles sont bien définies,et quand je n'utilise pas la caméra(je ne fait qu'un gllookat) ça marche bien, c'est quand je fait bouger ma caméra que le problème se manifeste.c'est peut être un problème de transparence quand on regarde les objets sous un certain angle???Aidez moi!!!
dimanche 17 mai 2009 à 20:29:19 | Re : problème :certains de mes triangles disparaissent

REMqb

Les triangles disparaissent-ils entièrement ?
lundi 18 mai 2009 à 09:37:07 | Re : problème :certains de mes triangles disparaissent

widwid

oui ,certains triangles sont dessinés et d'autres pas
lundi 18 mai 2009 à 10:28:10 | Re : problème :certains de mes triangles disparaissent

widwid

je suis désolée je n'avais pas internet pendant le week end ;mais la question reste posée alors:AU SECOURS!!!!!!!!!(ce n'est pas forcément des triangles qui disparaissent mais des fois des bouts de la surface,je précise que quand je n'utlise pas la caméra(mais un glulookat) il n'y a pas de soucis
voici ce que j'ai programmé:
//methode dans la classe triangle pour le dessiner:

void Triangle::Dessiner(){
    normal();//calcule les composantes du vecteur normal aux sommets du triangle:nx,ny,nz.
    glBegin(GL_TRIANGLES) ;

    glNormal3d(nx,ny,nz);
    glColor3ub(0,255,0);
    glVertex3d(x1,y1,z1);
    glVertex3d(x2,y2,z2);
    glVertex3d(x3,y3,z3);
    glEnd();

 }


///puis dans ma fonction DRaw j'ai ça:
{glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

    glMatrixMode( GL_MODELVIEW );
    glLoadIdentity( );
    camera->look();
//ensuite je crée mes triangles et je fais appel à la méthode dessiner de la classe triangle:cf+haut

glFlush();
SDL_GL_SwapBuffers();
}

//et enfin dans mon main j'ai ça:
SDL_Event event;
    unsigned int width = LARGEUR_FENETRE;
    unsigned int height = HAUTEUR_FENETRE;

    Uint32 last_time,current_time,elapsed_time;
    Uint32 start_time,stop_time;

    SDL_Init(SDL_INIT_VIDEO);
    atexit(stop);
    SDL_WM_SetCaption("SDL GL Application", NULL);
    SDL_SetVideoMode(width, height, 32, SDL_OPENGL);
    glClearColor(1.0,1.0,1.0,1.0);
    glMatrixMode( GL_PROJECTION );
    glLoadIdentity( );
    
    GLfloat light_position[4]={0.0,0.0,0.0,1.0};
    
    gluPerspective(90,(double)width/height,0.001,17000);
    
    
    int MatSpec [4]={1,1,1,1};
    glMaterialiv(GL_FRONT_AND_BACK,GL_SPECULAR,MatSpec);
    glMateriali(GL_FRONT_AND_BACK,GL_SHININESS,100);
    
    
    glMatrixMode( GL_MODELVIEW );
    glLoadIdentity();
    glLightfv(GL_LIGHT0,GL_POSITION,light_position);
    glEnable(GL_LIGHTING);
    glEnable(GL_LIGHT0);
    glEnable(GL_COLOR_MATERIAL);
    
    
    glEnable(GL_DEPTH_TEST);
    camera = new TrackBallCamera();
    

    last_time = SDL_GetTicks();
    for (;;)  
    {

        start_time = SDL_GetTicks();

        while(SDL_PollEvent(&event))
        {
            switch(event.type)
            {
                case SDL_QUIT:
                exit(0);
                break;
                case SDL_KEYDOWN:
                switch (event.key.keysym.sym)
                {
                    case SDLK_p:
                    takeScreenshot("photo.bmp");
                    break;
                    case SDLK_ESCAPE:
                    exit(0);
                    break;
                    default :
                    camera->OnKeyboard(event.key);
                }
                break;
                case SDL_MOUSEMOTION:
                camera->OnMouseMotion(event.motion);
                break;
                case SDL_MOUSEBUTTONUP:
                case SDL_MOUSEBUTTONDOWN:
                camera->OnMouseButton(event.button);
                break;
            }
        }

        current_time = SDL_GetTicks();
        elapsed_time = current_time - last_time;
        last_time = current_time;

       
        Draw(listCpos,listCneg);
        stop_time = SDL_GetTicks();
        

    }

samedi 21 novembre 2009 à 01:19:57 | Re : problème :certains de mes triangles disparaissent

Grizou0

Membre Club
Peut être un problème de profondeur ( deeph).
A partir d'une certaine distance, les objets ne sont plus dessinés.
Je n'ai aps trouvé de solution pour augmenter le deeph mais peut étre, si tu diminues la taille de tes triangles, ça devrait passer.


Cette discussion est classée dans : problème, surface, triangles, disparaissent, forment


Répondre à ce message

Sujets en rapport avec ce message

problème avec SDL, struct? [ par foxley ] Bonjour, je suis nouveau ici.J'ai un projet en C à faire pour la fac.Et à vrai dire je suis bloqué a un endroit:"tab[i]->surface->w" afin de récuperer Problème avec std::vector et std::pair [ par luhtor ] J'ai une fonction qui compilait très bien sous linux, mais pas moyen de la compiler avec devCpp. Quelqu'un saurait pourquoi il la refuse ? template Problème de transtypage [ par milie_k33 ] Bonjour,Je suis actuellement sur la création d'un programme en C où je calcule de des doubles assez grands. Mon problème arrive quand je souhaite tran Problème avec Eclipse... [ par Rouliann ] Bonjour tout le monde! Voilà mon problème: Comme je suis un peu curieux et que j'aime bien toucher à tout j'ai voulu essayer Eclipse pour programmer e problème de focus [ par watashi_blao ] Bien le bonjour,   j'ai un problème : je créé une fenetre (API windows) qui contient des boutons radios. le problème vient de l'interceptions du messa Souris [ par Steph115 ] Bonjour a tous, J'ai un logiciel qui simule des clics de souris sur des liens html. Le seul probleme : les liens ne sont pas places a la meme auteur [Dev-Cpp] Multiples fichiers .cpp [ par Rouliann ] Bonjour tout le monde! Je programme actuellement un petit Pacman (que vous pouvez voir ici) et comme je n'avais qu'un fichier .cpp (le fichier main) e Problème avec ADOLib [ par sixpack13 ] Bonjour à tous, Voilà je fais une application en MFC avec Visual 6 et j'utilise ADOLib pour fair de la base de données. J'arrive très bien à renseigne sos svp problème de codes source [ par arnaudagu ] salut voila enfait je débute tout juste en prog. je me lance a partir du programme Dev-c++ et je n'est qu'une seule bibliotèque de données. Je croi qu Petit programme de chaine de caractère [ par trystan007 ] J'ai un petit problème : l'utilisateur doit taper une chaine de caractère en mode console, puis, la chaine est envoyée en même tps qu'une 15aine de va


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales