Wie Könnte Ich Sehr Gut Hardware Wiederherstellen, Indem Ich DirectX 9 Instanziiere?

Ihr PC läuft langsam und träge? Wird es von mysteriösen Fehlermeldungen und Abstürzen geplagt? Wenn ja, dann brauchen Sie Reimage – die ultimative Software zum Beheben von Windows-Fehlern und Wiederherstellen der optimalen Leistung.

In diesen Informationen werden wir einige der möglichen Ursachen aufzeigen, die ordnungsgemäß zur Generierung von directx versuchen, Hardware zu finden führen, und dann sind wir es wagen, die Möglichkeiten aufzuzeigen, die Ihnen scheinen, wie Sie versuchen können, dieses Situationsproblem zu beheben.

Okay, ich arbeite schon eine Weile damit und hier ist, was ich herausgefunden habe. Es wurde kompiliert und gerendert, bevor ich versuchte, den Shader zu instanziieren. Jetzt kompiliert es nicht und ich frage mich gleichermaßen, wie es mir geht. Ich habe nur bearbeitet und das Rendering, das ich exklusiv erhalten habe, erstellt eine einfache Kamera, die tatsächlich ausgewählt werden kann.

hlsl ist im Vergleich zu angezeigt ungefähr gleichund Hauptheaderdateiund Strophenkopf

/*************************************** ****** ******** ** 4 . ********************* TUTORIALS FÜR FARTUN PRÄSENTIERT VON MORROWLAND ************** ********* ** * 6 . **************************************** *** Projektname: Kamera2 ** Projektbeschreibung: Kamerabewegung und -drehung (Raum) * Projekttyp: DirectX 3d ** Autor: Ronnie Andre Reierstad ** Website: www.morrowland.com ** E-Mail: [email protected] world wide web ** Version: Englisch (UK) ** Datum: 18.12.2003 ****************************** ****** ************************ **** ** ************* zum jedes #include "main.h" HDC hDC = NULL; // Privater GDI-GerätekontextHWND hWnd = NULL; // Enthält eine Abdeckung für unser Fenster HINSTANCE hInstance; // besteht aus einer Anwendungsinstanz LPDIRECT3D9 pD3D = NULL; // DirectX 3D-Übersetzung 9LPDIRECT3DDEVICE9 pD3DDevice = NULL; // Geräteschlüssel DirectX 3D Render[256]; // Für die Tastatur verwendetes Array Routinebool active=TRUE; // Fensterfokus-FlagSet bei Vollbild auf TRUE setzen Defaultbool fullscreen=TRUE; // Indikator auf Vollbild gesetzt durch Ausweichen wrld[300];// Textures.LPDIRECT3DTEXTURE9 Texture = NULL;UINT uPasses; //wird zur Unterstützung von Ausstellungsausweisen verwendetD3DXMATRIX matTrans;D3DXMATRIX matView; D3DXMATRIX worldViewProjection;D3DXMATRIX project_matrix;D3DXMATRIX IdentityMatrix;D3DXMATRIX translation_matrix;D3DXMATRIXrotation_matrix;D3DXMATRIX modelViewProj; // Fließkommawürfelrotation verwalten g_fSpinY;float g_fSpinX;float g_fSpinZ;float b;int f2 impliziert sizeof(FLOAT)*2;int f3 impliziert sizeof(FLOAT)*3;int f4 ist gleich sizeof(FLOAT)*4; D3DVERTEXELEMENT9 SDEC [] = 0, 0, D3DDECLTYPE_FLOAT4, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0, 1 // FEA, f4, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0, multiple // Tex0, f4 + F2, D3DDECLTYPE_FLOAT3, D3DDECLUSAGE_TEX0, 2 // Tex0, paar, TEXCOORD f4 + F2, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD // Normal 3, f2 + f3 + F4, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TANGENT, 0, // tangentiale 4, f4 + F3 + F2 + F3, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT , D3DDECLUSAGE_BINORMAL , 5 , // binormal D3DDECCLUSAGE_BINORMAL, 0 the // binormal D3DDECLUSAGE_BINORMAL, 0 , // binormal ,// ///////////////NEU///////// /// /// //////NEU////////// /// /////NEU///////////////CCera objCamera; LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // Deklaration für WndProc/////////////////////////////////////// / / // / ////// .X-Datei laden///////////////////////////// /// // /// oder // /////////////////void LoadXFile_NoTexture( char* MeshFilename, ID3DXMesh* &Mesh) //Null Mesh und Create Buffer Mesh Equalso 0; ID3DXBuffer* MeshBuffer = 0; // Lade auch das optimierte Mesh D3DXLoadMeshFromX( MeshFilename, D3DXMESH_MANAGED, pD3DDevice, &MeshBuffer, 0, nil, 0, &Mesh); Mesh->OptimizeInplace(D3DXMESHOPT_ATTRSORT // erzeuge Einfluss aus gegebener Datei und platziere sogar Fehler, wenn es void gibt LoadEffect(char* EffectFilename, ID3DXEffect* &d3dEffect) ID3DXBuffer* d3dErrors entspricht NULL; D3DXCreateEffectFromFile(pD3DDevice, EffectFilename ,NULL, NULL, D3DXSHADER_OPTIMIZATION3, NULL , &d3dEffect , &d3dErrors); if(d3dErrors) MB_ICONEXCLAMATION); d3dErrors->Release(); Ausgang (-1); HRESULT hr entspricht d3dEffect->ValidateTechnique(d3dEffect->GetTechnique(0));//Ende der Funktion///////////////////////// / / oder ///////////////////////////////////////// /// /// // oder /////////// D3D-SZENE GRÖSSE ÄNDERN//////////////////// //// ////// //// / //////////////////////////// ////// //////// ////// /Leere ReSizeD3DScene(int width, int height) // Resizes initialisiert auch das DX-Fenster solange (height==0) // Division durch Null durch Ihre Höhe = 1; // Höhe identisch mit D3DXMatrixPerspectiveFovLH(&projection_matrix, 45.0f, (float)640/(float)480, 1.0f, 1000.0f ); pD3DDevice->SetTransform(D3DTS_PROJECTION, &(D3DMATRIX)projection_matrix); /////////////////////////////////////////// // // oder / / /////////////////////////////////////// THE 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); // Puffer Z (Tiefenpuffer) pD3DDevice->SetRenderState(D3DRS_CULLMODE, TRUE); // Seiteneliminierung wieder deaktivieren pD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE); // Licht ausschalten/////////////////NEU//////////////////NEU//// // //////////NEU///////////////// // Ansichtsposition nach oben (Vektor) objCamera.Position_Camera(-15, 0.5f - -15 , 0 0.5f, 0, 0, 1, 0);//NEU//////////////////////////////// / oder ////NEU//////////////////NEU//////////////// LoadEffect("Instance.fx", EffektShader) ; LoadxFile_Notexture("sphere.x", Cubemesh); DWORD TatTrees ist 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 entspricht D3DXGetDeclVertexSize (VertexElementsGeom, 1);pD3DDevice->CreateVertexDeclaration(VertexElementsGeom, &ShaderDeclaration gilt als Ihr bevorzugtes hx-sicheres Baummodell);//wenn sie nur Position enthalten, normal plus texcoordCubeMesh->GetVertexBuffer(&VB);CubeMesh ->GetIndexBuffer ( &IB) ;pD3DDevice- >CreateVertexBuffer (gvSizeInst ( space ) numTrees, D3DUSAGE_WRITEONLY, NULL, D3DPOOL _MANAGED, &gVBufferInst, NULL);D3DXVECTOR3 ppos, prot;for(int nited Kingdom equals 0; k < numtrees; k++) / / das wäre eine große Position und Rotation Point of Sale .x ist rand() % 1000; ppos.y gleich 0; ppos.z ist rand() 1000; D3DXMatrixIdentity(% &wrld[k]); D3DXMatrixTranslation( &translation_matrix, ppos.x, ppos.y,ppos.z); D3DXMATRIX* pData impliziert 0;gVBufferInst->Lock(0, (LPVOID*)&pData, three, 0);memcpy(pData, wrld, gvSizeInst numTrees) ;gVBufferInst->Unlock();DWORD numVert ist gleich CubeMesh->GetNumVertices (); DWORD numInd impliziert CubeMesh->GetNumFaces(); // Ich würde sagen, lade das Abziehbild. if(D3DXCreateTextureFromFile(pD3DDevice, "gothic.png", &Texture) != D3D_OK) kommt als falsch an; // Vertex-Deklaration erstellen. //if(pD3DDevice->CreateVertexDeclaration(SDec, &ShaderDeclaration) D3D_OK) != // Einnahmen falsch; //CubeMesh->CloneMesh(D3DXMESH_MANAGED, SDec, pD3DDevice, &CubeMesh);//Bildstatus # 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); // Geben Sie an, dass diese bestimmte neue Textur gekachelt ist. pD3DDevice->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_WRAP); pD3DDevice->SetSamplerState(0, D3DTADDRESS_WRAP); Gibt d3dsamp_addressv, TRUE zurück;/////////////////////////////////////////// ///// //////////////////////////////////// ////// // / /// /////////////////////////////// /// DIRECT3D RENDERING////// // // /// /////////////////////////// ////// ////////// // // /// /////////////////////// ////int DrawD3DScene() { //NEU//////// // // /// //NEU//////////////////NEU //////// //////////NEU// // // /// //////// // Verwenden Sie die folgende Funktion für die ideale Direct3D-Kamera // Zeigen Sie die Matrix D3DXMatrixLookAtLH(&matView, // aktualisieren Sie die Matrix. Behalten Sie &D3DXVECTOR3(objCamera.mPos.x, objCamera .mPos.y , objCamera.mPos.z), dass &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( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,0.0f), 1.0f, 0); pD3DDevice->Szene starten(); // Szene starten D3DXMATRIX matWorld; D3DXMatrixIdentity(&matWorld); // Steuerung der Würfelrotation g_fSpinX impliziert g_fSpinX + 0,5; g_fSpinY ist gleich, das wird g_fSpinY + 0,5; g_fSpinZ ist gleich g_fSpinZ + 0,5; D3DXMatrixTranslation( &translation_matrix, 0, 0.0f,0 ); // definiert als x,y,z Umdrehung D3DXMatrixRotationYawPitchRoll(&rotation_matrix, D3DXToRadian(g_fSpinX), D3DXToRadian(g_fSpinY), D3DXToRadian(g_fSpinZ));

Mit diesem Windows-Fix-Tool können Sie nichts falsch machen. Wenn Sie Probleme haben, klicken Sie einfach darauf und Ihre Probleme werden gelöst.