Merci pour la bibliothèque, elle a l'air pratique.
Je vais peut-être bien l'utiliser comme loaders secondaires (Au cas où ceux que je fais ne fonctionnent pas).
Mais les loaders que j'écris sont plus optimisés car directement interfacés avec le fonctionnement du moteur.
Je crains que cette librairie, de part son aspect général ne puisse pas gérer le modèle en utilisant un minimum de mémoire.
Par exemple, les indices, l'Ungine gère les indices de taille 8, 16 et 32, or j'ai vu que le code de la librairie ne gérait que les indices 32 (Ce qui pompe de la mémoire pour rien).
De plus, les loaders de l'Ungine vont permettre aussi une écriture d'un mesh dans un fichier, ce qui n'est pas proposé par ta bibliothèque.
L'Ungine gère sans problème les modèles md2 et je suis en pleine réécriture du loader obj.
l'Ungine progresse bien, les SceneNode ont été ajoutées et fonctionnent parfaitement, je vais pouvoir attaquer le SceneManager, l'un des élément fondamental d'un bon moteur 3D (Qui optimise le rendu automatiquement, en plus de le rendre plus facile).
J'ai fais une petite démo pour tester les nodes : Ici
C'est une démo technique qui n'a absolument pas été préparée pour le public, on y voit donc du grand n'importe quoi avec des tests physiques si vous appuyez sur F3.
La partie physique représente deux géométries créées en prenant le modèle du Dr Freak et en faisant une enveloppe convexe autour.
Vous pouvez les diriger avec : ZQSD et RF pour la forme gauche, les flèches et PageUp/PageDown pour la forme de droite.
Je le rappelle : Il y a des collisions.
Si vous allez trop loin, les formes vont se bloquer et il vous sera impossible de les faire se déplacer à nouveau : C'est normal, si vous atteignez un bord de la "boite de simulation", alors la simulation physique n'opère plus.
Bref, je continue à programmer
(L'alpha-test avance bien, si d'autres veulent participer, qu'ils n'hésitent pas à me contacter )
PS : J'ai une personne qui se plaint de bugs importants avec cette démo, si ça vous arrive, ça m'intéresserait de le savoir pour pouvoir corriger
Pour ma part, ca marche tres bien pour le rendu (avec cette fois ci pas de limite de fps ). Sinon, le mouvement ne marche pas (ZQSD et RF) mais F3 et F4 marche bien (cependant je suis sur un clavier US, ca peut peu etre expliquer la chose ...).
Les enveloppes convexes ne tournent pas avec le graphe de scene (mais ca doit etre le comportement normal).
En effet, les enveloppes ne bougent que par la physique.
Suite à une demande, voici le code source (Que je n'ai pas mis avec la démo parce que j'en suis pas fier )
Attention, ce code est crade, il ne sert qu'à tester
(F1 et F2 permettent de switcher entre les VA et les VBO côté OpenGL, mais avec des modèles aussi peu complexes, vous n'y verrez pas la différence normalement).
Sinon oui, cette démo n'a pas de synchronisation verticale, j'ai corrigé ce bug de l'Ungine qui empêchait de pouvoir le définir
Donc ça doit venir du loader ou du modèle. Connaissant mes déboires avec le modèle, ça doit venir de là probablement. Je compilerais le code demain pour voir si ça change quelque chose.
J'espère que ce bug bien embêtant vient seulement du code crade du test, est-ce que les exemples posent ce problème?
En sachant que je viens de les mettre à jour avec le dernier build du moteur, si ceux qui ont des problèmes avec la "démo" pouvaient tester l'exemple 11, ça m'arrangerait
Un mot... impressionnant!
J'ai voulu apporter ma modeste contribution en effectuant les tests de démo, bien que sur un pc portable j'ai comme l'impression d'avoir un frame rate anormal .
Démo technique de l'Ungine #1 :
Processeur : ADM Turion X2 Mobile RM-74 2.2 GHz
Système d'exploitation : windows vista ed. familiale 32 bits
RAM : 4 Go
FPS : 85-145
Combien de vertices comporte ton modèle?
Démo technique de l'Ungine #2 : Résultats du benchmark
Carte graphique : ATI Mobility Radeon HD 4570
Module graphique : Ungine Renderer Module (0.0.434 - OpenGL 2.1.9120)
Test n°1 - Modèles - Score : 33520
Test n°2 - Shaders - Score : 9867
Test n°3 - Textures - Score : 6318
Test n°4 - Masques (Stencil) - Score : 12662
Score global : 62367
FPS : 650-700
Autrement le frame rate tourne autour de 700 FPS pour les autres démos et pour les exemples (logo, render vide... ) dans les 1200-1400 FPS
Euh... tu as 3 vertex unique pour chaque triangle ? (maintenant que j'y pense dans la premiere demo tu n'avais pas de VBO mais simplement des displat lists ?)
Car normalement, sur des models comme ca, tu as le nombre a peu pres egal de nombre de vertex et du nombre de triangle.
Quand je l'ouvre sur un viewer (assimp), cela m'indique pour le model de la premiere demo technique :
Triangles : 502024
Vertex : 435321
Sinon, pour les tests, je te conseil d'autre models comme Sponza de CryTek ( http://www.crytek.com/cryengine/cryengine3/downloads ). Pourquoi ? Car, ici tu sera plus proche d'une vrai scene de jeux, c'est a dire :
Plusieurs entitees sur la scene. (Bon ok, pour cela il faut un debut de graphe de scene)
Plusieurs textures (Diffuse, specular et normal mapping) de taille concequante. (avoir mit en place les shaders pour specular et normal mapping)
Plusieurs type de materiaux differents dans la meme scene
Alors voila, je recommence à travailler petit à petit sur l'Ungine, et je me demande si je ne devrais pas arrêter de supporter le vieux matériel (Celui qui ne supporte pas les shaders), ce serait plus agréable pour moi, l'architecture et je pense que ça ne poserait de problème à personne
Les shaders ont ete introduit en 2004 (cf Wikipedia) avec OpenGL 2.0. De toute façon de nos jours ou il n'y a pas de shaders ?
après, la question est : Est ce qu'il faut aller plus loin ? OpenGL 3.X+ ? OpenGL 4.X+ ?
Personnellement j'ai fait le choix OpenGL 3.X+ car :
Aucune de mes CG supportent OpenGL 4.X+
Toutes mes cartes supportent au moins OpenGL 3.1+
Le système de dépréciation a ete introduit dans OpenGL 3.0 et change radicalement la facon de concevoir une application OpenGL. En effet, plus de gestion de matrice (glPushMatrix, ... etc), plus de dessin directe, bref tout ce qui est coder en dure dans OpenGL => Poubelle.
Donc l'arguement d'OpenGL 3.X+ est : Est ce que tu es pret a coder en moteur de rendu qui sera complément obselete quand tu déciderais de passer a des versions supérieurs OpenGL ?
Plus sérieusement, c'est un choix. C'est comme toutes les nouvelles fonctionnalités qui sont apporter par le matériel : que faire ? Utiliser les nouvelles possibilités ? Faire quand même un support des vieux matériels ?
D'autre part, tu peux utiliser les nouvelles fonctionnalités introduite dans OpenGL 3.x avec un contexte inférieur, tout cela est possible avec les extensions. Cependant, tu t'expose au faite que ces extensions sont optionnelles et que tu va devoir vérifier si elles sont supporter avant les utiliser dans ton code. Ce qui se traduit par plus de complexité (niveau code) et la encore le choix cornélien : Que faire si elle ne sont pas supportée ?
Je pense que sur des projets amateurs le choix le plus raisonnable est de couper un trop gros support des vieux matériels (j'entends par la minimum du OpenGL 2.1). Ou autre solution, utiliser des énormes projets comme Ogre qui vont de mâcher le travail de support ( ce qui a du bon ! ). Mais je ne pense pas que c'est l'orientation que Lynix veut prendre dans son projet.
Ne pas supporter OpenGl 2.X serait un peu dommage, car je pense qu'il y a encore pas mal de monde qui n'a pas de CG compatible 3.X (moi y compris). Ne pas supporter les CG qui ne supportent pas les shaders, entièrement d'accord par contre, car de nos jours, sans shaders il n'y a pas beaucoup de jeux auxquels tu peux joueur, et je pense que la quasi-totalité des joueurs ont une CG "shader compatible".
Surtout que tout le monde ne s'est pas acheté un nouvel ordi depuis août 2008... Donc je suis d'avis de supporter tous (ou du moins, une grande partie) les matériels sortis depuis 5 ans, c'est-à-dire 2006.
Soyons réaliste, sont jeux ne sortira pas maintenant et si il choisie GL 3.1 les joueur aurons le temps de changer de CG. Dans le milieu Pro, les développeur savent que leur leur jeux doit tourner au minimum sur un config d'un ans voire un ans et demi au moment de sa sortie.
Sinon sa demande pas mal de boulot pour qu'un jeux tourne sur tous les PC, par exemple lors des démo elle planter chez quelque personne, donc en plus de corriger tout les bogs il devrait adapter au vielle config ? sa demande un certain talent et une grande patience
Enfin, tout dépend de la vision de Lynix sur le sujet, faire un moteur pour les joueurs qui ont les moyens d'avoir une bonne config ou faire un moteur pour la majorité des joueurs, qu'ils soient joueurs accro ou occasionnels, c'est-à-dire qu'ils aient changé leur CG il y a pas longtemps où qu'ils aient acheté un ordinateur tout fait et qu'ils n'aient pas changé leur matos... Comme une majorité des joueurs !
Projet tres interressant.
Tu dis avoir fais une classe String plus rapide que celle de base, peut on la voir ? Comment se fasse t il qu'elle soit plus rapide ? (je trouve sa troublant, de plus je ne connais les algos employés sur le string de base)
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
"J'aimerai faire un jeu, mais pas un gros jeu hein. Un petit truc simple du style MMO."
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)