Direct3D é um componente da estrutura do Microsoft DirectX. Ele fornece uma interface consistente para acessar dispositivos de hardware e software 3D e é controlado através de uma linguagem de programação que tem apoio directo ou à base de wrapper para ele. Programação em ambientes 3D requer o estabelecimento de um tubo para o dispositivo de processamento Direct3D no início de execução de código para que as informações podem ser gravados no sistema para a modificação e exibição. Conhecido como IDirect3DDevice9 , esta interface é extensível e derivado da interface IUnknown Component Object Model . Ele permite que você desenhar primitivas através de código , os recursos de carga e objetos complexos , modificar variáveis de aplicativo , ajustar as configurações de paleta de gama e cor e aplicar shaders para suas texturas . Instruções
1
Criar um struct em seu código que define todos os parâmetros com os quais o dispositivo Direct3D serão inicializados . A API DirectX define uma estrutura conhecida como D3DPRESENT_PARAMETERS que contém todos os campos relevantes. Consulte o seu arquivo de ajuda SDK para D3DPRPESENT_PARAMETERS eo construtor IDirect3DDevice9 . O arquivo de ajuda é um documento . Chm localizado no diretório de instalação do SDK .
2
Crie um ponteiro para a interface IDirect3DDevice9 que não é inicializado. Você vai usar esse ponteiro para fazer referência a estrutura IDirect3DDevice9 singleton na memória . Criar um ponteiro nulo com este código: * IDirect3DDevice9 p_Device = NULL;
3
Determinar os parâmetros com os quais você deseja inicializar o dispositivo Direct3D . . Você terá que consultar a referência SDK para uma lista completa de parâmetros para a sua versão do DirectX, mas os parâmetros necessários são o tipo de adaptador , o modo de aceleração, um identificador para a janela do programa no Windows , um modo de processamento de vértice , a estrutura D3DPRESENT_PARAMETERS , eo ponteiro para o dispositivo criado no passo 2.
4
Passe todos os parâmetros através da interface Direct3D . Um hresult será devolvido , especificando se a operação foi bem sucedida ou um fracasso. Por exemplo : .
Hresult = p_d3di -> CreateDevice ( D3DADAPTER_DEFAULT , D3DDEVTYPE_HAL , appWnd , D3DCREATE_HARDWARE_VERTEXPROCESSING , e p_PresentParams , e p_Device );
5
Realize uma verificação no hresult da ação usando operadores de controle de fluxo. Prossiga apenas se você tiver um dispositivo Direct3D para escrever , a fim de impedir que o aplicativo deixe de funcionar . Por exemplo :
if ( FAILED ( hresult ) ) {//Desalocar todos os recursos, caixa de mensagem de falha de exibição , terminará programa }
.