PROGRAMMATION DIRECTX 8 TUTORIAL 3 : GRAPHISMES 3D COLORÉS ET TEXTURÉS
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 2019
-
11 nov. 2003 à 00:35
bibiok
Messages postés6Date d'inscriptionjeudi 9 novembre 2000StatutMembreDernière intervention21 juillet 2005
-
10 avril 2005 à 14:24
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
bibiok
Messages postés6Date d'inscriptionjeudi 9 novembre 2000StatutMembreDernière intervention21 juillet 2005 10 avril 2005 à 14:24
g trouve que le code est bien expliqué mai g 1 problème: il y a rien dessiné sur l'écran.
Mai c bien expliqué
bibiok
cs_LaPatoshe
Messages postés53Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention19 décembre 2009 4 avril 2005 à 22:06
salut, le problème vient peut être de la configuration graphique de la machine de ton pote. essais de changer le backbufferformat , le problème peut venir de là.
pcmanprogrammeur
Messages postés126Date d'inscriptiondimanche 27 mars 2005StatutMembreDernière intervention16 octobre 2010 30 mars 2005 à 16:58
Mince, j'ai oublié de donner le symptome :)
L'écran est noir.
pcmanprogrammeur
Messages postés126Date d'inscriptiondimanche 27 mars 2005StatutMembreDernière intervention16 octobre 2010 30 mars 2005 à 16:56
Bonjour!
Ce tutoriel marche super bien chez moi sauf que ........
pas chez un copain et à mon lycée :(
En plus, sur les 2 pc testés, y'a directx8.
Comment se fait-il que cela ne marche pas alors?
cs_LaPatoshe
Messages postés53Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention19 décembre 2009 15 janv. 2005 à 16:12
j'ai entendu parler de truevision, mais je n'avais à l'époque pas réussi à le récupérer sur le net. Et puis allait il y avoir des mise à jour de TrueVision avec l'évolution des cartes graphiques ? Avec DirectX, j'étais à peu près sûr d'avoir une compatibilité au fil du temps, et aussi une certaine liberté de programmation. C'est toujours plus sympa d'user du moins de biliothèques extérieures lorsqu'on programme. Un autre soucis, c'est que DirectX, on sait qu'il n'y a normalement rien de plus rapide et pratique pour programmer de la 3D en VB (mis à part peut être OPEN GL). TrueVision quant à lui, bien qu'il se serve de DirectX, a t il la même rapidité ?
Toutes ces petites choses ont orienté mon choix qui a été : Faut il apprendre un moteur 3D très compliqué, ou un moteur moins compliqué sachant qu'il existe un risque de ne pas s'en servir longtemps.
Mattpbem
Messages postés46Date d'inscriptionvendredi 14 janvier 2005StatutMembreDernière intervention31 juillet 2006 15 janv. 2005 à 15:21
c'est bon j'ai reussi à le faire marcher, tes tutoriaux sont interessant pour directX mais je trouve qu'il est plus facile de travailler avec TrueVision même s'il se sert de directX,True Vision est plus adapté pour faire des jeux et à une serie d'outils assez interessant compatible au format .X
je ne fais aucune publicité ^^. et il y a aussi des tutoriaux truevision (avec un minimum d'anglais)
cs_LaPatoshe
Messages postés53Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention19 décembre 2009 15 janv. 2005 à 14:36
Vérifies si tu as bien installé DirectX8 SDK, la version d'utilisation de DirectX8 livrée avec les jeux ne suffit pas.
Ensuite, dans le projet Visual Basic, vérifie que tu fais bien référence à DirectX8. Celle seule référence permet d'appeler les librairies de D3DX8 et de Direct3D8.
Mattpbem
Messages postés46Date d'inscriptionvendredi 14 janvier 2005StatutMembreDernière intervention31 juillet 2006 15 janv. 2005 à 08:45
j'ai l'impression qu'il me manque la bibliothéque D3DX8 qui est une bibliothèque de fonctions et de types indépendante de DirectX8(c'est quoi son nom de fichier pour que je la retrouve ?) pourtant j'ai dx8vb.dll,
cs_LaPatoshe
Messages postés53Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention19 décembre 2009 14 janv. 2005 à 23:20
salut, il y a un moment que je n'ai pas touché au visual avec directX, mais j'ai souvenir il me semble que les erreurs surlignées sur la ligne du device.present... viennent d'un problème de paramétrage du device. Essaies de changer tes résolutions (notament celle des couleurs (A8R8G8B8, X8R8G8B8, R8G8B8...), pour vérifier.
Mattpbem
Messages postés46Date d'inscriptionvendredi 14 janvier 2005StatutMembreDernière intervention31 juillet 2006 14 janv. 2005 à 19:01
j'ai du modifier quelque paramétre(ca parait normal ^^) et aprés j'ai un gros bug de moniteur qui clignote en blac et noir avec de la neige en bas (c'est joli mais ca fait mal aux yeux)
et j'ai un bug sur cette ligne
Pdevice.Present ByVal 0, ByVal 0, 0, ByVal 0
s'il vous plait aidez moi
fireuo
Messages postés55Date d'inscriptiondimanche 22 février 2004StatutMembreDernière intervention17 août 2006 11 août 2004 à 07:34
Bonjour
10/10 pour tout tes source mais la j'ai des prob que j'avait pas avant.
Comme la texture ca fait une erreur. Automated Error je croit. J'ai tout asailler les posibilité comme tu la écrit dans les commentaire mais je ne trouve pas le problem. Quelqu'un pourait m'aider ?
The-Immortal
Messages postés4Date d'inscriptionmardi 18 novembre 2003StatutMembreDernière intervention21 novembre 2003 21 nov. 2003 à 11:24
Exacte, ca fonctionne, merci :)
mais mes modes graphiques affichés sont toujours en 23 bits,
enfin bon, quand je ton prog avec du 16 bits ca marche donc ...
J'attend tes autres progs avec Impatience.
@+
The-Immortal
cs_Mauricet
Messages postés89Date d'inscriptionlundi 3 mars 2003StatutMembreDernière intervention28 juillet 2008 19 nov. 2003 à 11:52
Bonjour
Essaye
Set Pdevice = Pdirect3d.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Form1.hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, Pstructparameter)
Maurice
The-Immortal
Messages postés4Date d'inscriptionmardi 18 novembre 2003StatutMembreDernière intervention21 novembre 2003 19 nov. 2003 à 11:25
Salut,
Très bien expliqué ton tutorial,
cependant, j'ai un chtit prob,
mon écran est tout noir (sauf la souris, elle est blanche;)
j'ai modifié le chemin pour la texture mais ca m'évite juste l'erreur
automation. Comme carte j'ai une intel-810i (ordi du boulot ;-/ )
je suis bien resté en 16 bits etc..., je trouve pas l'erreur...
Petite remarque : quand j'ai lancé ton tutorial 2, ma carte supporte le HAL mais la liste des modes graphiques ne me proposait que du ... 23 bit !!! (connais pas)
je vais jeter un coup d'oeil sur tutorial 3 a,b et c
Si tu as une idée du problème ce serait sympa de m'aider.
Merci.
Cordialement,
The-Immortal
Necrosis
Messages postés4Date d'inscriptionvendredi 4 juillet 2003StatutMembreDernière intervention20 avril 2004 14 nov. 2003 à 17:33
Eh bien bravo, tes tutoriaux sont finements élaborés...
Parlera tu du rendu de scene 3D, je m'explique, un mappeur crée une map sous 3d max ou un autre soft peut importe et toi, tu nous explique comment par exemple, par le biais d'un plug in, ont peut lire le fichier 2ds pour faire un rendu de cette scene? Bref, sue penses tu nous exposer d'autres dans tes prochain tutoriaux? penses tu pouvoir nous faire saliver en nous donnant une petite liste (non exhaustive ;) ) de ce que tu penses aborder par la suite?
merci a toi...
cs_LaPatoshe
Messages postés53Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention19 décembre 2009 12 nov. 2003 à 20:27
Bonjours à tous.
Pour information, le code de ce tutorial passe très bien sur mon portable sans carte acceleratrice. Cependant, j'ai remarqué que lorsque je teste le programme sur mon Duron 1Ghz équipé d'une CG G-FORCE 2 MX, ça plante si je laisse le format du backbuffer au R5G6B5 qui est normalement supporté par le Device. Je suis curieusement obligé de changer ce format en A8R8G8B8 (qui est supporté par ma CG bien sur) pour que le code passe.
Pour info, je suis en train d'élaborer un Tutorial 3a qui parle comme le présent de Géométrie 3D, mais en plus allégé et plus progressif.
Je pense le diffuser ce soir ou demain.
A bientôt à tous.
cs_Mauricet
Messages postés89Date d'inscriptionlundi 3 mars 2003StatutMembreDernière intervention28 juillet 2008 12 nov. 2003 à 19:43
Bonjour
J'ai fait quelques essais sur divers ordinateurs avec évidemment des configurations différentes.
Résultat, j'ai erreur automation chaque fois, donc il faudra gérer.
Tester, adapter et tirer la conséquence.
Le plus facile, c'est d'ignorer que certains ordinateurs n'ont pas de carte graphique capable de gérer la logiciel.
Même les logiciels du SDK ne sont pas optimisés.
HAL ou REF ou ????
Il faudra jeter un oeil sur VERTEXPROCESSING aussi ?
J'ai essayé quelques lignes de code comme d'habitude mais je n'ai pas encore de résultat.
On continue.
Maurice
cs_LaPatoshe
Messages postés53Date d'inscriptionmercredi 6 août 2003StatutMembreDernière intervention19 décembre 2009 11 nov. 2003 à 15:19
Salut à tous. Effectivement, ce nouveau code couvre plusieurs nouvelles fonctions. En effet, pour faire du dessin 3D, il faut en plus de la création du Device, effectuer la géométrie des points de chaque forme que l'on veut dessiner, paramétrer les trois matrices nécessaires pour faire de la 3D, et effectuer le rendu de chaque forme 3D selon certaines conditions de dessin, de texture, d'éclairage ...
Si quelque chose vous échappe dans chacune de ces nouvelles sections, faites moi en part sur cette page. Bon courage
PS : Pour ce qui est d'un canvas comme le suggère Mauricet, j'en ferai un pour le prochain tutorial relatif aux éclairages.
cs_Mauricet
Messages postés89Date d'inscriptionlundi 3 mars 2003StatutMembreDernière intervention28 juillet 2008 11 nov. 2003 à 09:11
Bonjour P.
Allons y doucement mais sûrement, tout est bien.
Merci pour le travail.
J'ai ajouté PPath = App.Path
J'ai eu d'emblée "Erreur automation" et un écran noir.
J'ai changé D3DDEVTYPE_REF pour D3DDEVTYPE_HAL
Maintenant l'affichage est correct, je vais pouvoir étudier ce nouvel épisode. Je pense qu'il faudrait faire un canvas dans une fonction qui pourrait être utilisée dans les versions suivantes pour l'initialisation ainsi que pour les déclarations.
Encore merci
Maurice
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 11 nov. 2003 à 00:35
Peut-on passer directement au tutorial 99 : Touche final du jeu 3d ?
10 avril 2005 à 14:24
Mai c bien expliqué
bibiok
4 avril 2005 à 22:06
30 mars 2005 à 16:58
L'écran est noir.
30 mars 2005 à 16:56
Ce tutoriel marche super bien chez moi sauf que ........
pas chez un copain et à mon lycée :(
En plus, sur les 2 pc testés, y'a directx8.
Comment se fait-il que cela ne marche pas alors?
15 janv. 2005 à 16:12
Toutes ces petites choses ont orienté mon choix qui a été : Faut il apprendre un moteur 3D très compliqué, ou un moteur moins compliqué sachant qu'il existe un risque de ne pas s'en servir longtemps.
15 janv. 2005 à 15:21
je ne fais aucune publicité ^^. et il y a aussi des tutoriaux truevision (avec un minimum d'anglais)
15 janv. 2005 à 14:36
Ensuite, dans le projet Visual Basic, vérifie que tu fais bien référence à DirectX8. Celle seule référence permet d'appeler les librairies de D3DX8 et de Direct3D8.
15 janv. 2005 à 08:45
14 janv. 2005 à 23:20
14 janv. 2005 à 19:01
et j'ai un bug sur cette ligne
Pdevice.Present ByVal 0, ByVal 0, 0, ByVal 0
s'il vous plait aidez moi
11 août 2004 à 07:34
10/10 pour tout tes source mais la j'ai des prob que j'avait pas avant.
Comme la texture ca fait une erreur. Automated Error je croit. J'ai tout asailler les posibilité comme tu la écrit dans les commentaire mais je ne trouve pas le problem. Quelqu'un pourait m'aider ?
21 nov. 2003 à 11:24
mais mes modes graphiques affichés sont toujours en 23 bits,
enfin bon, quand je ton prog avec du 16 bits ca marche donc ...
J'attend tes autres progs avec Impatience.
@+
The-Immortal
19 nov. 2003 à 11:52
Essaye
Set Pdevice = Pdirect3d.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Form1.hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, Pstructparameter)
Maurice
19 nov. 2003 à 11:25
Très bien expliqué ton tutorial,
cependant, j'ai un chtit prob,
mon écran est tout noir (sauf la souris, elle est blanche;)
j'ai modifié le chemin pour la texture mais ca m'évite juste l'erreur
automation. Comme carte j'ai une intel-810i (ordi du boulot ;-/ )
je suis bien resté en 16 bits etc..., je trouve pas l'erreur...
Petite remarque : quand j'ai lancé ton tutorial 2, ma carte supporte le HAL mais la liste des modes graphiques ne me proposait que du ... 23 bit !!! (connais pas)
je vais jeter un coup d'oeil sur tutorial 3 a,b et c
Si tu as une idée du problème ce serait sympa de m'aider.
Merci.
Cordialement,
The-Immortal
14 nov. 2003 à 17:33
Parlera tu du rendu de scene 3D, je m'explique, un mappeur crée une map sous 3d max ou un autre soft peut importe et toi, tu nous explique comment par exemple, par le biais d'un plug in, ont peut lire le fichier 2ds pour faire un rendu de cette scene? Bref, sue penses tu nous exposer d'autres dans tes prochain tutoriaux? penses tu pouvoir nous faire saliver en nous donnant une petite liste (non exhaustive ;) ) de ce que tu penses aborder par la suite?
merci a toi...
12 nov. 2003 à 20:27
Pour information, le code de ce tutorial passe très bien sur mon portable sans carte acceleratrice. Cependant, j'ai remarqué que lorsque je teste le programme sur mon Duron 1Ghz équipé d'une CG G-FORCE 2 MX, ça plante si je laisse le format du backbuffer au R5G6B5 qui est normalement supporté par le Device. Je suis curieusement obligé de changer ce format en A8R8G8B8 (qui est supporté par ma CG bien sur) pour que le code passe.
Pour info, je suis en train d'élaborer un Tutorial 3a qui parle comme le présent de Géométrie 3D, mais en plus allégé et plus progressif.
Je pense le diffuser ce soir ou demain.
A bientôt à tous.
12 nov. 2003 à 19:43
J'ai fait quelques essais sur divers ordinateurs avec évidemment des configurations différentes.
Résultat, j'ai erreur automation chaque fois, donc il faudra gérer.
Tester, adapter et tirer la conséquence.
Le plus facile, c'est d'ignorer que certains ordinateurs n'ont pas de carte graphique capable de gérer la logiciel.
Même les logiciels du SDK ne sont pas optimisés.
HAL ou REF ou ????
Il faudra jeter un oeil sur VERTEXPROCESSING aussi ?
J'ai essayé quelques lignes de code comme d'habitude mais je n'ai pas encore de résultat.
On continue.
Maurice
11 nov. 2003 à 15:19
Si quelque chose vous échappe dans chacune de ces nouvelles sections, faites moi en part sur cette page. Bon courage
PS : Pour ce qui est d'un canvas comme le suggère Mauricet, j'en ferai un pour le prochain tutorial relatif aux éclairages.
11 nov. 2003 à 09:11
Allons y doucement mais sûrement, tout est bien.
Merci pour le travail.
J'ai ajouté PPath = App.Path
J'ai eu d'emblée "Erreur automation" et un écran noir.
J'ai changé D3DDEVTYPE_REF pour D3DDEVTYPE_HAL
Maintenant l'affichage est correct, je vais pouvoir étudier ce nouvel épisode. Je pense qu'il faudrait faire un canvas dans une fonction qui pourrait être utilisée dans les versions suivantes pour l'initialisation ainsi que pour les déclarations.
Encore merci
Maurice
11 nov. 2003 à 00:35
;-)
By@