begin process at 2012 02 12 08:05:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

DirectX

 > 

Problème d'affichage avec DirectX


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

Problème d'affichage avec DirectX

dimanche 15 octobre 2006 à 23:51:52 | Problème d'affichage avec DirectX

eplanet

Bonsoir tout le monde, je fais un jeu en DirectX et j'ai un problème d'affichage : l'image ne s'affiche que partiellement, il y a plein de carrés et de traits noirs par dessus. Je pense que le problème vient du Zbuffer ou du StencilBuffer car quand je désactive "EnableAutoDepthStencil" tout marche correctement... Je vous mets le bout de mon code qui initialise l'affichage :

  D3D = Direct3DCreate9( D3D_SDK_VERSION );

    D3DPRESENT_PARAMETERS d3dpp;
    D3DDISPLAYMODE d3ddm;
    D3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &d3ddm);

    ZeroMemory( &d3dpp, sizeof(d3dpp) );
    d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
    d3dpp.Windowed = true;   
    d3dpp.BackBufferWidth = 1024;
    d3dpp.BackBufferHeight = 768;
    d3dpp.BackBufferFormat = d3ddm.Format;
    d3dpp.MultiSampleType = D3DMULTISAMPLE_NONE;
    d3dpp.EnableAutoDepthStencil = true;
    d3dpp.AutoDepthStencilFormat = D3DFMT_D24X8;
    d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;

    D3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &Device );
    Device->SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE );
    Device->SetRenderState( D3DRS_ZENABLE, true );
    Device->SetRenderState( D3DRS_LIGHTING, true );
    Device->SetRenderState(D3DRS_ALPHATESTENABLE, true);
    Device->SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL);
    Device->SetRenderState(D3DRS_ALPHAREF, 0x00);
    Device->SetRenderState(D3DRS_ALPHABLENDENABLE, true);
    Device->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
    Device->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
    Device->SetTextureStageState(0,D3DTSS_ALPHAOP,D3DTOP_MODULATE);
    Device->SetTextureStageState(0,D3DTSS_ALPHAARG1,D3DTA_TEXTURE);
    Device->SetTextureStageState(0,D3DTSS_ALPHAARG2,D3DTA_DIFFUSE);
    Device->SetSamplerState( 0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR );
    Device->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR );
    Device->SetSamplerState( 0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR );

Si vous avez une idée...
Merci !

Vince
lundi 16 octobre 2006 à 14:52:14 | Re : Problème d'affichage avec DirectX

niketou

Essais de remplacer ca voir :
d3dpp.AutoDepthStencilFormat = D3DFMT_D24S8;
lundi 16 octobre 2006 à 20:27:49 | Re : Problème d'affichage avec DirectX

eplanet

Non le problème continue....

Vince
mercredi 18 octobre 2006 à 16:46:51 | Re : Problème d'affichage avec DirectX

eplanet

Réponse acceptée !
Ca y'es j'ai enfin trouvé, c'était tout bête J'avais oublié d'effacer le Z-buffer à chaque frame en utilisant D3DCLEAR_ZBUFFER...

Vince


Cette discussion est classée dans : true, device, d3dpp, setrenderstate, d3drs


Répondre à ce message

Sujets en rapport avec ce message

Rendu dans une surface transparente [ par thebbain ] BonjourCela fait un moment qu eje cherche su rintenet mais rien .Voici mon probleme. Je veux rendre dans une surface de rendu une scene intermediaire Ma fenêtre veut pas s'ouvrir... (MFC) [ par Taurnil ] Bonjour à tous, je suis actuellement sur un projet qui vise à piloter le port série à l'aide d'une petite interface utilisateur.Cette interface est ré Enregistrement d'une partie du device contexte. [ par moumouteb ] Bonjour.Je voudrais savoir si il est possible d'enregistrer une zone du device contexte avec une fonction du type de celle pour dessiner un rectangle Scrollbar/Listbox et mollette [ par DjanGoJack ] Bonjour, J'ai un léger problème sur lequel je suis depuis quelques jours.Mon application crée, à partir d'un fichier xml et d'une application en c++ u Argument de la fonction waveOuSetVolume [ par vinzounet ] Bonjour ou bonsoir :)Je ne comprend pas ce que l'argument "hwo" de la fonction waveOuSetVolume représente (because I talk a little bit English, oulala la fonction InvalidateRect() [ par dyroj ] bonsoir, je voudrais savoir exactement la difference entre :-InvalidateRect(hwnd, NULL, FALSE);-InvalidateRect(hwnd, NULL, TRUE);-InvalidateRect(hwn Device Extensions [ par deck_bsd ] Yop à tous,Voila je suis en train de faire un driver et j'ai un petit souci de compréhension. En fait dans ce driver j'utilise une fonction CALLBACK q Parser sous Visual C++ en application Smart Devices [ par Grotony2 ] Bonjour à tous Je dois développer un projet tournant sur un Smartphone sous Windows Mobile, en C++. Pour cela j'utilise Visual C++ 2008 où je crée de Trouver Vendor ID et Device ID en C [ par rm14 ] Bonjour à tous,je cherche comment on peut trouver le Vendor ID et Device ID d'une carte PCI en langage C.j'ai besoin de ça pour identifier le type de


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 1,186 sec (4)

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