PB OPENGL et mon application WIN32 - C - Programmation
Marsh Posté le 30-01-2004 à 19:21:16
KIKOOOOOO 
oui je connais un peu OPENGL 
decrit voir ton PROBLEME de facon plus PRECISE sinon je pourrais pas t'aider lol ptdr rofl asv 
Marsh Posté le 30-01-2004 à 19:25:03
ben en fait dans un cas (le bon PC) jaffiche une video radar correct et dans lautre c des traits immondes ??? 
merci
Marsh Posté le 30-01-2004 à 19:33:15
////////////////////////////////////////////////////// 
// Fonction d'affichage 
// (appelée a chaque boucle evenementielle de GTK) 
////////////////////////////////////////////////////// 
bool expose_event (GtkWidget *widget, 
     GdkEventExpose *event, 
     gpointer data) 
{  
 GdkGLContext *glcontext = gtk_widget_get_gl_context(widget); 
 gldrawable = gtk_widget_get_gl_drawable (widget); 
 
 // Pointeur sur la structure de la trame video 
 FrameHeader *pFrame;   
 
 /* Initialise la zone d'affichage */ 
 if (flag.ini_zone) {  	// si le flag ini_zone est a TRUE 
 	// Obligatoire pour faire le swap apres 
 	glBegin(NULL); 
 	glEnd(); 
 // swap des buffers d'affichage (fonction specifique a GDKGlExt) 
 	gdk_gl_drawable_swap_buffers (gldrawable); 
 } 
 // si le flag animate est a TRUE 
 if(flag.animate) {   
 	// Flag indiquant la lecture d'un fichier 
 	if (flag.fichier) { 
   // Lecture d'un paquet par une fonction PCAP 
 	/*  Execute la fonction callback ReadPcap  	*/ 
   if (pcap_loop(fp, 1, ReadPcap, NULL) != NULL) { 
   	flag.fichier = FALSE; 
   	flag.animate = FALSE; 
   	flag.ini_zone = TRUE; 
   }    
 	} 
 	// Flag indiquant qu'ion utilise la liaison ethernet  
 	else if  (flag.socket) { 
   // Declarations pour la lecture des données reseau 
   PBYTE    FrameBuffer[MAX_FRAME_LENGTH]; 
   int     NumBytes; 
   // Lecture sur le socket 
   NumBytes = UdpServer.Read (&FrameBuffer, MAX_FRAME_LENGTH, 32767); 
   // erreur sur le socket 
   if (NumBytes == SOCKET_ERROR) { 
   	// recuperation de l'erreur 
   	int err = WSAGetLastError (); 
   	// affichage du message d'erreur 
   	g_print("erreur systeme numero %d\n",err); 
   } else { 
   	// pointage sur l'en-tete de trame video 
   	pFrame = (FrameHeader *)(FrameBuffer); 
   	// Affichage des données video 
   	ProcessFrame (NULL, pFrame); 
   } 
 	} 
 	// Mise a FALSE du flag d'initialisation de l'affichage (car tracé) 
 	flag.ini_zone = FALSE; 
 } 
 else { 
 	gdk_gl_drawable_swap_buffers (gldrawable); 
 } 
 return TRUE; 
}
Marsh Posté le 30-01-2004 à 19:34:09
mais le pb doit pas venir du code mais de la configuration materiel je pense ... c t peut etre pas la bonne place mais g aussi tenter dans categorie "matos"
Marsh Posté le 30-01-2004 à 19:36:23
j'avais en effet oublier cela ... dsl le prgm fait quand meme 10 pages 
// Lecture des donnees decompressees et creation des vecteurs opengl 
 for (i=1; i < (rh ->Length + 1 - (ri ->NbIffCells)*4 - sizeof(RadialInfo)) ; i++) { 
 	// Regarde si la video est compressée ou non 
 	if (rh->SubType == 0x03) { 
   // Decompression des donnees (octets par octets) 
   Decomp = Decompression(rj[sizeof(RadialInfo)+i-1],rj[sizeof(RadialInfo)+i-2]); 
 	} 
 	else { 
   // Si les données ne sont pas compressées 
   Decomp = No_Comp(rj[sizeof(RadialInfo)+i-1]); 
 	} 
 	/* Tracé en fonction de valeurs lues */ 
 	// plusieurs 0 a la suite 
 	if (*Decomp==0 && *(Decomp+1)==0 && *(Decomp+2)!=0)	{ 
   // incrementation de num_cell correspondant au nb de 0 
   num_cell += *(Decomp+2); 
 	} 
 	// 2 cellules a tracer  
 	else if (*Decomp!=0 && *(Decomp+1)!=0)  
 	{  
   // couleur noire (pour le "lien" avec les cellules precedentes) 
   glColor3d(0,0,0);  
   // trace du debut de la premiere cellule 
   DrawVertex(coord_x1,coord_y1,coord_x2,coord_y2,num_cell);  
   // increment d'une cellule 
   num_cell++;     
   // couleur de la premiere cellule 
   glColor3d(0,*Decomp*niv_couleur+const_couleur,0);  
   // trace de la fin de la premiere cellule 
   DrawVertex(coord_x1,coord_y1,coord_x2,coord_y2,num_cell);  
   // increment d'une cellule 
   num_cell++;     
   // couleur de la deuxieme cellule 
   glColor3d(0,*(Decomp+1)*niv_couleur+const_couleur,0);  
   // trace de la fin de la deuxieme cellule 
   DrawVertex(coord_x1,coord_y1,coord_x2,coord_y2,num_cell);       
 	} 
 	// une cellule suivie de plusieurs 0 
 	else if (*Decomp!=0 && *(Decomp+2)!=0)   
 	{ 
   // noir 
   glColor3d(0,0,0);  
   // trace du debut de la cellule 
   DrawVertex(coord_x1,coord_y1,coord_x2,coord_y2,num_cell);  
   // increment d'une cellule 
   num_cell++;      
   // couleur de la cellule 
   glColor3d(0,*Decomp*niv_couleur+const_couleur,0); 
   // trace de la fin de la cellule 
   DrawVertex(coord_x1,coord_y1,coord_x2,coord_y2,num_cell);      
   // increment de num_cell (en fonction du nombre de 0) 
   num_cell += *(Decomp+2);     
 	}
Marsh Posté le 30-01-2004 à 19:37:01
| littleboy1982 a écrit : j'avais en effet oublier cela ... dsl le prgm fait quand meme 10 pages  
   | 
Marsh Posté le 30-01-2004 à 19:37:57
Y manque les appels glbegin / glEnd() 
la fonction drawVertex 
Marsh Posté le 30-01-2004 à 20:42:37
| chrisbk a écrit : Y manque les appels glbegin / glEnd()  | 
 
 
et encore c'est pas sur, ce bout de code est peut etre deja situer entre glBegin/glEnd
Marsh Posté le 30-01-2004 à 20:43:39
| skelter a écrit :   | 
 
 
surement, mais je dis ca pour essayer d'avoir le vrai code d'affichage....
Marsh Posté le 30-01-2004 à 20:49:19
dsl mais la reponse est bien sur que ce code est contenu entre GLBEgin et GLend sinon le pb aurait ete simple. 
encore desole mais vous prenez pas a tete car la soluce est surement dans le matos... je vous rappel que la carte possede uniquement 4Mo  !!!! 
Marsh Posté le 30-01-2004 à 20:52:36
4mo et ben on va vite voir si ya un prob, quel mode video/taille fenetre? profondeur? dephtest? texture? ... 
 
faut plus de precisions ...
Marsh Posté le 30-01-2004 à 20:54:03
ola suis pas encore expert en OPENGL alors c koi tout ca !!!
Marsh Posté le 30-01-2004 à 20:55:43
taille fenetre 850 avec resolution windows en 1024 par 700 et ca ne marche pas sur un PC avec resolution 600*800 et taille 300 de plus je suis en true color
Marsh Posté le 30-01-2004 à 20:57:39
fait voir le code d'initialisation d'opengl 
 
donc la taille de la fenetre c'est 400*300?
Marsh Posté le 30-01-2004 à 21:06:21
ben le code dinitialisation il est assez long alors je vais demander une autre question... 
 
savais vous ce que font les fonction realize map_event et visibility_notify_event 
ce sont de signaux affecte a des objets opengl mais c la seule infos que g!!!
Marsh Posté le 30-01-2004 à 21:07:14
nonn la taille de la fenerte c 300*300 ou 850*850 c un carre
Marsh Posté le 30-01-2004 à 21:08:10
mais bon je ne pense pas que la reponse se trouve ici dans le code !!! mais plutot dans la config materiel alors on laisse tomber ce sujet !!! sauf si VOUS avez des infos utiles sur OPENGL et carte GRAPHIQUES
Marsh Posté le 30-01-2004 à 21:10:34
alors voit ca du cote des drivers, sinon a par ca tu peut rien faire  
moi je supposait juste que la quantité de memmoire etait trop faible mais 4mo ca suffit pour 850*850 du moment que tu reste en 2d...
Marsh Posté le 30-01-2004 à 22:27:09
meme si la carte video ou les drivers ne le supportent pas, il y a une version OpenGL software livrée avec windows (pour les économiseurs d'écran). 
Donc si c'est pour ouvrir une fenetre et afficher deux triangles, ça marche aussi bien en software. 
 
LeGreg
Marsh Posté le 04-02-2004 à 15:23:54
si je vous envoie les images des differents essais peut etre un genie me trouveras le probleme.... 
 
encore merci 
application qui marche sur le pc01 : 500MHz; Carte graphique 8Mo  
[img]C:\Documents and Settings\bourrigaud\Mes documents\Mes images\Visu_Vifu.sur Kayak.bmp[/img] 
 
application qui marche sur le pc02 : 600MHz; Carte graphique 4Mo  
[img]C:\Documents and Settings\bourrigaud\Mes documents\Mes images\Visu_VIFU_PCPORTABLE.bmp[/img] 
 
merci encore a vous braves gens.
Marsh Posté le 04-02-2004 à 15:25:37
| littleboy1982 a écrit : si je vous envoie les images des differents essais peut etre un genie me trouveras le probleme....  | 
 
 ![[:prosterne] [:prosterne]](https://forum-images.hardware.fr/images/perso/prosterne.gif)
Marsh Posté le 04-02-2004 à 15:38:49
| littleboy1982 a écrit :    | 
 ![[:ddr555] [:ddr555]](https://forum-images.hardware.fr/images/perso/ddr555.gif) 
  
Marsh Posté le 04-02-2004 à 15:41:31
tu les envoies a harkonneen ca lui fera plaisir de les poster pour toi ![[:itm] [:itm]](https://forum-images.hardware.fr/images/perso/itm.gif)
Marsh Posté le 04-02-2004 à 15:42:38
| littleboy1982 a écrit : oui je sia sg vu mais c pas commejnt les envoye...  | 
 
Faut les uploader sur un site externe, t'as pas un espace perso fourni avec ton abo au net par hazard? (sinon il tjs les trucs gratuit comme ifrance).
Marsh Posté le 04-02-2004 à 15:51:38
c ki lui .... ???? 
 
| chrisbk a écrit : tu les envoies a harkonneen ca lui fera plaisir de les poster pour toi  | 
Marsh Posté le 04-02-2004 à 16:01:18
| littleboy1982 a écrit : c ki lui .... ????  | 
 
 
un gars qui héberge les photos, mais si tu les envoies à chrisbk c'est bon, il transmettra 
Marsh Posté le 04-02-2004 à 16:03:20
ma connection chie un peu  Ca aurait ete avec plaisir mais je pense que tu devrais plutot demander a taiche, il est cool et il a free degroupé
 Ca aurait ete avec plaisir mais je pense que tu devrais plutot demander a taiche, il est cool et il a free degroupé 
Marsh Posté le 04-02-2004 à 16:04:39
| antp a écrit :   | 
 
 
m'enfin, qu'est-ce que vous racontez ?   C'est à marc ou à joce (c'est les sup-admins du forum) bien sur qu'il faut envoyer les photos. Seuls eux sont habilités à le faire. Vous êtes salauds de le faire marcher comme ça et de l'induire en erreur.
  C'est à marc ou à joce (c'est les sup-admins du forum) bien sur qu'il faut envoyer les photos. Seuls eux sont habilités à le faire. Vous êtes salauds de le faire marcher comme ça et de l'induire en erreur.   
 
Marsh Posté le 04-02-2004 à 16:06:18
| chrisbk a écrit : KIKOOOOOO  | 
 ![[:fuel] [:fuel]](https://forum-images.hardware.fr/images/perso/fuel.gif)
Marsh Posté le 04-02-2004 à 16:12:14
| chrisbk a écrit : ma connection chie un peu  | 
 
Non, ma connec free marche pu depuis hier ![[:sisicaivrai] [:sisicaivrai]](https://forum-images.hardware.fr/images/perso/sisicaivrai.gif) 
 
Faut envoyer le mail à DarkLord 
Marsh Posté le 04-02-2004 à 16:28:45
et on fait comment ???? pour leur ecrire.. excusez moi mais les forums je debute ..alors LOOL
Marsh Posté le 30-01-2004 à 19:20:24
salut a tous dabord bonjour car suis tout nouveau dans ce forum... alors ma question porte sur l'OPENGL ? vous connaissez ??? alors vous m'interessez !! g repris une application VC++ en OPENGL et lorsque je la mets sur dautre Systeme d'exploitation ... oh surprise il y a des soucis d'affichage. mon application tourne bien sous WNT avec un Proc de 500MHz et une carte graphique de 8Mo et moi je dois la porter sur un PC ( tout nase !!) Proc 600MHz carte graphique S3 savage avec 4Mo. alors si vous avez des tuyaux sur les pbs entre configuration et OPENGL ben merci de men faire part !!!
voila bon pour un premier message c long
dsl
a bientot