Page 1 sur 3

OpenGL - Embryon de moteur3D

Publié : sam. 15/juil./2006 0:13
par Anonyme
Salut à tous, Voici mes travaux réalisé en pure/OpenGL
je pense que l'on peut dire que c'est un embryon de moteur3D, bien entendu c'est open-source.

Pour le moment, on ne peut pas faire grand chose :

- Chargement d'un model au format *.ase
- Support des UV's
- Gestion basique d'une caméra
- Support des textures (avec filtres(facultatif))

(En création) :
- Création de skybox en une ligne de code.


File:1->GL3D.rar
Image

Pour ce deplacer zsqd Pavnum 8 & 2 pour le site.

a ce stade, cela fonctionne nickel, sauf que vers 3000 polys sa rame comme pas possible :? je ne comprends vraiment pas.
Ma géométrie est chargée en mémoire vive, je voudrais la chargé directement dans la carte graphique, mais le fichier Opengl.pbi dont je dispose ne beneficie pas de cette commande, donc mes questions sont les suivantes :
- Commet obtenir un tel fichier (Includes\opengl.pbi)
- Mes objets et toute la structure (vertex,uv,faces) sont gerée par des Listes chainées, est il possible d'utilisé autre chose, pointeurs,tableaux,etc... afin de gagner en perf?
-Fred, comptes tu mettres en natif le suport d'opengl afin de bénéficier des shaders & cie?

Publié : sam. 15/juil./2006 8:10
par djes
Vraiment sympa :)

La solution au problème de lenteur est d'utiliser les display lists : http://nehe.gamedev.net/data/lessons/le ... ?lesson=12

Y'a d'autres tutos là : http://www.lighthouse3d.com/opengl/tutorials.shtml

Publié : sam. 15/juil./2006 8:45
par Anonyme
Merci Djes ! :D Ca fonctionne avec un zoli model d'half life 2 avec plus de 3000 polys :D
Je ferais une màj se soir.

Publié : sam. 15/juil./2006 10:44
par Progi1984
Bon boulot ! T'as plus avancer que moi :p !

Sinon quelques idées : gestion du FPS ?

Quel est la suite ? :)

Publié : sam. 15/juil./2006 10:58
par Anonyme
Pour le moment je ne peut pas afficher de texte ou de sprites, car ceux de pb c'est DirectX. mais je prevois de le faire pour OpenGL.

La suite proche sera :

- l'améioration du code déjà existant
- La gestion(affichage) de plusieurs objets (en cour)
- la gestion des lumieres
- le brouillard
- Plusieurs type de camera (Libre, Suivi d'objet)
- Terrain

je prevois :

- support d'autre format 3D
- Animation d'un mesh
- Shader?
- Multi-texturing



Mon but principale est de rendre facile la 3D à purebasic, J'ai choisi OpenGL pour sa portabilité.
Evidement le projet sera OpenSource.


@++

Publié : sam. 15/juil./2006 11:18
par KarLKoX
C'est prometteur tout ça, vivement la prochaine release :)

Publié : sam. 15/juil./2006 12:06
par wolfjeremy
Faudrais peut etre utiliser le langage pour les carte graphique, sa serait plus pratique (sa s'inclu dans les autres langage normalement).
Faut aller voir sur le site de Nvidia :wink:

Publié : sam. 15/juil./2006 12:23
par flaith
Cpl.Bator a écrit :...
Mon but principale est de rendre facile la 3D à purebasic, J'ai choisi OpenGL pour sa portabilité.
Evidement le projet sera OpenSource.


@++
Trés belle initiative, Image

Publié : sam. 15/juil./2006 12:48
par Anonyme
Faudrais peut etre utiliser le langage pour les carte graphique, sa serait plus pratique (sa s'inclu dans les autres langage normalement).
Faut aller voir sur le site de Nvidia
Oui c'est le CG , le language de Nvidia est compatible OpenGL et Dx
le problème, c'est que je n'ai pas d'include comme "opengl.pbi (ds mon exemple)" qui me permet d'acceder aux commandes GLSL , je ne sais pas faire se genre de fichier :oops:
j'ai regarder vite fait dans le SDK de pure, mais à chaque tentative d'importer une lib, il me sort un fichier vide... :?


Edit : je dépasse les 10 000 polys, y rame po :D DarkBasic n'a plus qu'a bien se tenir :D

Publié : sam. 15/juil./2006 13:29
par Dr. Dri
Cpl.Bator a écrit :Pour le moment je ne peut pas afficher de texte ou de sprites, car ceux de pb c'est DirectX.
Et en utilisant le subsystem opengl ? Depuis PB4 ca se limite plus à dx7 le PB...

Dri

Publié : sam. 15/juil./2006 15:27
par Anonyme
Voilà la derniere Maj :D

- Gestion de la lumiére ambiente
- Gestion de plusieurs meshs
- Gestion de skybox

http://cpl.bator.ifrance.com cliquez sur 01
(purestorage déconne :?)


Le chargement est super long, je vais l'améliorrer avec des threads.
je vous laisse deviner d'ou viens le mesh :lol:
Comme d'hab Z,S,Q,D et PavNum 8 & 2 pour le site.
Ce coup ci pas le temps de mettre au propre la source, je suis préssé, j'ai du ménage à faire :?
Elle sera mise à jour à la prochaine version.

@Dri OpenGl ne permet pa sa ma connaisance de dessiner des sprites ou ecrire du texte, faut le faire soit meme je pense.

Publié : sam. 15/juil./2006 15:44
par Dr. Dri
Cpl.Bator a écrit :Pour le moment je ne peut pas afficher de texte ou de sprites, car ceux de pb c'est DirectX. mais je prevois de le faire pour OpenGL.
En utilisant le subsystem OpenGL, les libs Screen, Sprite et Sprite3D directx7 seront remplacées par des libs Screen Sprite et Sprite3D utilisant OpenGL. Pour t'en assurer vas dans le dossier Subsystems/OpenGL. La fonction SpriteID qui renvoi l'identifiant dx du sprite renverra l'identifiant opengl du sprite avec le subsystem... Pour afficher du texte pure n'utilise pas directx, la lib 2DDrawing utilise gdi sous windows. Donc je ne vois pas en quoi directx peut te gêner... Idem pour ourir un écran, avec le subsystem (et donc la lib Screen en version opengl) tu auras directement un écran ogl.

Dri

Publié : sam. 15/juil./2006 15:51
par Anonyme
Merci pour les infos, je vais aller jeter un oeil. :wink:

Publié : sam. 15/juil./2006 16:01
par tonton
tres bien ton truc :D , on va finir par t apeler "general bator".
ta derniere version plante chez moi.
bonne continuation..........

Publié : sam. 15/juil./2006 16:11
par wolfjeremy
Tien au faite il y a un OpenGL.pbi dans
PureBasic \Examples\Sources - Advanced\OpenGL Cube
:wink: