Images et effets hlsl / shaders directx 9

Soyez le premier à donner votre avis sur cette source.

Vue 13 617 fois - Téléchargée 1 320 fois

Description

Cette source permet d'utiliser des effets HLSL pour afficher des images ou animations. Il suffit d'avoir un controle type form ou picturebox et de l'utiliser pour y placer votre effet; vous pouvez ensuite lui passer des arguments (entiers, flottants, vecteurs), et textures.

Les types de textures supportés sont aussi nombreux que ceux de directx: .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm, et .tga

La source se décompose en deux projets: une dll écrite en C++, utilisant directx 9, pour transmettre via les fonctions l'utilisation de directx; et un projet exemple de cette dll: j'ai pris pour exemple un effet caustic animé sur une image de cailloux.

Comme mon autre source, j'ai créé ce projet en pensant a vbfrance, et donc j'ai bien structuré et commenté mes sources, même les effets (j'ai même rajouté un autre exemple d'effet très simple)

Source / Exemple :


'dans le zip

Conclusion :


Si vous avez un probleme de dll, ca peut etre celles de directx ou visual studio 2005 qui sont manquantes. Voici des liens vers le site de microsoft pour les télécharger:

directx 9 (aout 2007) : http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID=cb7397f3-0949-487b-9247-8fee451bf952
visual studio 2005 (SP1) : http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=fr

Voilà, comme d'hab, hésitez pas a postez commentaires, questions, plaintes, etc...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
190
Date d'inscription
dimanche 17 avril 2005
Statut
Membre
Dernière intervention
18 mars 2009

bonjour, j'ai bien aime ce que tu as fait et je me demande si tu peux me donne un lien vers un tutorial de HLSL en francais pour les debutants, merci.
Messages postés
6
Date d'inscription
lundi 15 septembre 2003
Statut
Membre
Dernière intervention
9 avril 2008

@BUMPMANN
Bonjour,
Très impresionné par ton exemple .Je suis a la recherche d'une lib qui permetrait de faire la même chose a un buffer en memoire a la place d'un "Picture Box". Objectif : Utiliser les shaders dans un moteur DX7 ou autre. Genre Call_shader_DLL(Adr_du_buffer,largeur,hauteur,nbpixel,"shader_machin.fx")
Je suis prêt a investir dans telle lib.

Zali Jean-Pierre. zjp@laposte.net
Messages postés
330
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
26 janvier 2009

Ah, et pour le projet en 8.0, désolé mais vous pouvez la compiler facilement avec n'importe quoi, il suffit de mettre les sources dans un projet dll et de rajouter d3d9.lib d3dx9.lib pour peu que vous n'ayez jamais codé avec directx ou ouvert le fichier projet avec notepad.
Messages postés
330
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
26 janvier 2009

Alors d'abord, merci pour le lien pour le redist SP1 de visual studio, je ne le connaissais pas. Je met le lien a jour.

Ensuite plusieurs choses :

1/ Ma dll a bien été compilée en release et non pas en debug, je ne ferais pas cette erreur.
2/ Il n'y a PAS besoin du pack developpeur de directx (sdk) si vous voulez juste utiliser la dll (la recompiler, en revanche, si), mais bien juste les redistribuables. Ce sont des versions récentes du directx 9.0c: En général, dans le cas d'un produit ou d'un jeux qui en utilise une, il fournit le redist qui est installé silencieusement lors de l'installation. Il n'y a pas besoin de télécharger ou installer tout directx, mais seulement quelques packages suffisent lorsqu'on possede deja le directx 9.0c de base. Là, evidemment je l'ai pas mis dans le zip.
3/ Pour fournir une dll vraiment exploitable, il faudrait compiler avec vc6... a partir de vs2003, il faut les dlls bizarre. Désolé, mais la j'ai pas le courage de le télécharger juste pour ca. Si malgré tout c'est trop embetant d'installer les packages récents de directx, il faudrait aussi le recompiler avec le premier directx 9... Et du coup apporter quelques modifications au code aussi.
Messages postés
59
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
4 juillet 2013

Il apparait que cette DLL a été compilée avec le patch SP1 de VISUAL STUDIO 2005 (celui pour Vista).
Les dépendances certaines de sont les suivantes
msvcp80.dll
msvcr80.dll
d3d9_31.dll

Le projet de la DLL est au format 8.0 ce qui m'empêche personnellement de le recompiler (version limitée aux projets 7.0 et 7.1)
Le lien correct pour obtenir la version 8 du runtime SP 1 de VISUAL STUDIO
http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=fr

J'ai DirectX 9.0c complétement installé et fonctionnel, mais il semble qu'il soit nécessaire d'installer le PACK DEVELOPPEUR de DIRECTX juste pour que cette DLL puisse se charger.
Le lien (en espagnol, désolé) suivant explique que les DLL énumérées ne servent qu'au débug.
http://www.emudesc.net/foros/nintendo-64/12705-coloquen-todos-pluguins-pack-de-texturas-quienes-tengan-6.html

Le projet me parait néanmoins interessant, c'est pourquoi je prie l'auteur d'adapter son projet à la réalité d'un projet publié sur vbfrance à savoir:
1) désactiver le débug avant la compilation, ce qui éliminera les dépendances d3d9_*.dll et évitera à de simple testeurs de se lancer dans une usine à gaz.
2) et ainsi fournir une DLL exploitable, car ceci est destiné à des habitués de VB.
3) convertir si possible son projet en projet version 7.0 ou 7.1 afin qu'il soit exploitable par ceux qui ne souhaitent pas se noyer dans un patch pour Vista.
Merci d'avance.
Afficher les 10 commentaires

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.