zip
Télécharger le zip
j'aime beaucoup a par le fait que ce soit OpenGL mais bon ^^ bon prog : 10/10
Faute de temps je n'ai pas regarder le code mais à l'execution ca ma l'air bien !Seulement p-e que tu pourrais éviter les warnings ;)
gbourgeois0019:j'ai compilé avec visual C++ (Warining level 3)et ça donne pas de warnings,le warning level 3 et une option par default de VC++.avec un (warning level 3) il y a tjrs des warnings
Dans ton fichier principale, tu devrais remplacer ta boucle qui s'occupe des messages par celle-ci. Ca évite que le processeur soit constamment utilisé à 100% (ce qui est qd meme mieux). En testant, je n'ai pas vu de différence entre ta boucle et celle-ci.while (GetMessage(&msg, NULL, 0, 0) != 0) { TranslateMessage(&msg); DispatchMessage(&msg); }
Salut,jaime beaucoup ton programme.J'utilise 3ds max avec un ami et je vais essayer mes projets sur ton visualisateur.Si tu pourrais m'envoyer tes futures mises à jours de ce logiciel.Merci.SylvainSSiri@hotmail.com
Un sérieux manque de gestion de la mémoire.Les fichier 3DS.h et 3DS.cpp comporte de nombreuses fuites de mémoire notament à cause de la structure de données :struct t3DObject { int numOfVerts; int numOfFaces; int numTexVertex; int materialID; bool bHasTexture; bool bHasmaterialID; char strName[255]; vec3 *pVerts; vec3 *pNormals; vec2 *pTexVerts; tFace *pFaces; };Des pointeur dans la structure qui ne sont bien sûr jamais déchargé via un delete[] .. !!!!Cette partie du code source est donc à revoirUne version sans fuite de mémoire serait donc la bienvenue car cette source est vraiment trés interressente !
Concernant les fuites je rajouterai également ces deux bouts de codes dans mathlib.h============================================================================================inline vec3& Cross(const vec3 &v1,const vec3 &v2) { vec3 *ret = new vec3(v1.y * v2.z - v1.z * v2.y, v1.z * v2.x - v1.x * v2.z, v1.x * v2.y - v1.y * v2.x); return *ret;}// This calculates a vector between 2 points and returns the resultinline vec3& Vector(const vec3 &vp1, const vec3 &vp2) { vec3 *ret = new vec3(vp1.x - vp2.x, vp1.y - vp2.y, vp1.z - vp2.z); return *ret;}=================================================================================================A corriger en remplacant par============================================================================================inline vec3& Cross(const vec3 &v1,const vec3 &v2) { vec3 ret(v1.y * v2.z - v1.z * v2.y, v1.z * v2.x - v1.x * v2.z, v1.x * v2.y - v1.y * v2.x); return ret;}// This calculates a vector between 2 points and returns the resultinline vec3& Vector(const vec3 &vp1, const vec3 &vp2) { vec3 ret(vp1.x - vp2.x, vp1.y - vp2.y, vp1.z - vp2.z); return ret;}=================================================================================================Pour le post d'avant il faut utiliser un smart pointer pour verts,normals,texverts et pfaces afin de liberer automatiquement la mémoire.
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte