begin process at 2012 05 30 11:29:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

DirectX

 > 

Sprite qui ne s'affice pas help!!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Sprite qui ne s'affice pas help!!

lundi 8 mars 2004 à 21:10:24 | Sprite qui ne s'affice pas help!!

olivierpot2

Bonjour à tous,

Je débutes avec c++/directx, et j'essaye d'afficher une image toutes bêtes. Apparement l'initialisation de directX et ok, mais rien ne s'affiche.

Je charge une texture avec la fonction :

D3DXCreateTextureFromFile(peripherique3D,"c:/test.bmp",&texture);


Puis la dessine dans une boucle:

// on remplit de noir
peripherique3D->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,0), 1.0f, 0);

peripherique3D->BeginScene();

Sprite->Draw(texture,NULL,NULL,NULL,0,NULL,32);

peripherique3D->EndScene();

// on "blitte"
peripherique3D->Present( NULL, NULL, NULL, NULL );


Si quelqu'un voit ce qu'il ne vas pas cela serait sympa de m'aider.

Si vous voulez voir tout le code source il est à cette adresse:
http://java2d.free.fr/source/cpp/essai_directx.zip

Merci d'avance.
mardi 30 mars 2004 à 22:41:16 | Re : Sprite qui ne s'affice pas help!!

tsanti

Tu doit créée un objet avec une forme et y appliquée ta texture.
La forme la plus simple est un plan carré.
LPDIRECT3DVERTEXBUFFER9 m_taforme;
LPDIRECT3DTEXTURE9 m_tatexture;
déclare aussi un Vertex comme ca :
Initialise comme ca :
struct VERTEX
{
D3DXVECTOR3 p;
FLOAT tu, tv;

static const DWORD FVF;
};
const DWORD VERTEX::FVF = D3DFVF_XYZ | D3DFVF_TEX1;

Dans ta procedure d'initialisation:
=>ta texture c'est fait

if( FAILED( peripherique3D->CreateVertexBuffer( 4*sizeof(VERTEX),
D3DUSAGE_WRITEONLY, VERTEX::FVF,
D3DPOOL_MANAGED, &m_taforme, NULL ) ) )
return E_FAIL;
VERTEX* v;
m_taforme->Lock( 0, 0, (void**)&v, 0 );
v[0].p = D3DXVECTOR3(-1000.0f, 0.0f, 0.0f );
v[1].p = D3DXVECTOR3(-1000.0f, 1000.0f, 0.0f );
v[2].p = D3DXVECTOR3( 1000.0f, 0.0f, 0.0f );
v[3].p = D3DXVECTOR3( 1000.0f, 1000.0f, 0.0f );
v[0].tu = 0.0f; v[0].tv = 147/256.0f;
v[1].tu = 0.0f; v[1].tv = 0.0f;
v[2].tu = 1.0f; v[2].tv = 147/256.0f;
v[3].tu = 1.0f; v[3].tv = 0.0f;
m_taforme->Unlock();

dans ton rendu tu fait :
peripherique3D->SetTexture( 0, m_ta texture );
peripherique3D->SetFVF( VERTEX::FVF );
peripherique3D->SetStreamSource( 0, m_taforme, 0, sizeof(VERTEX) );
peripherique3D->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2 );

La difficulté est la car il ne suffit pas de charger une image.
=>Les informations de formes sont chargé à ta carte graphiques et peuvent être perdu si la fenètre a bouger.
Il faut donc invalidé et restoré les données de ta forme.

=> avant de quitter ton application, tu doit détruire les informations de ta forme par un SAFE_DELETE.

=> Afficher à l'écran , c'est lui donnée des infomations genre positions dans l'espace, position de l'oeil(ou dit caméra) et position du plan de vue. c'est a dire travailler avec des vecteurs 3D, faire les produit scalaire, etc etc
l'auberge n'est pas loin de chez toi mais tu n'est pas sorti encore. ( euh c'est p tete pas ca la sitation.)

DIRECT_SANTI_3DX9


Cette discussion est classée dans : directx, sprite, texture, peripherique3d, affice


Répondre à ce message

Sujets en rapport avec ce message

Texture-Sprite openGL [ par Buzu ] Salut. Voila je commence a peine l'openGL et je voudrai savoir comment il faut que je fasse pour appliquer une texture (un fichier.gif ou jpg normalem Lightmap avec directx [ par supergrey ] Bonjour, je cherche a faire des lightmap avec directx...Apparemment il faut créer une texture contenant les ombres avec un logiciel de modélisation co DirectX probléme de coordonnées de texture [ par chauty ] Bonjour,J'ai créé un script pour 3d Studio qui me crée un fichier txt avec les coordonnées des vertices, les normales et les coordonnée de textures (j Copier une texture vers une autre en mémoire systeme ? [ par supergrey ] Bonjour, j'ai repris une source qui crée une dll directx 9, en gros c'est pour un hook. Donc un programme qui utilise directx charge des textures et m quads transparents avec directx 9 [ par Adeon ] Salut! j'ai un probleme, je voudrai superposer deux quads ( avec le RHW activé ). le probleme c'est que la transparence ne marche pas pourtant : -la t texture plane [ par azkab ] bonjour,bon j ai un petit souci, j ai les coordonnées x,y d une ligne et je veux lui affecter une texture, sauf que cette texture doit s afficher hori Texture d'une glutSphere [ par Dante41 ] Salut à tous, J'ai besoin de votre aide. j'essaie de recréer le système solaire en OpenGL par conséquent , il faut que je fasse toutes les planètes av Bump mapping [ par Galmiza ] Bonjour,Je m'interesse au bump mapping mais sur le net, j'ai vu qu'il existe des tonnes de bump mapping différents.http://www.firingsquad.com/hardware [OpenGL]Ajuster texture à l'objet [ par goutbouyo ] Salut,Je prend un texture MUR.BMPLorsque je la "colle" sur un rectangle de 50*50 ça va.Mais si je la colle sur un rectangle de 10*50 elle est toute dé Pb de FRONT et BACK buffer avec texture [ par gastoudou ] Bonjour à tous,Je suis en train de faire un projet en OpenGL pour l'école sur un puzzle 2D. Il y a 16 cases mélangées et on doit les remettre à leur p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales