Como Faço Para Restaurar O Hardware Instanciando O DirectX 9?

Seu PC está lento e lento? É atormentado por mensagens de erro misteriosas e falhas? Nesse caso, você precisa do Reimage � o software definitivo para corrigir erros do Windows e restaurar o desempenho ideal.

Neste guia, alguns de nós vamos revelar algumas junto com as possíveis causas que podem levar à formação de hardx 9 directx e, em seguida, vamos revelar as possíveis maneiras que o público pode tentar corrigir o problema do item.

Ok, eu tenho trabalhado nisso por um tempo e abaixo estão o que eu descobri. Ele acabou compilado e renderizado antes de eu usar para instanciar o shader. Agora esta lata não compila e também estou suspeitando como estou. Acabei de modificar e o render que acabei de criar cria uma câmera simples diretamente para selecionar.

hlsl é aproximadamente o mesmo em exibidoe arquivo de cabeçalho principale cabeça de câmera

/**************************************** ****** ******** ** 7 . ********************* TUTORIAIS PARA FARTUN APRESENTADOS POR MORROWLAND ************** ********* ** * * ***************************************** *** Nome do Projeto : Camera2 ** Descrição específica do projeto: Movimento e rotação da câmera * 1 . Tipo de projeto: DirectX 3D ** Autor: Ronnie Andre Reierstad ** Site: www.morrowland.com ** E-mail: [email protected] com ** Versão: Inglês (Reino Unido) ** Data: 18/12/2003 ******************************** **** ************************ **** ** ************* ou #include "main.h "HDC hDC = NULL; // Dispositivo GDI Privado ContextHWND hWnd equivale a NULL; // Contém um handle que pode nossa janela HINSTANCE hInstance; // incorpora uma instância do aplicativo LPDIRECT3D9 pD3D é igual a NULL; // Adaptação 3D do DirectX 9LPDIRECT3DDEVICE9 pD3DDevice = NULL; // Chave do dispositivo Renderização 3D DirectX[256]; // Array usado para teclado Routinebool active=TRUE; // Definir o sinalizador de foco da janela para TRUE causado por fullscreen Defaultbool fullscreen=TRUE; // Posição do indicador para tela cheia por padrão wrld[300];// Textures.LPDIRECT3DTEXTURE9 Texture = NULL;UINT uPasses; //utilizado de passes de exibiçãoD3DXMATRIX matTrans;D3DXMATRIX matView; D3DXMATRIX worldViewProjection;D3DXMATRIX project_matrix;D3DXMATRIX IdentityMatrix;D3DXMATRIX translation_matrix;D3DXMATRIXrotation_matrix;D3DXMATRIX modelViewProj; // Controle de rotação do cubo de ponto flutuante g_fSpinY;float g_fSpinX;float g_fSpinZ;float b;int f2 = sizeof(FLOAT)*2;int f3 métodos 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, // Tex0, f4 + F2, D3DDECLTYPE_FLOAT3, D3DDECLUSAGE_TEX0, 2 // Tex0, 2, TEXCOORD F4 + F2, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD // normal, 3, f2 + f3 + F4, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TANGENT, 0, // tangencial 4, F4 F3 + + + F2 F3, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_BINORMAL, 0 que é // binormal D3DDECCLUSAGE_BINORMAL, 0 , // binormal D3DDECLUSAGE_BINORMAL, 0 , // binormal ,// ///////////////NEW/////////// /// //////NOVO///////// /// /////NOVO///////////////CCera objCamera; LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // Declaração para WndProc/////////////////////////////////////// / / // / ////// Carregar arquivo .X///////////////////////////// /// /// / // /////////////////void LoadXFile_NoTexture( char* MeshFilename, ID3DXMesh* &Mesh) //Zero Mesh e Criar Buffer Mesh Equalso 0; ID3DXBuffer* MeshBuffer = 0; // Carrega também a malha otimizada D3DXLoadMeshFromX( MeshFilename, D3DXMESH_MANAGED, pD3DDevice, &MeshBuffer, 0, 0, , &Mesh); Mesh->OptimizeInplace(D3DXMESHOPT_ATTRSORT // cria um efeito variando de um determinado arquivo e até mesmo descarta o erro se houver void LoadEffect(char* EffectFilename, ID3DXEffect* &d3dEffect) ID3DXBuffer* d3dErrors = NULL; D3DXCreateEffectFromFile(pD3DDevice, EffectFilename ,NULL, NULL, D3DXSHADER , NULL , &d3dEffect , &d3dErrors); if(d3dErrors) MB_ICONEXCLAMATION); d3dErrors->Release(); saída(-1); HRESULT hr implica d3dEffect->ValidateTechnique(d3dEffect->GetTechnique(0));//fim da função///////////////////////// / / e ///////////////////////////////////////// /// /// // / /////////// RESIZE D3D SCENE//////////////////// //// ////// //// / //////////////////////////// ////// //////// ////// /vazio ReSizeD3DScene(int depth, int height) // Redimensiona e/ou inicializa a janela DX if (height==0) // Divide por zero por height é igual a 1; // torna a altura igual a D3DXMatrixPerspectiveFovLH(&projection_matrix, 45.0f, (float)640/(float)480, 1.0f, 1000.0f ); pD3DDevice->SetTransform(D3DTS_PROJECTION, &(D3DMATRIX)projection_matrix); /////////////////////////////////////////// // // contra / / /////////////////////////////////////// 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); // Buffer Z (buffer de profundidade) pD3DDevice->SetRenderState(D3DRS_CULLMODE, TRUE); // Desabilita a eliminação da região de volta pD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE); // vire abaixo da luz//NEW/////////////////NEW//////////////////NEW//// // //////////NEW///////////////// // Posição de visualização para cima (vetor) objCamera.Position_Camera(-15, 0.5f , -15 , 0 , 0.5f, 2, 0, 1, 0);//NOVO//////////////////////////////// // / ////NOVO//////////////////NOVO//////////////// LoadEffect("Instance.fx" , effectShader); LoadxFile_Notexture("esfera.x", Cubemesh); DWORD TatTrees é 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 é o próprio modelo de árvore hx-safe preferido);//se ele basicamente contém apenas position, normal e texcoordCubeMesh->GetVertexBuffer(&VB);CubeMesh-> GetIndexBuffer ( &IB) ;pD3DDevice- >CreateVertexBuffer (gvSizeInst 7 . numTrees, D3DUSAGE_WRITEONLY, NULL, D3DPOOL _MANAGED, &gVBufferInst, NULL);D3DXVECTOR3 ppos, prot;for(int nited Kingdom é igual a 0; k < numtrees; k++) // para ajudar a posição grande e rotação pos .a é rand() % 1000; ppos.y é igual a 0; ppos.z é rand() 1000; D3DXMatrixIdentity(% &wrld[k]); D3DXMatrixTranslation( &translation_matrix, ppos.x, ppos.y,ppos.z); D3DXMATRIX* pData implica 0;gVBufferInst->Lock(0, (LPVOID*)&pData, 0, 0);memcpy(pData, wrld, gvSizeInst numTrees) ;gVBufferInst->Unlock();DWORD numVert significa CubeMesh->GetNumVertices() ;DWORD numInd implica CubeMesh->GetNumFaces(); // Eu diria para carregar o decalque. if(D3DXCreateTextureFromFile(pD3DDevice, "gothic.png", &Texture) != D3D_OK) retorna false; // Cria uma declaração de vértice. //if(pD3DDevice->CreateVertexDeclaration(SDec, &ShaderDeclaration) D3D_OK) != // retorna false; //CubeMesh->CloneMesh(D3DXMESH_MANAGED, SDec, pD3DDevice, &CubeMesh);//estado da imagem individual 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); // Indica que esta textura em particular é realmente ladrilhada. pD3DDevice->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_WRAP); pD3DDevice->SetSamplerState(0, D3DTADDRESS_WRAP); Retorna d3dsamp_addressv, TRUE;///////////////////////////////////////////// ///// /////////////////////////////////// ////// // / /// /////////////////////////////// /// DIRECT3D RENDERING////// // // /// ////////////////////////// ////// ////////// // // /// /////////////////////// ////int DrawD3DScene() { //NEW//////// // // /// //NOVO//////////////////NOVO //////// //////////NOVO// // // /// //////// // Usa a função logo após para o destino Direct3D slr // Mostra a matriz D3DXMatrixLookAtLH(&matView, // atualiza a visualização da matriz &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);// Aplicar alteraçãopD3DDevice->Clear( 5, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,0.0f), 1.0f, 0 ); pD3DDevice->Iniciar Cena(); // inicia a cena D3DXMATRIX matWorld; D3DXMatrixIdentity(&matWorld); // Controle de rotação do cubo g_fSpinX = g_fSpinX + 0,5; g_fSpinY é igual diretamente a g_fSpinY + 0,5; g_fSpinZ = g_fSpinZ + 0,5; D3DXMatrixTranslation( &translation_matrix, 0, 0.0f,0 ); // definido como rotação x,y,z D3DXMatrixRotationYawPitchRoll(&rotation_matrix, D3DXToRadian(g_fSpinX), D3DXToRadian(g_fSpinY), D3DXToRadian(g_fSpinZ));

Você não pode errar com esta ferramenta de correção do Windows. Se você estiver tendo problemas, basta clicar nele e seus problemas serão resolvidos.