Moteur 3d en controle ocx basique

Soyez le premier à donner votre avis sur cette source.

Vue 8 263 fois - Téléchargée 860 fois

Description

Un petit exemple de ce que peut-être un moteur 3D. Ce n'est qu'un début : le FPS reste bas, et les possibilités sont limités. Cependant, cela montre bien comment créer un moteur 3D.
Possibilités de lire des sons, de recevoir les touches clavier, d'afficher des formes 3D texturées, d'afficher du text 2D sur le fond 3D, bref les possibilités basiques.
Elles sont tous accesibles via des commandes basiques, genre :
InitDevice
InitSound
InitFont
InitInputDevice
Render
PlaySound

Vous pouvez aussi agir sur les matrices.

Voilà, amusez vous bien, et pensez à mettre un petit commentaire SVP.

Conclusion :


Un exemple est distirubué dans le zip. Essayez le.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Scalpweb
Messages postés
1468
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
5 mai 2010
-
C'est vrai tu as raison pour ce qui est de Ubound et On error (...) mais pour ce qui est du choix du contrôle ActiveX, j'ai déjà répondu à cette question ;-).
cs_OphidiaN
Messages postés
235
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
9 novembre 2007
-
Il peut-être encore + interessant dans ce cas de passer par une dll activex plutot qu'un ocx.
(création directe de la classe plutot que d'utiliser la classe de l'ocx)

ça manque peut-etre de paramètres dans certaines fonctions et d'optimisations au niveau des boucles

On Error GoTo resu

If UBound(vMesh) > 0 Then
For i = 1 To UBound(vMesh)
d3dDevice.DrawPrimitiveUP D3DPT_TRIANGLELIST, UBound(vMesh(i).MPoints) / 3, vMesh(i).MPoints(1), Len(vMesh(i).MPoints(1))
Next i
End If

resu:

le on error goto resu ne devrait pas se trouver dans une telle fonction, il ya d'autres methodes de gestion bcp plus (simple) et efficaces,

et par ex, l'utilisation de ubound() dans la boucle est une très mauvaise idée pour l'optimisation

il est largement préférable de stocker tout au long du programme une variable vmeshCount, car ubound() oblige vb à checker à chaque tour la total des éléments du tableau (ça peut avoir des avantages mais pas ici)

alors déjà que vb est lent ;)

@++
Scalpweb
Messages postés
1468
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
5 mai 2010
-
Bon alors : ce qui s'affiche chez toi est normal; c'est vrai l'exemple n'est pas vraiment travaillé lol.

Cependant, c'est un point de départ. A toi de rejouter les 3d et les autres options.

Ecris moi si tu veux des précisions.

Ensuite, j'ai choisi l'OCX car le principe me paraissait intéressent c'est tout...

---
NISAND SYSTEM => c'est vrai tu as raison d'un côté... Mais si on résonne comme ça, on ne dépose plus de source...
MadM@tt
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
-
mais ce projet la c'est juste un exemple d'utilisation du controle non ? c'est vrai qu'il aurait pu faire un exemple avec de la 3D mais bon...
vlad2i
Messages postés
285
Date d'inscription
mercredi 20 août 2003
Statut
Membre
Dernière intervention
13 février 2005
-
Matt> "MOTEUR 3D EN CONTROLE OCX BASIQUE" c'est le titre du code, si il se résumais a ce que tu me dis, l'auteur aurait mis "AFFICHE LE CONTENU D'UN TEXTBOX" mais personnellement je doutes que ce soit là le but de cette personne...

Enfin, moi aussi, c'est ce que j'ai - mais je m'obstine a douter que c'est ce que je devrais avoir :)

Vlad

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.