Galmiza
Messages postés573Date d'inscriptionsamedi 16 novembre 2002StatutMembreDernière intervention 9 avril 2008
-
18 mai 2004 à 23:59
Galmiza
Messages postés573Date d'inscriptionsamedi 16 novembre 2002StatutMembreDernière intervention 9 avril 2008
-
19 mai 2004 à 23:28
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 GeForce2 a du mal a digerer les textures 512*512, donc au dela, c'est foutu.
Pour creer une texture, je ne connais que la fonction D3DXCreateTextureFromFile.
Ce que j'aimerai faire, c'est charger une bitmap sur une surface directdraw, travailler cette surface, puis convertir cette surface en texture.
Galmiza
Messages postés573Date d'inscriptionsamedi 16 novembre 2002StatutMembreDernière intervention 9 avril 20081 19 mai 2004 à 00:16
Oui, c'est une solution, mais j'aimerais creer les surfaces, qui donneront les textures, directement dans le programme.
En fait je veux pouvoir modifier le ciel pendant le deroulement du programme. Donc, il ne faut pas passer directement d'une bitmap a la texture, mais passer par une surface DirectDraw pour pouvoir "creer" le ciel, puis le transformer en texture.
Peut-on faire cela?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Galmiza
Messages postés573Date d'inscriptionsamedi 16 novembre 2002StatutMembreDernière intervention 9 avril 20081 19 mai 2004 à 00:41
La ciel ne sera pas actualisé a chaque boucle (heureusement !), donc point de vue perf, ca ira.
Ce que je veux faire exactement, c'est charger des bitmaps sur une surface (ca je sais faire), puis une fois la surface créée, la mettre dans la transformer en texture.
Ce qu'il faudrait c'est une fonction du style: D3DXCreateTextureFromSurface
Galmiza
Messages postés573Date d'inscriptionsamedi 16 novembre 2002StatutMembreDernière intervention 9 avril 20081 19 mai 2004 à 10:21
A l'aide !
Meme dans Google, il n'y a AUCUN site avec les 2 mots:
LPDIRECT3DTEXTURE8 et LPDIRECTDRAWSURFACE4
(j'ai DirectX 8.1)
Ca veut peut-etre dire qu'on peut pas initiliser Direct3D et directDraw en meme temps car ils demanderont tous les deux l'exclusivité.
Ce que je veux c'est juste charger des bitmaps sur une surface LPDIRECTDRAWSURFACE4 pour pouvoir customiser le ciel quand je le veux depuis le programme. Puis ensuite charger la surface sur une texture LPDIRECT3DTEXTURE8.
Mais si ce n'est pas possible.... il faudrait pouvoir charger des morceaux de bitmaps sur des morceaux de textures, est-ce possible ? (genre BitBlt pour les textures)
Galmiza
Messages postés573Date d'inscriptionsamedi 16 novembre 2002StatutMembreDernière intervention 9 avril 20081 19 mai 2004 à 19:50
Merci enormement de m'aider meme si tu ne sais pas tout :-).
J'ai trouvé sur le net des exemples, apparemment c'est possible.
En fait, il existe des surfaces LPDIRECT3DSURFACE8 (de dx8) et on peut traiter de telles surfaces avec des fonctions comme CreateImageSurface, D3DXLoadSurfaceFromFile....
Je fais actuellement des tests pour voir comment fonctionnent ces fonctions.