begin process at 2012 05 30 08:49:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

DirectX

 > 

segmentation fault openGL


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

segmentation fault openGL

dimanche 29 janvier 2012 à 17:45:40 | segmentation fault openGL

livevlad

Tout d'abord je met comme thème directX car avec OpenGL, se sont des library de base graphiques.

Voici mon problème, je suis en train de suivre les tutoriaux de Nehe sur OpenGL et je rencontre un problème de "fragmentation fault".
En effet je charge des textures et quand je veux libérer la mémoire utilisée (free) je reçoit donc un message SIGSEGV (segmentation fault).

Et en fait je ne sais pas du tout pourquoi, enfin je me dis que cela vient de l'objet AUX_RGBImageRec et l'argument data qui doit avoir un problème de limite pour le free mais je ne comprend pas d'où cela vient d'autant plus que si je lance le code directement téléchargé du site de nehe cela fonctionne et ayant exactement le même code de mon côté non.

Pour informations, je développe sur codeBlocks et je me demande si le problème ne viendrait pas de cette plateforme de développement car ce n'est pas la première fois que je rencontre ce genre de problème un peu incompréhensible...

Voici la partie du code concernée:

AUX_RGBImageRec *LoadBMP(char *Filename) // Loads A Bitmap Image
{
FILE *File=NULL; // File Handle
if (!Filename) // Make Sure A Filename Was Given
{
return NULL; // If Not Return NULL
}
File=fopen(Filename,"r"); // Check To See If The File Exists
if (File) // Does The File Exist?
{
fclose(File); // Close The Handle
return auxDIBImageLoad(Filename); // Load The Bitmap And Return A Pointer
}
return NULL; // If Load Failed Return NULL
}

int LoadGLTextures() // Load Bitmaps And Convert To Textures
{
int Status=FALSE; // Status Indicator
AUX_RGBImageRec *TextureImage[5]; // Create Storage Space For The Textures
memset(TextureImage,0,sizeof(void *)*5); // Set The Pointer To NULL

if ((TextureImage[0]=LoadBMP("Data/logo.bmp")) && // Logo Texture
(TextureImage[1]=LoadBMP("Data/mask1.bmp")) && // First Mask
(TextureImage[2]=LoadBMP("Data/image1.bmp")) && // First Image
(TextureImage[3]=LoadBMP("Data/mask2.bmp")) && // Second Mask
(TextureImage[4]=LoadBMP("Data/image2.bmp"))) // Second Image
{
Status=TRUE; // Set The Status To TRUE
glGenTextures(5, &texture[0]); // Create Five Textures

for (loop=0; loop<5; loop++) // Loop Through All 5 Textures
{
glBindTexture(GL_TEXTURE_2D, texture[loop]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[loop]->sizeX, TextureImage[loop]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[loop]->data);
}
}
//segmentation fault here
for (loop=0; loop<5; loop++) // Loop Through All 5 Textures
{
if (TextureImage[loop]) // If Texture Exists
{
if (TextureImage[loop]->data) // If Texture Image Exists
{
//ici segmentation fault//////
free(TextureImage[loop]->data); // Free The Texture Image Memory
}
free(TextureImage[loop]); // Free The Image Structure
}
}
return Status; // Return The Status
}


Merci de votre aide en avance,
Livevlad.


Cette discussion est classée dans : file, data, return, textureimage, if


Répondre à ce message

Sujets en rapport avec ce message

port serie sous linux rts txd drt source piklab [ par zemil ] je sui sous linux depuis peux je program avec kdevelope en c++ par hazard j'ais trouvé un logiciel qui arive a faire se que je recherche jé ais donc r Problème compréhension du programme le compte est bon [ par echec ] Bonjour,Je cherchai un programme c++ sur internet qui permettait de calculer la solution du jeu le compte est bon, j'en est finalement trouvé un, mais minmax morpion probleme ! [ par TrD_ ] Bon voila ma source, je cherche a mettre en pratique l'algo minmax, mais je suis confronté a des erreurs que je ne comprend pas ! A l execution lors d Probème avec un hook [ par Chayy ] Bonjour,je rencontre actuellement un petit soucis avec un hook. J'essaye de poser un hook souris, et d'effectuer un traitement lorsque le pointeur de cryptage de cesar sur c++ [ par juniordiaw ] bjr a tous g un problemea vec mon code o faite lorske g rentre un letre il me la crypte mai sil sagi dun mo ou dune phrase il ne crypte ke la premiere Simple Hook (DLL) qui plante GetMessage ! Je suis nul ou quoi ? [ par dam1dam1 ] Bonjour. Je ne suis pas un pro du Hook et j’ai un peu oublié tout ca, mais vu toutes les bonnes sources et annotations qui trônent ici, je pensais po maths et autres [ par jeanphilippe37 ] Slt, j'ai fais un prgm de maths pour savoir les nbrs premiers mais, quand je mets system("pause"), j'ai une erreur, pouvez vous me corriger ? ce code ne marche pas?????????? [ par banak3181 ] s'il vous plait les gars je veux que quelqu'un me disent pourquoi ce code ne marche sur dev C++:#include #include #include #include # include<myconio. lecture fichier binaire [ par SesechXP ] Salut !Je cherche à lire des données dans un fichier binaire afin de les réafficher en ascii.Voici la tête du fichier à lire @10004A 75 6C 69 65 6E FF Texture !! [memory] [ par barraq ] salut, voila dans mon programme a l'initialisation je crée des textures en utilisant cette fonction : bool CreateTexture(UINT &texture, LPCTSTR strFi


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 1,498 sec (3)

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