CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

OpengGL access reading violation

stuart4
stuart4
Niveau 5
05 mars 2022 à 10:06:08

Bonjour je suis un tutoriel pour apprendre opengl et je ne comprends pas ce qui ne va pas dans mon programme toute aide serai fortement apprécié car je suis perdu j'ai passé 2 heures tenter de debuguer ca mais pas moyen.
Voici le lien Google Drive du programme https://drive.google.com/file/d/1bn4W-Mzxopo8kcF8zKeOeyA_MIPaRt0y/view?usp=sharing

Guybrush81
Guybrush81
Niveau 10
05 mars 2022 à 11:00:38

Hello!

C'est simplement que tu unbind ton element array alors que ton vao est encore bindé:

    UnbindVbo(); // <- pas important car le link a été fait avant
    UnbindEbo(); // le VAO n'a plus de EBO!
    UnbindVao();

il faudrait faire :

	UnbindVao(); // le VAO n'est plus bindé
 // inutile si tu dessine avec des VAO (ce qu'il faut faire en OpenGL moderne)
    UnbindVbo();
    UnbindEbo(); 
stuart4
stuart4
Niveau 5
05 mars 2022 à 12:03:39

Apparement ce n'est pas ca car j'ai toujours l'access reading location violation

Guybrush81
Guybrush81
Niveau 10
05 mars 2022 à 12:28:19

Commente tout les unbind alors?

J'ai fait juste ca:
https://image.noelshack.com/fichiers/2022/09/6/1646479668-vao.png

stuart4
stuart4
Niveau 5
05 mars 2022 à 12:40:37

Ca ne fonctionne toujours pas il est écrit :
nvoglv64.pdb not loaded
Exception thrown at 0x00007FFF769BA400 (nvoglv64.dll) in Project1.exe: 0xC0000005: Access violation reading location 0xFFFFFFFFF9AC8070.

Guybrush81
Guybrush81
Niveau 10
05 mars 2022 à 12:52:46

et si tu enlève le glDrawElements il n'y a plus de crash? (c'est bien là ou le debugger s'arrête?)
C'est étrange...

stuart4
stuart4
Niveau 5
05 mars 2022 à 12:54:59

Je l'ai commenté et ca crahs quand même peut etre est ce dans les autres fichier vbo.c, ebo.c, vao.c, shader.c ou texture.c ?

stuart4
stuart4
Niveau 5
05 mars 2022 à 13:01:08

crash*

Guybrush81
Guybrush81
Niveau 10
05 mars 2022 à 13:46:27

Et bien pour savoir ou il y a le crash, il suffit de voir ou le debugger s'arrete?

Tu lance bien le programme dans visual studio? (Et en mode debug?)

stuart4
stuart4
Niveau 5
05 mars 2022 à 14:02:38

Oui il m'ouvre une nouvelle fenetre https://image.noelshack.com/fichiers/2022/09/6/1646485355-capture.png

Guybrush81
Guybrush81
Niveau 10
05 mars 2022 à 14:25:40

Ok, dans la fenetre en bas a droite, tu peux afficher la callstack, et la tu pourra voir ou dans ton code est le probleme (pas la solution, mais deja de savoir ou)

stuart4
stuart4
Niveau 5
05 mars 2022 à 14:44:57

Je ne comprends pas trop ce que ca signifie https://image.noelshack.com/fichiers/2022/09/6/1646487887-capture.png https://image.noelshack.com/fichiers/2022/09/6/1646487893-capture1.png

Guybrush81
Guybrush81
Niveau 10
05 mars 2022 à 15:35:44

Ah oui ... la calkstack va pas etre d'un grand secour.

Alors tu peux essayer autre chose : place un breakpoint dans le code, au debut de main (place le curseur sur une ligne et appuie sur F9 pour mettre ou enlever un breakpoint). Comme ca quand tu va lancer le programme le debugger va s'arreter a cet endroit. Et a ce moment la tu va pouvoir derouler l'execution de ton code ligne par ligne en appuyant sur F10.
Et donc tu va pouvoir trouver ou il y a un probleme (et de la trouver pourquoi)

Message édité le 05 mars 2022 à 15:36:46 par Guybrush81
stuart4
stuart4
Niveau 5
05 mars 2022 à 15:45:33

Je vais essayer

Lapintade
Lapintade
Niveau 30
05 mars 2022 à 17:42:51

La premiere modif proposée par GuyBrush corrige bien un des soucis.
ensuite le second crash c'est dans
void LoadTexture(texture* new_texture) { glTexImage2D(new_texture->target, 0, new_texture->format, new_texture->width_img, new_texture->height_img, 0, new_texture->format, GL_UNSIGNED_BYTE, new_texture->image); glGenerateMipmap(new_texture->target); }

Lapintade
Lapintade
Niveau 30
05 mars 2022 à 17:59:34

il y a un truc louche avec la fonction stbi_load. L'adresse de retour semble deconner ensuite. (un soucis 64 bits / 32 bits ??).

Lapintade
Lapintade
Niveau 30
05 mars 2022 à 18:04:07

https://image.noelshack.com/fichiers/2022/09/6/1646499817-weviz-2022-03-05-17h58-18.jpg

Guybrush81
Guybrush81
Niveau 10
05 mars 2022 à 18:14:23

Ah oui, en effet on dirait que l'adresse a été tronqué à 32bits !
Tu utilise quel version de visual studio? (j'ai essayé avec vs2017 sous windows 7).

stuart4
stuart4
Niveau 5
05 mars 2022 à 18:19:46

visual studio community 2022

stuart4
stuart4
Niveau 5
05 mars 2022 à 18:21:27

plus précisément Microsoft Visual Studio Community 2022 (64-bit) Version 17.0.4

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment