#1 11/09/2008 19:41:46

Anian
Member
Registered: 10/09/2008
Posts: 20

[Résolu] [Vista - VCpp Express] Access violation

Bonsoir,

Voilà un petit problème qui pourrait éventuellement vous intéresser . Du moins, je pense que c'en est un ! wink
J'ai créé ma première application de test qui consiste uniquement à l'initialisation du moteur (compilation sans prendre en compte gluBuild3DMipmaps à cause du soucis mentionné dans l'autre topic) .

Tout ce passe à peu près bien jusqu'à une Access violation sous vista donc j'ai lancé le débogueur et effectivement, il y a un os au niveau de la fonction SCE_CCreateIndexBuffer du fichier "SCECBuffers.c" lors de l'appel de la fonction glGenBuffers  ligne 255:

le BT de mvc++ 'épuré' :

>    Samples.exe!SCE_CCreateIndexBuffer()  Ligne 255 + 0x12 octets   
    Samples.exe!SCE_Mesh_Create()  Ligne 364 + 0x5 octets   
    Samples.exe!SCE_Init_Quad()  Ligne 73 + 0x5 octets   
    Samples.exe!SCE_Init(_iobuf * outlog=0x66b91448, unsigned int flags=69)  Ligne 128 + 0x5 octets   
    Samples.exe!main(int argc=1, char * * argv=0x00e21348)  Ligne 50 + 0xb octets

(ouais, j'ai mis le flags à 69 mais bon, c'est le premier nombre qui m'est venu à l'esprit et l'utilité du truc est encore toute relative)

Le BT interne :

|- SCE_Init (48)...
|  |- SCE_Init_Media (127)... ok
|  |- SCE_Init_Resource (109)... ok
|  |- SCE_CInit (47)...
|  |  |- SCE_CImageInit (83)... ok
|  |  |- SCE_CTextureInit (83)... ok
|  |  |- SCE_CShaderInit (129)... ok
|  |  ok
|  |- SCE_Init_Shader (308)... ok
|  |- SCE_Init_Mesh (68)... ok
|  |- SCE_Mesh_Create (354)...
|  |  |- SCE_CCreateIndexBuffer (248)...

Le deuxième argument semble incorrect mais je ne me suis pas trop penché sur la question pour le moment .
Je poste le compte-rendu ici au cas où une solution pourrait être trouvé d'ici à demain sinon je verrai moi-même pour résoudre cela (je ne pense pas que ce soit bien compliqué vu que l'essentiel des variables en jeu sont locales) . Pour ce soir, je pense que je vais aller me coucher là, je n'ai pas la forme nécessaire à une séance de debug wink

@++

Anian

Offline

#2 11/09/2008 23:56:48

Yno
Administrateur
Registered: 24/03/2008
Posts: 69
Website

Re: [Résolu] [Vista - VCpp Express] Access violation

Salut,

C'est très sympa de ta part de consacrer de ton temps pour le moteur smile
Bon pour ton bug, je suppose que le pointeur glGenBuffers() vaut NULL, pourrais-tu vérifier ?
Si tel est le cas, je connais deux causes possibles :
- Tu ne supportes pas les VBOs, ce dont je doute un peu d'autant que normalement le moteur ne s'initialise pas et génère une erreur si tel est le cas... mais peut-être la gestion de cette erreur n'est-elle pas opérationnelle ? à voir.
- glew s'est mal initialisé, parce que par exemple tu n'as pas créé de contexte OpenGL avant l'initialisation du moteur. Idem ici, normalement si l'initialisation de glew échoue le SCE s'occupe de retourner l'erreur.
Et sinon à vrai dire, je ne sais pas trop à quoi correspond un "access violation" sous Vista, déjà les erreurs sous XP sont très floues mais en plus je n'utilise pas Vista alors pour moi c'est plus ou moins du chinois big_smile

Encore merci pour ta participation wink
À bientôt.

Offline

#3 12/09/2008 09:56:37

Anian
Member
Registered: 10/09/2008
Posts: 20

Re: [Résolu] [Vista - VCpp Express] Access violation

bonjour,

Je suis en cours de vérification là,
Ce que je peux dire pour le moment, c'est qu'il n'y a pas eu de problème lors de l'initialisation de GLEW puisque glewInit me retourne GLEW_OK (au tout tout début, j'avais effectivement oublié le context mais j'ai vite compris le soucis wink )
Après, j'avoue que je suis un peu ralenti par le fait que je n'ai jamais touché à OpenGL (ni fait de 3D à si bas niveau) mais je compte bien comprendre ce qui ne va pas exactement .
je vais me renseigner un peu plus sur la fonction glGenBuffers pour voir ce qu'il en est exactement .

@+

Anian

Offline

#4 12/09/2008 11:03:10

Anian
Member
Registered: 10/09/2008
Posts: 20

Re: [Résolu] [Vista - VCpp Express] Access violation

Sorry, double post  (je n'édite pas),

Je pense que c'est ta première hypothèse qui est la bonne car je travaille sur un ordinateur portable et j'avoue que l'acquisition d'une bonne carte graphique (et de tout ce qui va avec) n'était pas ma priorité au moment de son achat .
Dans les faits, je n'utilise mon pc que pour programmer sachant que je ne fais que très rarement des applications graphiques, surtout de l'algorithmique actuellement.
J'étais loin de me douter que je testerai ton moteur 3D...

Donc, pour en revenir au sujet, mon pc(ou le SDK????) semble ne pas supporter glGenBufers et ses copains mais glGenBuffersARB,glBindBufferARB, etc ...
Je vais modifier un peu les sources et voir si çà tourne smile

@++

Anian

EDIT : initialisation + finalisation ok, çà a l'air de fonctionner normalement après les "ajout d'ARB" wink wink wink wink wink, je poursuis donc ma démarche !

Last edited by Anian (12/09/2008 11:08:55)

Offline

#5 12/09/2008 18:52:49

Yno
Administrateur
Registered: 24/03/2008
Posts: 69
Website

Re: [Résolu] [Vista - VCpp Express] Access violation

Hum, c'est louche que les suffixes ARB soient requis car il me semble que GLEW crée des noms de fonctions "modernes" faisant croire à l'utilisateur qu'il a une implémentation récente, mais il faut croire que ce n'est pas toujours le cas.
Merci pour ta contribution, je m'en vais rajouter les suffixes ARB pour une meilleure compatibilité smile

Offline

#6 13/09/2008 10:55:57

john
Member
Registered: 25/03/2008
Posts: 5

Re: [Résolu] [Vista - VCpp Express] Access violation

Coucou !

Je rajoute mon grain de sel : en ajoutant le support (optionnel) des VBOs pour mon jeu, j'ai aussi dû utiliser les suffixes -ARB !
Mais si par hasard on prétendait que les VBOs ne sont pas dispos (compiz qui me colle un indirect-rendering big_smile), il n'y a pas de pb particulier...

En passant, je signale à Anian que, même sur ma petite CG intel de portable d'il y a deux ans, les VBO sont dispos. Pour le voir sous linux : glxinfo.
Sous vista... big_smile:D:D

P.S. Lien vers le site de mon jeu qu'il m'intéresserait fortement de voir testé sous vista tongue : par ici !

Offline

#7 13/09/2008 13:27:56

Anian
Member
Registered: 10/09/2008
Posts: 20

Re: [Résolu] [Vista - VCpp Express] Access violation

D'accord, merci du renseignement john !

Offline

Board footer

Powered by FluxBB 1.4.8