3D ENGINE (SANS DIRECTX, NI OPENGL)

Signaler
-
Messages postés
188
Date d'inscription
mercredi 15 mai 2002
Statut
Membre
Dernière intervention
25 avril 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/2187-3d-engine-sans-directx-ni-opengl

Messages postés
188
Date d'inscription
mercredi 15 mai 2002
Statut
Membre
Dernière intervention
25 avril 2009

Bon apparement ca fonctionne avec Xp , carte Geforce2 mx 400...
Voila bon travail GallyHC...
Je suis fier de toi ;)
Messages postés
365
Date d'inscription
vendredi 24 mai 2002
Statut
Membre
Dernière intervention
18 octobre 2004

g XP, marche pas : carré noir en haut à gauche sur fond gris plein écran.
Mais je suis sûr qu'il y a bcp de travail dernière ça. Et je suis étonné par la légèreté de l'EXE (68 Ko). alors : 10/10 pr pas baisser la note !
Messages postés
40
Date d'inscription
lundi 7 mai 2001
Statut
Membre
Dernière intervention
12 août 2003

pt1

c un vrai forum ici

pensez à visiter www.serhum.fr.st
sinon, Lightness1024 à plus besoin d'infographiste j'ai réussi à en récupérer un [le frère d'un pote à moui]
Messages postés
162
Date d'inscription
jeudi 15 mars 2001
Statut
Membre
Dernière intervention
1 avril 2005

re salut, désolé de pas etre passé par ici depuis.
mon jeu avance bien je suis sur la 13eme version alpha et elle est preske fini.
il m'a fallut beacoup de temps pour affiner et débuger mon algorithme d'extrapolation de faces.
Worldcraft ne donne que les plans dans les fichiers .map donc pour trouver les polygones il faut extrapoler (en cherchant les intersections, puis en vérifiant si le point trouver n'est pas en dehors du solide sachant qu'il est convexe) et ce n'est pas une mince affaire je vous le dis!
mais je viens de le faire marcher a l'instant, ca fait un mois que je suis dessus sans jamais pouvoir le tester vraiment (tant que l'algo n'est pas complet on ne peut rien faire) donc je devait executer en pas a pas en "watchant" les variables et je vous dis pas je devait faire des dessins pour simuler la position des sommets sur papier pfouuuu...
vous imaginez comme je suis heureux que ca marche now :))))
www.serhum.fr.st
l'alpha 13 sortira dès que j'aurais compris les 2 ptis bugs qui restent :( (minimes)
en attendant ya kan meme l'alpha 12 avec une ancienne technique d'extrapolation bcp plus simple mais de mauvaise qualité.

pour le software DirectX gère tres bien cette fonction, de plus je programme en C++ et je ne voudrait pas inserer de module Visual Basic (meme sous forme d'activeX ou de DLL) pour conserver ma vitesse.
j'arrive a avoir 1100 fps avec une voodoo3 sur une petite map en 640*480 en accéléré tu vois la difference :) et en plus avec texture bilinear filtering !

bon voila, merci de me lire @# et bon courage pour ton API ke je me souvient etait vraiment bien parti :) bye
Messages postés
12
Date d'inscription
dimanche 10 mars 2002
Statut
Membre
Dernière intervention
14 janvier 2006

Ouais pas mal ça doit être amélioré c'est sur mais ce n'est qu'un debut ;)
9.5/10 désoler pour devoir l'arondire a 9 mais le site n'est pas prevu pour ;)
Messages postés
3
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
4 juin 2003

Très Bon code bravo!
Messages postés
386
Date d'inscription
samedi 4 octobre 2008
Statut
Membre
Dernière intervention
19 février 2018
2
Hello Lightness1024,

Comment ce porte ton new prog. enfin merci pour les infos. Si tu veux je peux travailller sur ton affichage pour avoir un mode sofware..

A++
Gally Home Corp.
Messages postés
162
Date d'inscription
jeudi 15 mars 2001
Statut
Membre
Dernière intervention
1 avril 2005

salut.
ben moi personnellement je ne refait pas de fonctions d'affichage de base comme tu le fait, donc je ne m'y connait pas trop en mathematique 3D pour le calcul des faces cachées, de culling de mouvement de caméra tout ca j'utilise DirectX.

je débute dans la 3D mais je vais partir dans un moteur pour faire un projet que j'ai commencé en C++ appelé projet SERHuM.
heureusement j'ai un pote a moi qui a déja réussi a faire quelque chose de bien avancé pour un autre projet (il est dans l'equipe de City Gang voir ce site: http://vengeance.altajeux.com/City_Gang/)
et il a deja fait un compilateur CTG pour les fichiers map qui fait tout les calculs de secteurs cachés depuis un point a partir d'un arbre de type QuadTree ou OctTree, et qui supprime les faces inutiles (coplanaires).
apres dans son moteur il a fait un truc pas trop mal de détection des collisions mais ca foire encore un peu, en tout cas il a le principe, ils l'ont surnomé "the brain" dans l'equipe :)
et sinon pour trouver des personnages modélisés il faut absolument un infographiste parce ke c'est super difficile a dessiner.

le mail de the brain si ta des trucs a lui demandé (il connait tout sur les matrices, rotation projection, hometétie, translation etc.. il travaille en OpenGL) c'est mogluglu@hotmail.com


voila @#, et bonne prog, googoogooooooooo !! comme dirait je sais plus ki de ce site :)
Hello mph,

Oui tes docs peuvent être les bien venu, comment peut on faire pour les récupérés.

A++
Gally Home Corp.
Hello Killan,

En faite oui je sais le prob (j'ai oublier de prévenir). Ta résolution d'écran ne doit être de 24 bits, si tu veux que cela fonctionne mes ta résolution en 24 ou même 32 bits...

A++
Gally Home Corp.
Chez moi ça ne va pas ! erreur d'exécution "indice en dehors de la plage" etc...
ligne 186 dans basinitgraphics ! au cas où comme ça tu sais !

J'aimerais aussi apprendre la 3D ou autre technique de dessin ou affichage graphique, si quelqu'un sait et veu bien m'aider ou me tuyauter !

merci et bonne continuation...

Killan
Si vous voulez, j'ai des docs en html et postscript sur les techniques des portals, bsp tree, octree, ...
Hello Geff,

Moi aussi, je suis sur le projet d'un jeu en 3D (avec 2 mode réseau). Si tu veux bien, on peut se e-mailer pour en discuter et pour donner des opignons sur nos code respectif.

For Lightness1024:
Si tu as des docs, des exemple, ou même si tu veux aussi faire un projet en commun (comme non p'tit Game a Mi) pas de prob, je suis preneur aussi.

A++
Gally Home Corp.
tien j'te met 9/10, pasque t'a bien travaillé
REREHello,

For Geff:
Oui je vais voir ce que tu as fait, cela peut me donner des idées (même on peut, peut être faire un projet sur la 3D en commun.

Comme je l'ai déjà écrit plus bas, ce code me sert juste a comprendre la 3D, Il ne serat pas le moteur final (mais par contre une version VB, juste pour info sera disponible ici).
tout ca c'est bien bo, mais comme ke dit lightness, un moteur en raycasting aussi précis en vb pour un jeu complet, tu l'fait tourner ke sur des stations alpha, et encore ! Mais enfin c kan meme un tres bon code, deja parceque t'utilise po de big librairies existantes (ogl, dx) et puis c bien commenté, bravo, et bon courage, P.S. : j'ai mis mon moteur ici aussi, et je développe aussi un jeu en réseau 3d, mais avec ogl, donc si ca t'interresse...
ReHello,

For Lightness1024:
Au fait, comme je voi que tu connais plutôt bien le sujet. Pourais-tu me donner les conseil ou même des Algos sur le sujet.
Pour le moment je recherche le théorie pour réaliser le même avec x objets selon une caméra paramètrable.

Merci d'avance,
Gally Home Corp.
tout ca c'est bien bo, mais comme ke dit lightness, un moteur en raycasting aussi précis en vb pour un jeu complet, tu l'fait tourner ke sur des stations alpha, et encore ! Mais enfin c kan meme un tres bon code, deja parceque t'utilise po de big librairies existantes (ogl, dx) et puis c bien commenté, bravo, et bon courage, P.S. : j'ai mis mon moteur ici aussi, et je développe aussi un jeu en réseau 3d, mais avec ogl, donc si ca t'interresse...
Hello,

For Lightness1024:
En fait tu as tout a fait raison, Mais ce sources n'est que pour moi que la première version pour pouvoir comprendre la 3D (comme je ne connais pas grand chose). Par la suite je recoderer une version en C ou C++ (je connais a peu près pour le moment que VB).
je l'ai mis ici car c'est un site plutôt cool et surtout bien rempli (j'ai juste voulu le mettre pour donner un exemple a d'autres personnes voulant comprendre le principe de la 3D et surtout qu'il ne passe pas leur temps comme moi a chercher des infos sur la théorie de la 3D.

PS1: for Nix: Merci pour le 9 sur 10, cela m'encourage a continuer et par le fait je rajoute un nouveau projet que j'ai fait cette nuit (Sphère in Z-Buffer).
PS2: L'objet est réaliser avec lightWave et exporter au format OBJ (Comme cela vous pouvez mettre n'importe quel type d'objet que vous aurez réalisé).
PS3: Si vous avez réaliser des Objets de type Personnage "Homme, Femme et Enfant" je suis preneur.

A++
Gally Home Corp.

c'est sur ya un certain travail, c bien fait c interressant. a part kelques fautes d'anglais des fois.
sinon faire un moteur 3D en VB c pas bien bon pour le moment c plutot fluide mais kan ca va devenir des gros niveaux de doom like meme avec un algo de suppression des secteurs cachés (avec les arbres BSP et ou des Octree CTG) ca sera sacadé.
...c tres bien... une fois kon sait le faire fonctionner :P

9/10
OK, j'ai localiser le prob en mode debug... En fait il faut crer un repertoire nommer "DATA" dans celui ou ce trouve les sources ou l'exe, puis faire un move des 2 repertoires "3DObjets" et "3D texture" dans "Data".
Quand j'ai fait le Zip j'ai merdé sur les reps.

A++ et bon 3D.
Gally

PS: j'ai fais un nouveau teste sur NT4 et 2000 tous est OK (j'ai eu du mal avec la mémoire sur NT).
bon ben ça ne marche pas chez moi. J'ai une fenêtre en FullScreen avec un carré noir et rien d'autre. Pas de message d'erreur, rien.
A bon comment cela! Je l'eu fais en partie sur Poste 98, Nt4 et 2000... Si il y as des probs ecrivez-moi les types de probs pour que je l'ai résolve...

A++
Pleins de couilles sous WINNT