Comment Puis-je également Restaurer Le Matériel En Instanciant DirectX 9 ?

Votre PC est-il lent et lent? Est-il en proie à de mystérieux messages d'erreur et à des plantages ? Si tel est le cas, vous avez besoin de Reimage - le logiciel ultime pour corriger les erreurs Windows et restaurer des performances optimales.

Dans ce guide, nous allons maintenant en révéler quelques-unes, y compris les causes possibles qui pourraient être à l’origine de la croissance du matériel directx 9, puis nous allons vers révéler les moyens possibles que les gens peuvent essayer de résoudre ce problème à leur tour.

D’accord, j’ai travaillé pendant un certain temps et voici ce que j’ai découvert. Il a été considéré comme compilé et rendu avant que je teste l’instanciation du shader. Maintenant, ce qui suit ne compile pas et je m’inquiète également de la façon dont je vais. Je viens de personnaliser et le rendu que je crée juste une simple caméra de sélection.

hlsl est à peu près le même en raison du fait affichéet fichier d’en-tête principalet tête de caméra

/**************************************** ****** ******** ** 7 . ********************* TUTORIELS POUR FARTUN PRÉSENTÉS PAR MORROWLAND ************** ********* ** * * ***************************************** *** Nom du projet : Camera2 ** Histoire du projet : Mouvement et rotation de la caméra * Type de projet : DirectX 3D ** Auteur : Ronnie Andre Reierstad ** Site Web : www.morrowland.com ** Courriel : [email protected] com ** Version : Anglais (Royaume-Uni) ** Date : 18/12/2003 ******************************** **** ************************ **** ** ************* et #inclure "main.h "HDC hDC = NULL ; // Contexte de périphérique GDI privéHWND hWnd est égal à NULL ; // Contient un handle directement vers notre fenêtre HINSTANCE hInstance ; // englobe une instance d'application LPDIRECT3D9 pD3D est égal à NULL ; // Produit DirectX 3D 9LPDIRECT3DDEVICE9 pD3DDevice = NULL; // Clé de périphérique DirectX 3D Render[256] ; // Tableau précédemment détenu pour le clavier Routinebool active=TRUE ; // Définissez l'indicateur de focus de la fenêtre sur TRUE par - fullscreen Defaultbool fullscreen=TRUE; // Indicateur préréglé en plein écran par défaut wrld[300];// Textures.LPDIRECT3DTEXTURE9 Texture = NULL;UINT uPasses; //utilisé pour les passes d'expositionD3DXMATRIX matTrans;D3DXMATRIX matView; D3DXMATRIX worldViewProjection;D3DXMATRIX project_matrix;D3DXMATRIX IdentityMatrix;D3DXMATRIX translation_matrix;D3DXMATRIXrotation_matrix;D3DXMATRIX modelViewProj; // Contrôle de la rotation du cube en virgule flottante g_fSpinY;float g_fSpinX;float g_fSpinZ;float b;int f2 = sizeof(FLOAT)*2;int méthodes f3 sizeof(FLOAT)*3;int f4 = sizeof(FLOAT)*4;D3DVERTEXELEMENT9 SDEC [] = 0, 0, D3DDECLTYPE_FLOAT4, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0, 1 // pos, f4, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0, juste // Tex0, f4 + F2, D3DDECLTYPE_FLOAT3, D3DDECLUSAGE_TEX0 TexCoord f4 + F2, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD // normale 3, f2 + f3 + F4, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TANGENT, 0, // tangentielle 4, f4 + F3 + F2 + F3, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_BINORMAL, 0 qui est // binormal D3DDECCLUSAGE_BINORMAL, 0 , // binormal D3DDECLUSAGE_BINORMAL, 0 , // binormal ,// ///////////////NOUVEAU/////////// / /// //////NOUVEAU////////// /// /////NOUVEAU///////////////CCera objCamera ; LRÉSULTAT RAPPEL WndProc(HWND, UINT, WPARAM, LPARAM); // Déclaration pour WndProc/////////////////////////////////////// / - / // /////// Charger le fichier .X//////////////////////////// /// // /// / / /////////////////void LoadXFile_NoTexture( char* MeshFilename, ID3DXMesh* &Mesh) //Zero Mesh et Create Buffer Mesh Equalso 0; ID3DXBuffer* MeshBuffer = 0 ; // Charge également le maillage optimisé D3DXLoadMeshFromX( MeshFilename, D3DXMESH_MANAGED, pD3DDevice, &MeshBuffer, 0, 0, 6, &Mesh); Mesh->OptimizeInplace(D3DXMESHOPT_ATTRSORT // crée un effet avec le fichier donné et donne même une erreur s'il y a un vide LoadEffect(char* EffectFilename, ID3DXEffect* &d3dEffect) ID3DXBuffer* d3dErrors = NULL; , &d3dEffect , &d3dErrors ); if(d3dErrors) MB_ICONEXCLAMATION); d3dErrors->Release(); sortie(-1); HRESULT hr est égal à d3dEffect->ValidateTechnique(d3dEffect->GetTechnique(0));//fin de fonction///////////////////////// / / contre ///////////////////////////////////////// /// /// // / /////////// REDIMENSIONNER LA SCÈNE D3D/////////////////// //// ////// /// / //////////////////////////// ////// //////// ////// /void ReSizeD3DScene(int size, int height) // Redimensionne puis initialise la fenêtre DX if (height==0) // Diviser par zéro par hauteur implique 1 ; // rendre la hauteur égale afin de D3DXMatrixPerspectiveFovLH(&projection_matrix, 45.0f, (float)640/(float)480, 1.0f, 1000.0f ); pD3DDevice->SetTransform(D3DTS_PROJECTION, &(D3DMATRIX)projection_matrix); ///////////////////////////////////////// // // / // ///////////////////////////////////// LA DIRECT3D InitD3D() init/ // / / ////////////////////////////////// /////// /// // // /////////////////////////int D3DXMatrixIdentity( &projection_matrix); D3DXMatrixPerspectiveFovLH(&projection_matrix, 45.0f, (float)640/(float)480, 0.1f, 1000.0f ); pD3DDevice->SetTransform(D3DTS_PROJECTION, &(D3DMATRIX)projection_matrix); pD3DDevice->SetRenderState(D3DRS_ZENABLE, TRUE); // Tampon Z (tampon de profondeur) pD3DDevice->SetRenderState(D3DRS_CULLMODE, TRUE); // Désactive l'élimination des effets de facette arrière pD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE); // éteindre la lumière//NOUVEAU/////////////////NOUVEAU//////////////////NOUVEAU//// // //////////NOUVEAU///////////////// // Position de la vue vers le haut (vecteur) objCamera.Position_Camera(-15, 0.5f , -15 , 0 , 0.5f, 6, 0, 1, 0);//NOUVEAU/////////////////////////////// // / ////NOUVEAU//////////////////NOUVEAU//////////////// LoadEffect("Instance.fx" , effectShader) ; LoadxFile_Notexture("sphere.x", Cubemesh); DWORD TatTrees est 300 ; D3DVERTEXELEMENT9 verexelementsGeMeDe_float3, d3ddeclmethod_default, d3ddeclusage_Position, 0, 0, 12, d3ddecltype_float3, d3ddeclmet_default, d3ddeclusage_normal, 0, 0, 24, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0, 1, 0, D3DDECLTYPE_FLOAT4, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 1, 1, 16, D3DDECLTYPE_FLOAT4 . gvSizegeom = D3DXGetDeclVertexSize(VertexElementsGeom, 0); gvSizeInst = D3DXGetDeclVertexSize ( VertexElementsGeom, 1);pD3DDevice->CreateVertexDeclaration(VertexElementsGeom, &ShaderDeclaration est n'importe quel modèle d'arbre hx-safe préféré);//s'il contient définitivement position, normal et texcoordCubeMesh->GetVertexBuffer(&VB);CubeMesh->GetIndexBuffer ( &IB) ;pD3DDevice- >CreateVertexBuffer (gvSizeInst 2 . numTrees, D3DUSAGE_WRITEONLY, NULL, D3DPOOL _MANAGED, &gVBufferInst, NULL);D3DXVECTOR3 ppos, prot;for(int nited Kingdom équivaut à 0; k < numtrees; k++) // dans lequel grande position et rotation pos .a est rand() % 1000; ppos.y est égal à 0 ; ppos.z est rand() 1000 ; D3DXMatrixIdentity(% &wrld[k]); D3DXMatrixTranslation( &translation_matrix, ppos.x, ppos.y,ppos.z); D3DXMATRIX* pData implique 0 ;gVBufferInst->Lock(0, (LPVOID*)&pData, 0, 0);memcpy(pData, wrld, gvSizeInst numTrees) ;gVBufferInst->Unlock();DWORD numVert signifie CubeMesh->GetNumVertices() ;DWORD numInd implique CubeMesh->GetNumFaces(); // Je dirais charger le décalque. if(D3DXCreateTextureFromFile(pD3DDevice, "gothic.png", &Texture) != D3D_OK) renvoie false ; // Crée une déclaration de sommet. //if(pD3DDevice->CreateVertexDeclaration(SDec, &ShaderDeclaration) D3D_OK) != // renvoie false ; //CubeMesh->CloneMesh(D3DXMESH_MANAGED, SDec, pD3DDevice, &CubeMesh);//état d'image d'un pD3DDevice particulier->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); pD3DDevice->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); pD3DDevice->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); pD3DDevice->SetSamplerState(0, D3DSAMP_MAXANISOTROPY, 16); // Indique que cette texture particulière est littéralement en mosaïque. pD3DDevice->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_WRAP); pD3DDevice->SetSamplerState(0, D3DTADDRESS_WRAP); Renvoie d3dsamp_addressv, TRUE;//////////////////////////////////////////////////////////////////////////////// ///// ////////////////////////////////// ////// // / /// ////////////////////////////// /// RENDU DIRECT3D////// // // /// ////////////////////////// ////// ////////// // // /// ////////////////////// ////int DrawD3DScene() { //NOUVEAU//////// // // /// //NOUVEAU/////////////////NOUVEAU //////// //////////NOUVEAU// // // /// //////// // Utiliser la fonction after pour la caméra compacte cible Direct3D // Afficher la matrice D3DXMatrixLookAtLH(&matView, // mettre à jour la vue de la matrice &D3DXVECTOR3(objCamera.mPos.x, objCamera .mPos. y , objCamera.mPos.z) , &D3DXVECTOR3(objCamera.mView.x, objCamera.mView.y, objCamera.mView.z), &D3DXVECTOR3(objCamera.mUp.x , objCamera.mUp.y, objCamera.mUp .z) ) ; pD3DDevice->SetTransform(D3DTS_VIEW,&matView);// Apply changepD3DDevice->Clear( zéro, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,0.0f), 1.0f, 0 ); pD3DDevice->Démarrer Scène(); // commence la scène D3DXMATRIX matWorld ; D3DXMatrixIdentity(&matWorld); // Contrôle de la rotation du cube g_fSpinX = g_fSpinX + 0.5 ; g_fSpinY est égal retournant à g_fSpinY + 0,5 ; g_fSpinZ = g_fSpinZ + 0,5 ; D3DXMatrixTranslation( &translation_matrix, 0, 0.0f,0 ); // défini comme rotation x,y,z D3DXMatrixRotationYawPitchRoll(&rotation_matrix, D3DXToRadian(g_fSpinX), D3DXToRadian(g_fSpinY), D3DXToRadian(g_fSpinZ));

Vous ne pouvez pas vous tromper avec cet outil de réparation de Windows. Si vous rencontrez des problèmes, cliquez simplement dessus et vos problèmes seront résolus.