Propriedades do recurso (Direct3D 9)
Todos os recursos compartilham as propriedades a seguir.
- Uso. A maneira como um recurso é usado, por exemplo, como uma textura ou um destino de renderização.
- Formato. O formato dos dados, por exemplo, o formato de pixel de uma superfície 2D.
- Piscina. O tipo de memória em que o recurso é alocado.
- Digite. O tipo de recurso, por exemplo, um buffer de vértice ou destino de renderização.
Os usos de recursos são impostos. Um aplicativo que usará um recurso em uma determinada operação deve especificar essa operação no momento da criação de recursos. Para obter uma lista das constantes de uso definidas para recursos, consulte D3DUSAGE.
As constantes D3DUSAGE_RTPATCHES, D3DUSAGE_NPATCHES e D3DUSAGE_POINTS indicam ao driver que os dados nesses buffers provavelmente serão usados para patches triangulares ou de grade, N-patches ou sprites de ponto, respectivamente. Esses sinalizadores são fornecidos caso o hardware não possa executar essas operações sem processamento de host. Portanto, o driver desejará alocar essas superfícies na memória do sistema para que a CPU possa acessá-las. Se o driver puder executar essas operações inteiramente em hardware, ele poderá alocar essas superfícies em vídeo ou memória AGP para evitar uma cópia de host e melhorar o desempenho pelo menos duas vezes. Observe que as informações fornecidas por esses sinalizadores não são absolutamente necessárias. Um driver pode detectar que essas operações estão sendo executadas nos dados e moverá o buffer de volta para a memória do sistema para quadros subsequentes.
Para obter detalhes sobre os sinalizadores de uso e como eles se relacionam com recursos específicos, consulte as páginas de referência nos métodos de criação de recursos individuais.
Para obter informações sobre o formato de superfície dos recursos, consulte o tipo enumerado D3DFORMAT .
A classe de memória que contém buffers de um recurso é chamada de pool. Os valores de pool são definidos pelo tipo enumerado D3DPOOL . Um pool não pode ser misturado para objetos diferentes contidos em um único recurso - ou seja, níveis de mip em um mipmap - e, quando um pool é escolhido para um recurso, o pool não pode ser alterado.
Os tipos de recursos são definidos implicitamente em tempo de execução quando o aplicativo chama um método de criação de recursos, como IDirect3DDevice9::CreateCubeTexture. Os tipos de recursos são definidos pelo tipo enumerado D3DRESOURCETYPE . Os aplicativos podem consultar esses tipos em tempo de execução; no entanto, espera-se que a maioria dos cenários não exija verificação de tipo em tempo de execução.
Tópicos relacionados