Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Comment faire en dégradé en arrière plan d'un monde direct3D [ Multimédia / DirectX ] (Zakata)

dimanche 24 juin 2007 à 16:58:24 | Comment faire en dégradé en arrière plan d'un monde direct3D

Zakata

Bonjour,

Je suis actuellement en train de réaliser un projet avec DirectX et j'aimerais inséré un dégradé de couleur sur la pictureBox, support du monde Direct3D. Je voulais essayer de fusionner deux images, une créée par directx avec tous mes vertex et mes mesh et l'autre une image dégradée mais je le sens mal.

Quelqu'un aurait il une iddée ?

Merci
Damien

dimanche 24 juin 2007 à 18:09:54 | Re : Comment faire en dégradé en arrière plan d'un monde direct3D

Julien237

Salut,
Bah oui
Y'a pleins de solutions, une simple est par exemple d'utiliser 4 vertex décrivant un rectangle, et tu y applique les textures que tu veux.
Pour construire ta texture, il suffit d'utiliser Texture.Lock, puis Unlock quand tu as fini...


Julien.

dimanche 24 juin 2007 à 18:20:18 | Re : Comment faire en dégradé en arrière plan d'un monde direct3D

Zakata


Merci pour ta réponse mmais j'y avais penser et le pb c'est qu'il faut gérer la position des 4 vertex a chaque rotation, translation et scalling du monde, ca prend du temps en plus. Sinon il y a l'iddée de la boite englobante mais la pareille il faudra gérer la position lors d'une rotation autour de l'axe horizontal (pas la peine lors d'une rotation autour d'un axe verticale car dans ce sens, le dégédé est invariant)

Je pense que c'est ce que je ferais faute de trouver mieux.

Damien

dimanche 24 juin 2007 à 18:23:06 | Re : Comment faire en dégradé en arrière plan d'un monde direct3D

Julien237

Bah écoute si tu veux faire de la 3d et que tu t'arrête à ce genre de confrontation mathématique tu n'ira pas très loin...
Soit tu déclare tes vertex comme Transformed et tu les mets dans les coordonnées de la picture box, ils ne seront pas transformés avec le monde direct3d.
Soit tu les déclare en Position et tu leur applique la matrice inversée de World * View * Proj...


Julien.

dimanche 24 juin 2007 à 18:38:52 | Re : Comment faire en dégradé en arrière plan d'un monde direct3D

Zakata

Le problème n'est pas mathématique, c'est simplement que je n'ai pas envie que mon programme calcul sans arret les coordonnées de 4 points, surtout qu'ils ont un but uniquement estétique. Sinon ton idée de les  déclarer en transformed c'est quoi exactement ?

dimanche 24 juin 2007 à 18:42:02 | Re : Comment faire en dégradé en arrière plan d'un monde direct3D

Julien237

Et bien comment déclare tu tes vertex ?
Sans doute quelque chose du style
Dim vert(3) as CustomVertex.PositionColoredTextured
non ?

A la place de Position, tu utilise Transformed
Dim vert(3) as CustomVertex.TransformedColoredTextured

Et ils ne seront pas projetés sur la surface de rendu, donc les coordonnées que tu leurs affecterons seront les coordonnées 2d auxquelles ils apparaitront dans la picturebox.


Julien.

dimanche 24 juin 2007 à 18:53:14 | Re : Comment faire en dégradé en arrière plan d'un monde direct3D

Zakata

Ba en fait je suis sur VB6

dimanche 24 juin 2007 à 19:56:38 | Re : Comment faire en dégradé en arrière plan d'un monde direct3D

Julien237

Réponse acceptée !
Ha pardon,
En VB6 tu dois créer une structure et la déclarer avec le format FVF et le bazar ?
Alors là où tu utilise D3DFVF_XYZ, tu utilise à la place D3DFVF_XYZRHW. Tu dois également leur ajouter un champs Rhw As Single qui indique le poid qu'aura chaque vertex dans le dégradé les liant entre eux.
Exemple en C ici


Julien.

dimanche 24 juin 2007 à 21:22:45 | Re : Comment faire en dégradé en arrière plan d'un monde direct3D

Zakata

Ok C'est nikel merci



Cette discussion est classé dans : plan, directx, monde, direct3d, dégradé


Répondre à ce message

Sujets en rapport avec ce message

cube 3d en rotation [ par bobo91 ] bonjour tous le mondecomme je connais pas le monde de directx sous vb6je m'adresse a vous pour m'aidera declarer directx et a construire les instrucio Afficher au premier plan en DirectX [ par 007 ] Bonjour à tous,alors voilà je vous explique mon problème: j'ai réalisé une application en VB et DirectX avec des objets en 3D, avec des textures qui b J' y suis, j' y reste... [ par chaibat05 ] Salut tout le monde... Aujourd' hui, ça fait un an tout rond que je suis arrivé surle forum.Rassurez-vous je ne vais pas faire un discours,quoi que, Fenêtre au premier plan [ par Le newbie ] Bonjour,Je développe un projet avec un SDK.Je n'affiche jamais la form du projet mais uniquement celle du SDK.Le problème est que cette fenêtre ne se Subclass de paint [ par Julien237 ] Bonjour à tous,Je cherche à créer des contrôles utilisables dans un affichage en directX.Je commence par le bouton.Tout naturellement, j'ai créer une Détecter fenetre premier plan ? [ par Orthonic ] Bonjour,Je désire réaliser un programme qui travail en tache de fond, cette application devra détecter quelle est la fenetre qui se trouve en avant pl Faire passer Excel au 1er plan [ par cissou06 ] Bonjour!Je développe un outil en VBA sous Visio qui rempli une feuille sous Excel. J'aimerais à la fin pouvoir montrer la feuille Excel, c'est-à-dire Contrôle en premier plan [ par stephanie279 ] Bonjour,Comment fait-on pour mettre un control au premier plan ou arrière plan dans le code ?Merci sauvgarder [ par asmaa17 ] Salut à tout,j'ai crée un programme , parmi ces actions le possibilité de modifier l' arriere plan de programme,mais lorsque j'arréte l'execution la m Datagrid combobox [ par amer_ezahir ] Salut tout le monde ; svp est ce que quelqu'un à une idée sur : comment intégrer une combobox dans une datagrid pour y saisir de données merci à tout


Nos sponsors

Sondage...

CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.