Hur Kan Jag Få Tillbaka Hårdvara Genom Att Instansiera DirectX 9?

Går din dator långsamt och trögt? Är det plågat av mystiska felmeddelanden och krascher? Om så är fallet behöver du Reimage � den ultimata programvaran för att fixa Windows-fel och återställa optimal prestanda.

I den här guiden flyger vi för att avslöja några av de potentiella orsakerna som kan orsaka generering av directx 9-hårdvara och direkt efter det börjar vi för att avslöja våra egna möjliga sätt som du kan ta en titt på för att åtgärda problemet.

Okej, jag har jobbat på det här ett tag och här är vad jag fick reda på. Den kompilerades och renderades innan jag försökte kan du instansiera skuggningen. Nu samlas det inte och jag undrar också hur jag mår. Jag har precis redigerat och den här renderingen jag precis skaffade skapar en enkel kamera att välja.

hlsl är i förhållande till samma som visasoch huvud h2-taggfiloch kamerahuvud

/**************************************** ****** ******** ** * ********************* TUTORIALS FÖR FARTUN PRESENTERADE AV MORROWLAND ****** ********** ********** 3 . * ***************************************** *** Projektets varumärke: Camera2 ** Projektbeskrivning: Kameracirkulation och rotation * * Projektnyckel: DirectX 3D ** Författare: Ronnie Andre Reierstad ** Webbplats: www.morrowland.com ** E-post: [email protected] com ** Version: engelska (UK) ** Datum: 2003-12-18 ********************************* **** ************************* **** ** ************* / #inkludera "main.h "HDC hDC = NULL; // Privat GDI-enhet ContextHWND hWnd = NULL; // Innehåller ett handtag till vår fönsterram HINSTANCE hInstance; // innehåller en användningsinstans LPDIRECT3D9 pD3D = NULL; // DirectX 3D-version 9LPDIRECT3DDEVICE9 pD3DDevice innebär NULL; // Enhetsnyckel DirectX Render[256]; // Array som används för tangentbord Routinebool active=TRUE; // Ställ in fönstrets brännpunktsflaggaSätt till TRUE av helskärm Defaultbool fullscreen=TRUE; // Indikator inställd på helskärm som standard wrld[300];// Textures.LPDIRECT3DTEXTURE9 Texture är lika med NULL;UINT uPasses; //används för konventionspassD3DXMATRIX matTrans;D3DXMATRIX matView; D3DXMATRIX worldViewProjection;D3DXMATRIX project_matrix;D3DXMATRIX IdentityMatrix;D3DXMATRIX translation_matrix;D3DXMATRIXrotation_matrix;D3DXMATRIX modelViewProj; // Flytpunktstärningsrotationskontroll g_fSpinY;float g_fSpinX;float g_fSpinZ;float b;int f2 = sizeof(FLOAT)*2;int f3 rekommenderar sizeof(FLOAT)*3;int f4 = sizeof(FLOAT)*4;D3DVERTEXELEMENT9 SDEC [] är lika med 0, 0, D3DDECLTYPE_FLOAT4, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION,, 1 // pos, f4, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0, 2 // Tex0, f4 + F2, D3DDECLTYPE_FLOAT3, D3DDECLUSAGE_TEX0, steg 2 // Tex0, 2, TEXCOORD f4 + F2, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD // normal 3, f2 + f3 + F4, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TANGENT, 0, // tangentiell 4, f4 + F3 + F2 + F3, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_BINORMAL, 0 , // binormal D3DDECCLUSAGE_BINORMAL, 0 , // binormal D3DDECLUSAGE_BINORMAL, noll , // binormal ,// //////////////////NEW////////////// /// //////NYTT///////////// /////NYTT///////////////CCera objCamera; LRESULTAT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // Deklaration för WndProc////////////////////////////////////////// /////// Ladda .X-fil/////////////////////////////// // /// / / /////////////////void LoadXFile_NoTexture( char* MeshFilename, ID3DXMesh* &Mesh) //Zero Mesh and Create Buffer Mesh Equalso 0; ID3DXBuffer* MeshBuffer = 0; // Ladda också vårt optimerade mesh D3DXLoadMeshFromX( MeshFilename, D3DXMESH_MANAGED, pD3DDevice, &MeshBuffer, 0, 0, 0, &Mesh); Mesh->OptimizeInplace(D3DXMESHOPT_ATTRSORT // skapa effekt från en given bild och till och med kasta fel om det generellt finns void LoadEffect(char* EffectFilename, ID3DXEffect* &d3dEffect) ID3DXBuffer* d3dErrors = NULL; D3DXCreateEffectEffectNU, NULL,EffektMIDFIZ,EffektMIDFIZ,Effekt3D,Effekt,NU,Effekt,NU,Effekt,NU,Effekt. NULL &d3dEffect , &d3dErrors); if(d3dErrors) MB_ICONEXCLAMATION); d3dErrors->Release(); exit(-1); HRESULT hr = d3dEffect->ValidateTechnique(d3dEffect->GetTechnique(0));//slut inklusive funktion/////////////////////////// / / / ///////////////////////////////////////////// // / /////////// ÄNDRA STORLEK D3D-SCEN/////////////////////// /////////// / //////////////////////////// ////// //////// ////// /tomhet ReSizeD3DScene(int width, int height) // Ändrar storlek och initierar DX-fönstret om (höjd==0) // Dividera på noll med höjd = 1; // etablera höjd lika med D3DXMatrixPerspectiveFovLH(&projection_matrix, 45.0f, (float)640/(float)480, 1.0f, 1000.0f ); pD3DDevice->SetTransform(D3DTS_PROJECTION, &(D3DMATRIX)projection_matrix); /////////////////////////////////////////// // // / mot / //////////////////////////////////////// THE DIRECT3D InitD3D() init/ // för varje ///////////////////////////////////// /////// /// // ///////////////////////////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); // Buffert Z (djupbuffert) pD3DDevice->SetRenderState(D3DRS_CULLMODE, TRUE); // Inaktivera spolning av baksidan pD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE); // stäng av skulle jag säga att ljuset//NYTT////////////////NYTT/////////////////////////////////////// /// // //////////////////////// // up Visa omständighet (vektor) objcamera.position_camera (-15, 0.5f , -15 , 7 , 0,5f, 0, 0, 2, 0);//NYTT//////////////////////////// ///// / ////NYTT/////////////////NYTT//////////////// LoadEffect("Instans .fx", effectShader) . . . LoadxFile_Notexture("sphere.x", Cubemesh); DWORD TatTrees är ofta 300; D3DVERTEXELEMENT9 verexelementsGeMeDe_float3, d3ddeclmethod_default, d3ddeclusage_Position, 0, två, 12, d3ddecltype_float3, d3ddeclmet_default, d3ddeclusage_normal, 0, 4, 24, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0, dig, 0, D3DDECLTYPE_FLOAT4, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 1, 1 synnerhet 16, D3DDECLTYPE_FLOAT4 ; gvSizegeom = D3DXGetDeclVertexSize(VertexElementsGeom, 0); gvSizeInst = D3DXGetDeclVertexSize ( VertexElementsGeom, 1);pD3DDevice->CreateVertexDeclaration(VertexElementsGeom, &ShaderDeclaration är din önskade hx-säkra trädmodell);//om den bara innehåller perspektiv, normal och texcord->BuetMeVertshCubeVtsh-CubeVtsh-CubeVtsh-CubeBxdex; &IB) ;pD3DDevice- >CreateVertexBuffer (gvSizeInst * numTrees, D3DUSAGE_WRITEONLY, NULL, D3DPOOL _MANAGED, &gVBufferInst, NULL);D3DXVECTOR3 ppos, prot;for(int nited Kingdom = 0; pos .x är helt enkelt rand() % 1000; ppos.y = 0; ppos.z anses vara rand() 1000; D3DXMatrixIdentity(% &wrld[k]); D3DXMatrixTranslation( &translation_matrix, ppos.x, ppos.y,ppos.z); D3DXMATRIX* pData föreslår 0;gVBufferInst->Lock(0, (LPVOID*)&pData, 0, 0);memcpy(pData, wrld, gvSizeInst numTrees) ;gVBufferInst->Unlock();DWORD numVertic-> = CubeNumshVertic ;DWORD numInd antyder CubeMesh->GetNumFaces(); // Jag skulle säga att sätta dekalen. if(D3DXCreateTextureFromFile(pD3DDevice, "gothic.png", &Texture) !motsvarar D3D_OK) returnerar false; // Skapa en pålitlig vertexdeklaration. //if(pD3DDevice->CreateVertexDeclaration(SDec, &ShaderDeclaration) D3D_OK) !equals // returnerar false; //CubeMesh->CloneMesh(D3DXMESH_MANAGED, SDec, pD3DDevice, &CubeMesh);//bildtillstånd 1 pD3DDevice->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); // Ange att den här specifika texturen är sida vid sida. pD3DDevice->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_WRAP); pD3DDevice->SetSamplerState(0, D3DTADDRESS_WRAP); Returnerar d3dsamp_addressv, TRUE;///////////////////////////////////////////////////////// ///// //////////////////////////////////////////// /// ///////////////////////////////// DIRECT3D RENDERING//////// // /// //////////////////////////////////////////// // /// //////////////////////////int DrawD3DScene() { //NEW///////////// /// //NYTT//////////////////NYTT //////////////////NYTT// // // /// //////// // Använd följande funktion avsedd för Direct3D-målkameran // Visa matrisen D3DXMatrixLookAtLH(&matView, // uppdatera varje matrisvy &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) , pD3DDevice->SetTransform(D3DTS_VIEW,&matView);// Använd changepD3DDevice->Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0,f,10.0f,0.0,f,10.0f,0.0,f, 10.0f,0.0),f; pD3DDevice->Start Scene(); // startscen D3DXMATRIX matWorld; D3DXMatrixIdentity(&matWorld); // Kubrotation manipulera g_fSpinX = g_fSpinX + 0,5; g_fSpinY är mycket lika med g_fSpinY + 0,5; g_fSpinZ = g_fSpinZ + 0,5; D3DXMatrixTranslation( &translation_matrix, 0, 0.0f,0 ); // väldefinierad som x,y,z rotation D3DXMatrixRotationYawPitchRoll(&rotation_matrix, D3DXToRadian(g_fSpinX), D3DXToRadian(g_fSpinY), D3DXToRadian(g_fSpinZ));

Du kan inte gå fel med detta Windows-fixverktyg. Om du har problem klickar du bara på den så kommer dina problem att lösas.