begin process at 2012 02 10 01:16:06
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

OpenGL

 > [DEV-C++] -> OPENGL : VBO'S (KEYFRAME)

[DEV-C++] -> OPENGL : VBO'S (KEYFRAME)


 Information sur la source

Note :
Aucune note
Catégorie :OpenGL Classé sous :vbo, keyframe, frame, opengl Niveau :Initié Date de création :04/01/2008 Vu / téléchargé :2 410 / 109

Auteur : alpha

Ecrire un message privé
Site perso
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Merci de donner vos avis et conseils...

PS: Il y a un beug à la fermeture du programme que je n'arrive pas détecter. De plus ma source
n'est pas commentée (je n'aime pas çà) :(



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture [DEV-C++] -> OPENGL : VBO'S
ECRITURE D'UN *.COM 16 BITS

 Sources de la même categorie

Source avec Zip Source avec une capture AFFICHER DES COURBES DE BEZIER par shorzy
Source avec Zip Source avec une capture BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR U... par envi33
Source avec Zip Source avec une capture CLASSE AVEC OPENGL - OBJETS 3D ET ANIMATIONS par rasta63
Source avec Zip Source avec une capture LETTRES 3D AVEC OPENGL ET QT par opossum_farceur
Source avec Zip CUBE 3D GLUT32 VC++ ET DEVC++ par bobby03

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture AFFIMOFF : UNE VISIONNEUSE 3D AVEC PARAMÉTRISATION ET TEXTUR... par pgl10
Source avec Zip Source avec une capture AFFICHER DES COURBES DE BEZIER par shorzy
Source avec Zip Source avec une capture BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR U... par envi33
Source avec Zip Source avec une capture OPENCL : CALCUL ET AFFICHAGE DU GRADIENT COULEUR D'UNE WEBCA... par ciddiju
Source avec Zip Source avec une capture [DEV-C++] -> OPENGL : VBO'S par alpha

Commentaires et avis

Commentaire de acx01b le 04/01/2008 02:36:39

salut

moi j'utilise glew pour charger les extensions,
et je dois dire que pour trouver la bonne version de glext.h pour ton projet (je n'ai pas trouvé de wglext.h qui soit assez récent) j'ai mis 5 min sur google
alors que glew le premier lien sur google et c'est dans la poche

Commentaire de alpha le 04/01/2008 02:46:15

Ha ba je voulais mettre wglext (je crois que c'est ça que tu voulais dire?!) mais je pensais qu'il aurait été plus dur a trouver ;-)
Merci quand meme du conseil.

Commentaire de luhtor le 04/01/2008 11:07:55

Bon alors, tu peux nous expliquer ce qu'il fait de spécial ton code. Je vois juste des vbos on ne peut plus standard non ?

Sinon pour ton problème:
#  delete [] frames;
# frames = NULL;
# }
# //==========================================
# // !!! Probléme:
# glDeleteBuffersARB(1, &frames->vboVertices);
# glDeleteBuffersARB(1, &frames->vboNormales);
# glDeleteBuffersARB(1, &frames->vboTexCoords);

Tu détruits tes vbos après avoir "delete" frames. De plus frames est un tableau, donc, tu devrais plutot avoir:
  if (frames)
{
for (int i = 0; i < numFrames; i++)
{
....
glDeleteBuffersARB(1, frames[i].vboVertices);
glDeleteBuffersARB(1, frames[i].vboNormales);
glDeleteBuffersARB(1, frames[i].vboTexCoords);
}
delete [] frames;
frames = NULL;
}

Commentaire de alpha le 04/01/2008 12:26:14

Effectivement avec:

    if (frames)
    {
        for (int i = 0; i < numFrames; i++)
        {
            if (frames[i].pVertices)
            {
                glDeleteBuffersARB(1, &frames[i].vboVertices);
                delete [] frames[i].pVertices;
                frames[i].pVertices = NULL;
            }
            if (frames[i].pNormales)
            {
                glDeleteBuffersARB(1, &frames[i].vboNormales);
                delete [] frames[i].pNormales;
                frames[i].pNormales = NULL;
            }
            if (frames[i].pTexCoords)
            {
                glDeleteBuffersARB(1, &frames[i].vboTexCoords);
                delete [] frames[i].pTexCoords;
                frames[i].pTexCoords = NULL;
            }
        }
        delete [] frames;
        frames = NULL;
    }

J'ai plus de probléme merci... Mais vu que je débute en vbo je comprend pas pourquoi je fais un glDeleteBuffersARB(1, &frames[i]....); pour chaque frame vu qu'à l'initialisation j'ai créé que pour la frames[0] ?!

Sinon oui ma source montre juste des vbos standard comme tu dis avec une frame, mais je voulais savoir si ya des méthode plus éfficacé (pour plus de rapidité ou qualité) voila
merci encor ;-)

Commentaire de alpha le 04/01/2008 13:11:05

glLockArraysEXT, glUnlockArraysEXT : j'ai trouvé des exemples utilisant ces fonctions
alors la je suis perdu à sa sert de les rajouté à ma source?! Je trouve par la meilleur méthode pour utilisé les vbo je trouve trop de solution differente je suis un peu perdu si quelqu'un pourrai m'aider sa serai gentil, merci ;-)

Commentaire de luhtor le 04/01/2008 14:26:44

Oulala, j'avais pas vu en effet.
Tu fais ca: "glGenBuffersARB(1, &frames->vboVertices);"
Tu devrais faire ca: "glGenBuffersARB(1, frames[0].vboVertices);" (bien que ce soit rigoureusement équivalement)

Mais il faut initialiser tous les membres de la structure quand tu la créés et pas laisser des champs indéterminés. Si tu utilises pas frames[1].vboVertices, mets lui la valeur 0:
frames[1].vboVertices = 0;
frames[1].vboNormales = 0;
frames[1].vboTexCoords = 0;

Et lors de la destruction, tu ne détruits que les vbos qui ont été créé.
if (frames[i].vboVertices != 0)
    glDeleteBuffersARB(1, frames[i].vboVertices);
if (frames[i].vboNormales != 0)
    glDeleteBuffersARB(1, frames[i].vboNormales);
if (frames[i].vboTexCoords != 0)
    glDeleteBuffersARB(1, frames[i].vboTexCoords);

Peut etre que la fonction glDeleteBuffers ne fait rien si l'id du buffer vaut 0 mais on sait jamais. On voit ici l'intéret d'initialiser les ids de tes vbos a 0 si tu les utilises pas.

Pour les vbos en général, tu peux utiliser soit glLock/UnlockBuffer ou glBufferData. En première approche, c'est pareil. (glBufferData parfois un poil plus rapide).

"glLockArraysEXT, glUnlockArraysEXT"
=> Il me semble que ces fonctions ne concernent que les vertex arrays, donc pas les vbos.

"je trouve trop de solution differente je suis un peu perdu"
=> Oui c'est le bordel. Et on peut donc te reprocher de poster une source sur les vbos sans les maitriser totalement puisque ca peut induire en erreur des personnes qui regarderaient ton code.

Commentaire de luhtor le 04/01/2008 14:28:25

J'ai fais une petite erreur: "glGenBuffersARB(1, &frames[0].vboVertices);" bien sur et non:
"glGenBuffersARB(1, frames[0].vboVertices);"

De meme après, c'est des pointeurs que prend la fonction glDeleteBuffers:
if (frames[i].vboVertices != 0)
    glDeleteBuffersARB(1, &frames[i].vboVertices);
if (frames[i].vboNormales != 0)
    glDeleteBuffersARB(1, &frames[i].vboNormales);
if (frames[i].vboTexCoords != 0)
    glDeleteBuffersARB(1, &frames[i].vboTexCoords);

Commentaire de alpha le 04/01/2008 14:54:00

Merci pour toute ces information ça va m'aider et je vais aller me documenter sur les vbo's et je reviendrais mettre à jour cette source ;-)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Demande d'une nouvelle rubrique [ par ndj55 ] voilà,à moins que cela ne rentre dans la categorie 'graphisme' ou 'multimedia',la creation d'une rubrique OpenGL me semble etre une bonne idée,directX Catégorie OpenGL ajouté et aussi dans le forum ! [ par Arnotic ] Salut, Pas la peine de faire une révolution ! Je n'avais pas vu de message pour l'OpenGl pour ce site donc je n'en n'vais pas créé ! Maintenant il nouveau forum opengl [ par Jcom ] Un nouveau forum OpenGL français vient de s'ouvrir sur le site : www.glinfrench.fr.st (tutoriaux opengl/directx). Le forum est entièrement dédié à ope Cherche codeur(s) OpenGL / Paris [ par Kard ] Salut tout le monde :)Je suis a la recherche de codeurs OpenGL experimentés sur Paris, pour un projet de moteur un peu special.. ;)Pour plus de rensei glut - openGL [ par loss ] Quels sont les fichiers necessaires pour utiliser glut(je compile avec VC++)?Ou est ce que je peux les telecharger?Merci d avance. OpenGL [ par Garfield ] Salut à tous !!!A quel endroit est il possible de chopper la librairie&lt;glut.h&gt; qui est abscente sur mon PC.Merci d'avance@+Garfield Problème OpenGL [ par GoldenEye ] Ca ressemble à un mess déjà posé mais ce n'est pas un mess déjà poséJe veux faire un prgm avec glut. J'ai mis dans les options settings de VC++ les li Comment afficher du texte dans un fenêtre OpenGl?? [ par mastave ] Comment afficher du texte dans un fenêtre OpenGl??Et avec un police spéciale?? Objects 3D Opengl [ par mastave ] Comment inclure dans un fenêtre OpenGl un fichier 3D DXF ou3DS??? DEV-C++ : comment faire en mode opengl pour capturer les carateres tapés [ par FLASH92 ] Bonjour, mesdemoiselles, mesdames et messieursJe voudrait savoir comment faire pour capturer en opengl et en mode graphique les carateres frappés au c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,342 sec (4)

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