Bonjour, j'utilise des textures allouées dynamiques sous DirectX . Connaissez vous une méthode ou une fonction pour charger mes données dans l'objet texture?
Mes données sont puisées dans une structure de données qui imite un bitmap en mémoire RAM.
Bonjour, j'utilise des textures allouées dynamiques sous DirectX . Connaissez vous une méthode ou une fonction pour charger mes données dans l'objet texture?
Mes données sont puisées dans une structure de données qui imite un bitmap en mémoire RAM.
Voir les fonctions LockRect / UnlockRect des textures.
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
salut, merci pour ton aide j'ai trouvé ces fonctions elles utilisent une structure Locked Rect qui est en sortie de ça et va contenir les bits sous forme de textures. J'ai essayé de placer le chargement des données directement entre les balises, mais ça n'a pas l'air de fonctionner
my_Texture -> LockRect(0,Locked_Rect,0,DISCARD);
Locked_Rect.pBits = my_InputData;
my_Texture -> UnlockRect(0);
Est ce comme cela qu'on doit y procéder où il y a t il une méthode, mais je m'étonne qu'on ne puisse pas trouver cette méthode quelque part sur le net.
Par ailleurs j'ai fait un CreateTexture sans faire appel à un nom de fichier, est ce qu'il existe une autre fonction pour charger les données directement ou est ce que ça en revient au même que de charger la texture dynamiquement?
Là tu vas réaffecter le pointeur pBits, ce qui ne va donc pas copier tes données. Il faut effectuer une copie (avec std::copy, memcpy, une boucle ou que sais-je). Attention au pitch (Locked_Rect.Pitch) cependant, qui définit la largeur réelle de ton image octets (souvent différente de la largeur en pixels). C'est pour cela qu'on utilise plutôt la boucle que les fonctions de copie brutes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Locked_Rect.pBits = my_InputData
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
Merci beaucoup. Tes explications m'éclairent bien. Tu as un site où tu mets tout ça?
Le SDK Dx (samples, documentation, tutoriels, ...) est suffisamment bien fait, ainsi que les nombreux tutoriels que tu peux trouver sur le net avec ton ami Google![]()
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
C'est pas évident pour un débutant comme moi de m'y retrouver dans tout ça.
En fait j'ai une série d'images BMP que je fais transiter par des listes gérées en boucle DMA.
Mes données transitent sous forme de BYTE * je dois récupérer ces tableaux d'octets et les mettre en tant que structure BITMAP, y appliquer une transformation par DirectX. J'ai déjà fait les mécanismes de DMA et de transformation. Je dois jouer avec la structure BITMAP et les textures dynamiques.
Avec D3DXCreateTextureFromFile tu lui donnes un fichier et il fait tout de façon cachée.
J'avais réaliser à faire circuler ces données et les afficher en tant que Bitmap sur un objet MFC.
Je voudrais l'adapter pour mettre mon image transformée par DirectX à la place de la simple Bitmap.
J'ai du mal à passer de la CBitmap que je récupère, à la structure BITMAP, dont je souhaite me servir pour les LockRect, j'ai l'impression que malgré tout ce que je fais, la structure soit toujours vide.
Partager