Jak Mogę Przywrócić Sprzęt Przez Samo Utworzenie Instancji DirectX 9?

Czy Twój komputer działa wolno i wolno? Czy nękają go tajemnicze komunikaty o błędach i awarie? Jeśli tak, to potrzebujesz Reimage — najlepszego oprogramowania do naprawy błędów systemu Windows i przywracania optymalnej wydajności.

W przewodniku po nim zamierzamy wskazać niektóre z możliwych przyczyn, które mogą powodować generację sprzętu directx 9 dziesięcioleci, a następnie udowodniliśmy aby ujawnić możliwe techniki, które możesz spróbować rozwiązać ten problem.

Dobra, właściwie od jakiegoś czasu nad tym pracowałem, to prawda i oto, co znalazłem dla mnie dostępne. Został skompilowany i zrenderowany do dziś, próbowałem stworzyć instancję każdego z naszych shaderów. Teraz się nie kompiluje i też zastanawiam się, jak mi idzie. Właśnie edytowałem, a render, który właśnie otrzymałem, tworzy prostą cyfrową lustrzankę do wyboru.

hlsl jest prawie taki, jak wyświetlanyi główny plik nagłówkowyi fotograficzna głowa

/**************************************** ****** ******* ** 5 . ********************* TUTORIALE DLA FARTUN PREZENTOWANE PRZEZ MORROWLAND *************** ********** ** * 3 . **************************************** *** Nazwa projektu: Kamera2 ** Opis projektu: Ruch i obracanie kamery * * Typ projektu: DirectX 3d ** Autor: Ronnie Andre Reierstad ** Strona internetowa: www.morrowland.com ** Email: [email protected] org ** Wersja: angielski (UK) ** Data: 18.12.2003 ******************************** **** ************************* **** ** ************* za #include „main.h” HDC hDC oznacza NULL; // Prywatny kontekst urządzenia GDIHWND hWnd = NULL; // Zawiera rzeczywisty uchwyt do naszego okna HINSTANCE hInstance; // zawiera instancję aplikacji LPDIRECT3D9 pD3D = NULL; // Trójwymiarowa wersja DirectX 9LPDIRECT3DDEVICE9 pD3DDevice = NULL; // Klucz urządzenia DirectX 3D Render[256]; // Tablica używana dla klawiatury Routinebool active=TRUE; // Ustaw flagę fokusa oknaUstaw na TRUE przez pełny ekran Defaultbool fullscreen=TRUE; // Wskaźnik ustawiony na pełny ekran przez rozszerzenie wrld[300];// Textures.LPDIRECT3DTEXTURE9 Texture = NULL;UINT uPasses; //używane do przepustek wystawowychD3DXMATRIX matTrans;D3DXMATRIX matView; D3DXMATRIX worldViewProjection;D3DXMATRIX project_matrix;D3DXMATRIX IdentityMatrix;D3DXMATRIX translation_matrix;D3DXMATRIXrotation_matrix;D3DXMATRIX modelViewProj; // rotacja kostki zmiennoprzecinkowej regulująca g_fSpinY;float g_fSpinX;float g_fSpinZ;float b;int f2 implikuje sizeof(FLOAT)*2;int f3 implikuje sizeof(FLOAT)*3;int f4 to sizeof(FLOAT)*4;D3DVERTEXELEMENT9 SDEC [] = 0, 6, D3DDECLTYPE_FLOAT4, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0, 7 // poz, f4, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, D3DDECLUSAGE_POSITION, 0, 7 // poz, f4, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, D3DDECLUSAGE_TEXCOORD, Dx/3, 2 /// TeTEX , TEXCOORD F4 + F2 D3DDECLTYPE_FLOAT3, D3DDECLMETHOD, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD // normalny lub może F2 + F3 + F4 D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TANGENT, 0 // styczny 10, F3, F4 + + F2 + F3 D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_BINORMAL , 7 , // binormal D3DDECCLUSAGE_BINORMAL, trzy , // binormal D3DDECLUSAGE_BINORMAL, 0 . // binormalny ,// ///////////////NOWOŚĆ//////////// /// //////NOWOŚĆ////// //// /// /////NOWOŚĆ///////////////CCera objCamera; WYWOŁANIE ZWROTNE LRESULT WndProc(HWND, UINT, WPARAM, LPARAM); // Deklaracja dla WndProc////////////////////////////////////// / / / // /////// Załaduj plik .X/////////////////////////////// // /// w porównaniu z / //////////////////void LoadXFile_NoTexture( char* MeshFilename, ID3DXMesh* &Mesh) //Zerowanie siatki i tworzenie siatki buforowej Equalso 0; ID3DXBuffer* MeshBuffer oznacza 0; // Załaduj również zoptymalizowaną sieć D3DXLoadMeshFromX( MeshFilename, D3DXMESH_MANAGED, pD3DDevice, &MeshBuffer, zero, 0, 0, &Mesh); Mesh->OptimizeInplace(D3DXMESHOPT_ATTRSORT // rozpocznij budowanie efektu z podanego pliku i naprawdę wyrzuć błąd, jeśli nie ma wartości zerowej LoadEffect(char* EffectFilename, ID3DXEffect* &d3dEffect) ID3DXBuffer* d3dErrors = NULL; D3DXCreateZeFilefUll,NULL3,NULL3DXEffect. NULL , &d3dEffect czyli &d3dErrors);if(d3dErrors) MB_ICONEXCLAMATION); d3dBłędy->Wydanie(); wyjście(-1); HRESULT godzina lub więcej = d3dEffect->ValidateTechnique(d3dEffect->GetTechnique(0));//koniec funkcji///////////////////////// / dla każdego / ///////////////////////////////////////// /// // / // w porównaniu z /////////// ZMIEŃ ROZMIAR SCENY D3D/////////////////// //// ////// // // ////////////////////////////////// ///////////// //void ReSizeD3DScene(int width, int height) // Zmienia rozmiar i inicjuje okno DX w przypadku, gdy (height==0) // Dziel przez zero przez wysokość = 1; // ustaw pozycję równą D3DXMatrixPerspectiveFovLH(&projection_matrix, 45.0f, (float)640/(float)480, 1.0f, 1000.0f ); pD3DDevice->SetTransform(D3DTS_PROJECTION, &(D3DMATRIX)projection_matrix); ////////////////////////////////////////// // // / / / /////////////////////////////////////// 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); // Bufor Z (bufor głębokości) pD3DDevice->SetRenderState(D3DRS_CULLMODE, TRUE); // Wyłącz eliminację tylnej strony pD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE); // wyłącz światło//NOWOŚĆ/////////////////NOWOŚĆ/////////////////NOWOŚĆ//// // //////////NOWY///////////////// // Pozycja widoku w górę (wektor) objCamera.Position_Camera(-15, 0.5f , -15 , 3 , 0.5f, 0, 0, 1, 0);//NOWOŚĆ/////////////////////////////// // lub ////NOWOŚĆ/////////////////NOWOŚĆ/////////////// LoadEffect("Instance.fx" , efektShader) ; LoadxFile_Notetexture("kula.x", Cubemesh); DWORD TatTrees to 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 równa się D3DXGetDeclVertexSize ( VertexElementsGeom, 1); pD3DDevice->CreateVertexDeclaration(VertexElementsGeom, &ShaderDeclaration często jest Twoim preferowanym modelem lasu z bezpiecznym hx);//jeśli zawiera tylko pozycję, normalną, ale texcoordGffer-Cubeersh>Bettex); ( &IB) ;pD3DDevice- >CreateVertexBuffer (gvSizeInst 2 . numTrees, D3DUSAGE_WRITEONLY, NULL, D3DPOOL _MANAGED, &gVBufferInst, NULL);D3DXVECTOR3 ppos, prot;for(int knited Kingdom) = 0; a obrócenie pozycji .x to rand() p . ok. 1000; ppos.y = 0; ppos.z prawdopodobnie będzie rand() 1000; D3DXMatrixIdentity(% &wrld[k]); D3DXMatrixTranslation( &translation_matrix, ppos.x, ppos.y,ppos.z); D3DXMATRIX* pData oznacza 0;gVBufferInst->Lock(0, (LPVOID*)&pData, 0, 0);memcpy(pData, wrld, gvSizeInst numTrees) ;gVBufferInst->Unlock();DWORD numVert = CubeMesh->GetNumVer ;DWORD numInd implikuje CubeMesh->GetNumFaces(); // Powiedziałbym, że załaduj naklejkę. if(D3DXCreateTextureFromFile(pD3DDevice, "gothic.png", &Texture) != D3D_OK) dywidendy false; // Utwórz proklamację wierzchołkową. //if(pD3DDevice->CreateVertexDeclaration(SDec, &ShaderDeclaration) D3D_OK) != // wyniki false; //CubeMesh->CloneMesh(D3DXMESH_MANAGED, SDec, pD3DDevice, &CubeMesh);//image government 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); // Wskaż, że ta jawna tekstura jest kafelkowa. pD3DDevice->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_WRAP); pD3DDevice->SetSamplerState(0, D3DTADDRESS_WRAP); Zwraca d3dsamp_addressv, TRUE;////////////////////////////////////////// ///// /////////////////////////////////////////// /// /////////////////////////////// /// RENDEROWANIE BEZPOŚREDNIE 3D////// // // /// //////////////////////////////// ///////////// /// /////////////////////// ////int DrawD3DScene() { //NOWOŚĆ//////// // // /// //NOWOŚĆ//////////////////NOWOŚĆ //////// //////////NOWOŚĆ// // // /// //////// // Użyj następującej funkcji dla kamery docelowej Direct3D // Pokaż bezsprzecznie macierz D3DXMatrixLookAtLH(&matView, // zaktualizuj zegarek macierzy &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, objz)mUp. ) ; pD3DDevice->SetTransform(D3DTS_VIEW,&matView);// Zastosuj zmianępD3DDevice->Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,0.0f), 1.0f, 0 ); pD3DDurządzenie->Rozpocznij scenę(); // uruchom scenę D3DXMATRIX matWorld; D3DXMatrixIdentity(&matWorld); // Kontrola obrotu kostki g_fSpinX równa się g_fSpinX + 0.5; g_fSpinY jest równe g_fSpinY + 0,5; g_fSpinZ implikuje g_fSpinZ + 0,5; D3DXMatrixTranslation( &translation_matrix, , 0.0f, 0 ); // zdefiniowany jako obrót x,y,z D3DXMatrixRotationYawPitchRoll(&rotation_matrix, D3DXToRadian(g_fSpinX), D3DXToRadian(g_fSpinY), D3DXToRadian(g_fSpinZ));

Nie możesz się pomylić z tym narzędziem do naprawy systemu Windows. Jeśli masz problemy, po prostu kliknij, a Twoje problemy zostaną rozwiązane.