Compartilhar via


Direct3D Mobile Architecture

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Há três aspectos fundamentais para o design Microsoft Direct3D Mobile.

  • Modelos são descritos em termos de primitivos.
  • As opções para desenho primitivos podem ser encapsuladas por um estado máquina conhecida como pipeline de processamento.
  • A saída é fornecida por um modelo apresentação Frame-Based.

Primitivos são pontos, linhas, triângulos e comum aos conjuntos de módulos (assemblies) de triângulos. Essas são todas descritas em termos de vértices em um espaço cartesianas. Os dados para os vértices são carregados no chamado matrizes buffers vértice. Direct3D Mobile fornece métodos para aplicativos para criar os buffers vértice, carregá-los com dados e descrever que dados.

Várias opções para desenho primitivos podem ser encapsuladas por um estado máquina conhecida como pipeline de processamento. A entrada ao pipeline de processamento é os dados que descrevem os primitivos. A saída do pipeline de processamento é valores cor pixel na reserva de quadro. Direct3D Mobile fornece um conjunto de controles e opções, chamado estados, para configuração backup pipeline de processamento. Você pode configurar pipeline de processamento para operações do tipo 2D muito simples, operações 3D muito complexas e muitas combinações possíveis entre. Para obter mais informações consulte Direct3D Mobile Rendering Pipeline.

Os estados disponível para o desenvolvedor do aplicativo é determinada por uma combinação de ambos os definição da Direct3D Mobile API e as capacidades do driver de Direct3D Mobile. Direct3D Mobile fornece dois métodos para um driver para relatório seu conjunto de com suporte recursos para um aplicativo. O menor-nível método é através um padrão conjunto da funcionalidade predefinido bits que mapa (n.); mapear (v.) para individual funções elementos gráficos. Os aplicativos podem consulta Esses bits funcionalidade para determinar o nível de suporte de elementos gráficos no driver. Criando em parte superior desses individual bits funcionalidade, Mobile Direct3D também emprega um sistema de perfis dispositivo. Cada perfil é definido para ser um conjunto específico de bits funcionalidade adequado às necessidades de categorias específicas de incorporado dispositivos. Aplicativos que são escritos para um perfil destino irão executar em dispositivos com drivers exibir Direct3D Mobile suporte desse perfil. A abordagem simplifica desenvolvimento de aplicativos, eliminando a tedium e erro possível, de consulta cada individual bit funcionalidade. Para obter mais informações consulte Direct3D Mobile Device Capabilities.

Mobile Direct3D utiliza um modelo apresentação com base em quadros. Como resultado, executar aplicativos com um forte senso de tempo, que geralmente é fornecido na forma de um relógio quadro. Os aplicativos são espera emitir todos os comandos necessários para desenhar uma cena específica e, em seguida, Signal quando eles são concluídos com a cena. Um aplicativo notifica o Middleware Mobile Direct3D que ele está pronto para criar uma cena por chamado o método IDirect3DMobileDevice::BeginScene. Enquanto o aplicativo está definindo a cena, Mobile Direct3D é preencher uma reserva de comando que contém os comandos de desenho do aplicativo. Quando o aplicativo é feito-lo definindo a cena chama IDirect3DMobileDevice::EndScene. No que apontar a cena é enfileirado para processamento, mas ele é ainda não enviada para o driver. O aplicativo deve explicitamente chamar para a cena para ser apresentado para o superfície de exibição por chamado o método IDirect3DMobileDevice::Present. Isso libera a reserva de comando para o driver para processamento. Essa organização permite máximo operação assíncrona entre o CPU e qualquer hardware gráficos de suporte.

Arquivos do Mobile Direct3D

A Middleware Mobile Direct3D é implementado em dispositivos Windows Embedded CE por um chamado dynamic-link library (DLL) D3dm.dll. A seguinte tabela mostra os arquivos incluídos no SDKs Mobile Direct3D.

Arquivo Descrição

D3dm.lib

O biblioteca de importação para D3Dm.dll.

D3dm.h

Contém as declarações de interfaces do Mobile Direct3D COM e outros protótipos função.

D3dmtypes.h

Contém as declarações de estruturas e enumerações do Mobile Direct3D.

D3dmcaps.h

Contém as declarações de bits funcionalidade e perfis do Mobile Direct3D.

Todos os arquivos cabeçalho Mobile Direct3D são dependentes em Windows.h. Além disso, os drivers Mobile Direct3D exigem o arquivo cabeçalho D3dmddk.h.

Drivers e processos

No processo hora da criação o carregador será automaticamente mapa (n.); mapear (v.) d3dm.dll para espaço de endereço o processo de qualquer aplicativo que vinculados a d3dm.lib em tempo de compilação. Quando este estiver completo, o aplicativo pode começar a fazer chamadas Mobile Direct3D.

Cada plataforma Windows Embedded CE com Direct3D Mobile no seu design OS tem um driver sistema usar como padrão única. A Middleware Mobile Direct3D trata as tarefas de identificar os drivers, configuração até as comunicações com o driver selecionado pelo aplicativo e, em seguida, comunicação com esse driver. Mobile Direct3D exibir drivers são implementados como bibliotecas vínculo dinâmico.

Há dois primário formas de comunicação driver: local conectando e remoto conectando. Driver sistema usar como padrão do Direct3D Mobile pode ser localmente ou remotamente acoplado. Mobile Direct3D não é possível simultaneamente criar instância dois um localmente e um driver remotamente hooked. Além disso, há também uma variedade de local conectando fornecido pelo IDirect3DMobile::RegisterSoftwareDevice que um aplicativo pode usar para substituir a entrada driver sistema pontos com seus próprios pontos entrada.

Seções relacionadas

O seguinte tópicos fornecem mais informações sobre esses assuntos.

For All Platforms:

See Also

Other Resources

Direct3D Mobile Application Development