Accueil > Forum > > > > Surface, texture et flux video
Surface, texture et flux video
lundi 4 octobre 2004 à 17:56:31 |
Surface, texture et flux video

fenrhyr
|
Bonjour, Voila mon probleme. Je cree une texture avec CreateTexture(). Ensuite je fait texture->getsurfacelevel pour avoir une surface valide et j'utilise D3DXLoadSurfaceFromMemory() pour charger une image dans une surface a partir d'une image en memoire en gerant la couleur de transparence. Ensuite je superpose cette surface sur des textures et quand je fait device->present() ma surface met du noir la ou j'avais ma couleur de transparence verte et je ne vois pas les textures qui sont en "dessous". Je me doute que a la creation de ma surface, elle est par defaut noire et que la couleur de transparence est bien prise en compte mais que cela reste confinée a la surface engendree par le getsurfacelevel. Disons que je m'exprime mal et que ce que je voudrais realiser c'est une une fonction de type D3DXLoadSurfaceFromMemory mais en n'utilisant pas une surface mais une texture (ce serait tellement plus simple si D3DXCreateTextureFromMemory existait). Est ce que quelqu'un voit comment je pourrais creer une texture a partir d'un "LPCVOID pSrcMemory" (donc sans donner le nom d'un fichier) ou bien comment mettre une surface dans une texture (c'est moins propre mais bon...). Ah oui, la finalite de tout ca c'est de mettre une image par dessus un flux video avec gestion de a transparence et tout le toutim donc il est fort problable que vous ayez mieux a proposer. Merci Fenrhyr
|
|
lundi 4 octobre 2004 à 20:25:02 |
Re : Surface, texture et flux video

Funto66
|
Euuh...dsl je connais rien à DirectX, moi c'est plutôt OpenGL, mais si tu veux j'ai déposé une source contentant un lecteur vidéo, si ça peut te servir...tu peux toujours adapter ;) (auquel cas ça m'intéresserait de voir à quoi ressemblerait la version DirectX :)).
--------------------------------------------------------- Patience et longueur de temps font plus que force ni que rage.... Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
|
|
mardi 5 octobre 2004 à 09:25:34 |
Re : Surface, texture et flux video

fenrhyr
|
hmm... oui mais non ^^. Je connais rien à OpenGL (si peu de temps pour tant de choses à faire). Le flux video de ma caméra j'arrive à l'avoir.
Ce que je cherche c'est comment afficher une image par dessus avec des textures et des surfaces, de la transparence et le l'alpha, c'était peu être pas très clair dans le premier post (il était tard, j'étais fatigué, mon lemming a deux doigts du suicide, etc etc etc)...
Des idées ?
Fen'
|
|
mardi 5 octobre 2004 à 19:35:58 |
Re : Surface, texture et flux video

Funto66
|
Ben, en tous cas dans mon lecteur vidéo je la lis à partir d'une texture; ce que je peux te conseiller, c'est d'utiliser une texture pour lire ta vidéo, et tu plaques cette texture sur un rectangle sur le plan Z=0 (histoire de voir ta vidéo en 2D ;)). Ensuite, ben si tu veux mettre une autre texture par dessus, tu peux le faire via du multitexturing par exemple, ou en appliquant ton autre texture sur un rectangle situé un chouilla au-dessus de celui qui utilise la texture de la vidéo (ou sinon tu vires le test de profondeur et tu dessines les 2 en Z=0, c'est plus propre ^^).
Je sais pas si je suis vraiment clair...
C'est pour quel genre de projet? ;)
--------------------------------------------------------- Patience et longueur de temps font plus que force ni que rage.... Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
|
|
mercredi 6 octobre 2004 à 09:19:38 |
Re : Surface, texture et flux video

fenrhyr
|
Le projet c'est de recuperer le flux video de 2 camera et de mettre des donnees par dessus. La video texturee multi-texturee (d'une camera pour l'instant), je l'ai deja en z=0 comme tu l'avais suggere. Le probleme c'est les donnees. Elles sont "stockees" en temps reel dans une image en memoire et non en dur dans un .bmp par exemple (logique puisqu'elle change en temps reel). Donc il faut que j'arrive mettre cette image dans une texture a partir d'une donnee en memoire et môssieur microsoft n'a a priori pas juge utile de faire cette fonction.  Donc la ca fait deux jours que je cogite en utilisant mon stock de ruses de sioux pour y arriver... sans succes bien sur. Pour info, mon predecesseur avait fait un truc en openGl qui fonctionnait mais avec un frame rate impossible. On m'a dit de reprendre a 0 avec DX (ce qui sous entend, pas la peine de me demander a quoi ressemble ce code ^^). Fen'
|
|
mercredi 6 octobre 2004 à 18:40:01 |
Re : Surface, texture et flux video

Funto66
|
Hmm...je suis presque sûr que c'est possible de charger depuis des données en mémoire, c'est plus que logique je trouve...
Enfin si jamais t'y arrives pas tu peux toujours le faire en OpenGL hein lol :p Dans ce cas-là je pourrais t'aider :p
Ah non attends, je viens de faire une recherche sur Google en...allez va 20 secondes, et j'ai trouvé cette fonction : D3DXCreateTextureFromFileInMemory
Ça devrait être ça non?
--------------------------------------------------------- Patience et longueur de temps font plus que force ni que rage.... Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
|
|
jeudi 7 octobre 2004 à 09:16:01 |
Re : Surface, texture et flux video

fenrhyr
|
Déjà essayé... une belle texture blanche au final...  Fen'
|
|
jeudi 7 octobre 2004 à 19:26:31 |
Re : Surface, texture et flux video

Funto66
|
Hmm...je suppose que tu dois avoir la même limitation qu'avec OpenGL : ta texture doitsûrement être obligée d'avoir des côtés puissances de 2 (32x32, 64x32, 128x128...), ce qui n'est certainement pas le cas de ta vidéo ^^
Il doit y avoir une astuce je pense, comme avec OpenGL (un équivalent de gluScaleImage quoi), qui utilise des octets de "bourrage"...
Essaye déjà pour tester en créant toi-même une texture carrée de dimensions 2x2 et contenant un cadrillage noir et blanc, juste pour voir si ta texture reste blanche. Si ça marche on pourra alors aviser ;)
--------------------------------------------------------- Patience et longueur de temps font plus que force ni que rage.... Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
|
|
vendredi 8 octobre 2004 à 09:16:12 |
Re : Surface, texture et flux video

fenrhyr
|
Mon pere dit toujours: "quand on est pas fort, il faut etre malin".
Alors je l'ecoute ^^. J'ai change d'orientation d'affichage. Plutot que de charger une texture depuis un unique truc en memoire, je vais charger des bmp du disque et faire style que c'est pas vrai par d'habiles effets de trompe-l'oeil en bougeant tout ca dymaniquement.
On va voir si ca marche comme ca.
En ce qui concerne la taille des textures, je ne m'en suis jamais occupe alors ca me parait hautement improbable que toutes celles que j'ai manipule etaient des puissances de 2
Fen'
|
|
samedi 9 octobre 2004 à 13:21:34 |
Re : Surface, texture et flux video

Funto66
|
Là t'as dit 2 trucs qu'il fallait pas lol :
- "Plutot que de charger une texture depuis un unique truc en memoire, je vais charger des bmp du disque et faire style que c'est pas vrai par d'habiles effets de trompe-l'oeil en bougeant tout ca dymaniquement." -> mauvaise idée : tu vas devoir ouvrir/lire/fermer un fichier sur le disque dur au moins (strict minimum...) 10 fois par secondes. Rajoute en plus que les fichiers sont gros : ce sera trop lent (j'ai déjà essayé ;)).
-"En ce qui concerne la taille des textures, je ne m'en suis jamais occupe alors ca me parait hautement improbable que toutes celles que j'ai manipule etaient des puissances de 2" -> là tu confonds l'image (le fichier BMP par exemple) et la texture. La texture est stockée dans ta carte graphique, et est crée à partir de l'image. A moins que tu aies une carte graphique bien récente qui supporte OpenGL 1.5, ce qui est tout de même assez rarement le cas, à ton "insu", la fonction de DirectX qui crée la texture à partir de ton image l'a crée avec des côtés puissances de 2. Même si ton image n'a pas des dimensions de la forme 2^n, c'est pas grave : DirectX utilise des octets de "bourrage"; en gros, il laisse certaines parties de la texture vides, dans la mémoire de ta carte (enfin vides...disons remplies avec du blanc, noirou chais pas quoi).
Ta fonction qui crée ta texture à partir d'un fichier fait ça, mais pas D3DXCreateTextureFromFileInMemory à mon avis (beurk qu'est-ce qu'ils sont longs ces noms de fonctions en DirectX :S).
Enfin, rien ne t'empêche de faire le petit test de la texture en damier dont je te parlais non?
Dans tous les cas c'est toi qiu vois...
--------------------------------------------------------- Patience et longueur de temps font plus que force ni que rage.... Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
|
|
Cette discussion est classée dans : flux, video, transparence, texture, surface
Répondre à ce message
Sujets en rapport avec ce message
Skybox [ par Galmiza ]
J'aimerais faire une skybox.Or, comme mon application sera en grand ecran, il faut des textures pour la skybox de tres haute resolution.Or, ma petite
extraction d'image d'un flux video [ par Little3D ]
je previsualise un flux video capturé depuis une camera via une carte d'acquisition video. Je cherche a traiter l'image a la volé. Je sais capturer un
extraction d'images d'un flux video [ par neoX13 ]
Je cherche à extraire des images d'un flux vidéo provenant d'une carte d'acquisition, ce que je n'ai jamais réalisé. Je programme en C++ et je ne conn
Transparence texture [ par lechabin ]
Bonjour,J'affiche un texture sur un carré, et j'aimerai que seul la texture elle meme apparaissegenre j'applique une texture en croix, et je voudrai q
ouvrir flux video [ par ludoshi22 ]
Bonjour, Je recherche des indications, un bout de code, ... sur comment ouvrir un flux video provenant d'une camera ip ou d'une url. Merci d'avance.
Capture d'un flux video sur un réseau local [ par tylerssc ]
Salut à tous, Nous commencons actuellement un projet qui dans l'ensemble nous permettra de gérer un système de video surveillance avec possibilité de
texture en transparence [ par F0ra ]
Bonjour ou Rebonjour, Je réalise un jeu : <a href="http://swo.
Transparence avec glBlend [ par smoove5198 ]
Bonjour, A l'aide d'un tutorial j'ai crée une classe qui affiche du texte sous opengl a partir d'une texture bmp listant tous les caracteres. Dans c
[OpenCV] Récuperer le flux video d'une camera [ par jimnastiq ]
Salut,voila je cherche a recupérer le flux video d'une camera sans fil! pour vous donner le contexte j'ai un recepteur qui capte le signal de la camer
Eclairage, spot et surtout rendu des couleurs ??? [ par scannerz ]
Tout d'abord bonjour a tous... tous ceux qui vont lire ce message bien sur.Après une petite journée d'apprentissage des lumières, je bloque sur deux p
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|