Partilhar via


D3DPRESENTFLAG

Constantes usadas por D3DPRESENT_PARAMETERS.

#define Valor Descrição
D3DPRESENTFLAG_DEVICECLIP 0x00000004 Recorte um em janela Apresentar blit na área do cliente da janela, dentro da área da tela do monitor do adaptador de vídeo que criou o dispositivo Direct3D. D3DPRESENTFLAG_DEVICECLIP não é válido com D3DSWAPEFFECT_FLIPEX.
D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0x00000002 Defina esse sinalizador quando o dispositivo ou a cadeia de permuta for criada para habilitar o descarte do z-buffer. Se esse sinalizador for definido, o conteúdo do buffer de estêncil de profundidade será inválido depois de chamar Presentou SetDepthStencilSurface com uma superfície de profundidade diferente. Descartar dados z-buffer pode aumentar o desempenho e depende do driver. O tempo de execução de depuração imporá o descarte limpando o z-buffer para algum valor constante depois de chamar Presentou SetDepthStencilSurface com uma superfície de profundidade diferente.
O descarte de dados z-buffer é ilegal para todos os formatos, D3DFMT_D16_LOCKABLE e D3DFMT_D32F_LOCKABLE bloqueáveis. Qualquer uso do CreateDevice especificar um formato bloqueável e o descarte do z-buffer falhará. Para obter mais informações sobre formatos, consulte D3DFORMAT.
D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x00000001 Defina esse sinalizador se o aplicativo exigir a capacidade de bloquear o buffer traseiro diretamente. Observe que os buffers traseiros não podem ser bloqueados, a menos que o aplicativo especifique D3DPRESENTFLAG_LOCKABLE_BACKBUFFER ao chamar CreateDevice ou Redefinir. Os buffers traseiros bloqueáveis incorrem em um custo de desempenho em algumas configurações de hardware gráfico. Executar uma operação de bloqueio (ou usar UpdateSurface para gravar) no buffer traseiro bloqueável diminui o desempenho em muitas placas. Nesse caso, considere o uso de triângulos texturizados para mover dados para o buffer traseiro.
Diferenças entre o Direct3D 9 e o Direct3D 9Ex:
No Direct3D9Ex, esse sinalizador não pode ser definido se o D3DSWAPEFFECT estiver D3DSWAPEFFECT_FLIPEX, pois o modelo de inversão permite que o Desktop Window Manager acesse o buffer traseiro de um aplicativo. Uma superfície compartilhada de processo cruzado não deve ser bloqueada.

 

D3DPRESENTFLAG_NOAUTOROTATE 0x00000020 Os monitores girados são manipulados automaticamente com uma cópia rotativa durante a apresentação, o que não é muito eficiente. Esse sinalizador significa que o aplicativo executará sua própria rotação de exibição.
Diferenças entre o Direct3D 9 e o Direct3D 9Ex:
Este sinalizador está disponível apenas no Direct3D 9Ex.

 

Os aplicativos podem alcançar sua própria rotação, possivelmente usando uma matriz de exibição girada. Os métodos GetDisplayModeEx e GetAdapterDisplayModeEx devem ser usados para localizar a configuração de rotação atual. Os parâmetros Width e Height do backbuffer em CreateDeviceEx e ResetEx devem ser orientados para paisagem, enquanto a estrutura do modo de exibição em tela cheia deve ser a mesma que é retornada de EnumAdapterModesEx (ou seja, Width e Height são trocados quando girados 90 e 270 graus).

Ao usar Bloquear em destinos de renderização rotacionados, as suposições do canto superior esquerdo não são mais verdadeiras, o SURFACE_DESC de destino de renderização permanecerá paisagem (como implícito pelos parâmetros de criação) e a janela GDI, as coordenadas do mouse e tais precisam ser traduzidas corretamente quando usadas com o destino e a cena de renderização do Direct3D.

D3DPRESENTFLAG_UNPRUNEDMODE 0x00000040 Use esse sinalizador para especificar qualquer modo de exibição RAW enumerado pelo adaptador de vídeo, mesmo que o Direct3D possa ter indicado que o modo é inválido. O aplicativo deve implementar isso de forma robusta, caso o modo desejado seja realmente inválido.
Diferenças entre o Direct3D 9 e o Direct3D 9Ex:
Este sinalizador está disponível apenas no Direct3D 9Ex.

 

D3DPRESENTFLAG_VIDEO 0x00000010 Esta é uma dica para o driver de que os buffers traseiros conterão dados de vídeo.
D3DPRESENTFLAG_OVERLAY_LIMITEDRGB 0x00000080 Especifica se a sobreposição é RGB de intervalo completo ou RGB de intervalo limitado. A definição deste sinalizador indica um intervalo limitado RGB. No intervalo RGB limitado, o intervalo RGB é comprimido de tal forma que 16:16:16 é preto e 235:235:235 é branco.
Diferenças entre o Direct3D 9 e o Direct3D 9Ex:
Este sinalizador está disponível apenas no Direct3D 9Ex.

 

D3DPRESENTFLAG_OVERLAY_YCbCr_BT709 0x00000100 Especifica se a sobreposição é BT.601 ou BT.709. A definição deste sinalizador indica BT.709, para TV de alta definição (HDTV).
Diferenças entre o Direct3D 9 e o Direct3D 9Ex:
Este sinalizador está disponível apenas no Direct3D 9Ex.

 

D3DPRESENTFLAG_OVERLAY_YCbCr_xvYCC 0x00000200 Especifica se a sobreposição é YCbCr convencional ou YCbCr estendida (xvYCC). A definição deste sinalizador indica YCbCr estendido (xvYCC).
Diferenças entre o Direct3D 9 e o Direct3D 9Ex:
Este sinalizador está disponível apenas no Direct3D 9Ex.

 

D3DPRESENTFLAG_RESTRICTED_CONTENT 0x00000400 A configuração desse sinalizador indica que a cadeia de permuta contém conteúdo protegido e faz com que o tempo de execução restrinja automaticamente o acesso à cadeia de permuta para que apenas o DWM (Desktop Windows Manager) possa usar a cadeia de permuta.
Diferenças entre o Direct3D 9 e o Direct3D 9Ex:
Este sinalizador está disponível apenas no Direct3D 9Ex.

 

D3DPRESENTFLAG_RESTRICT_SHARED_RESOURCE_DRIVER 0x00000800 Definir esse sinalizador indica que o driver deve restringir o acesso a quaisquer recursos compartilhados criados para interação DWM. O chamador deve criar um canal autenticado com o driver. O driver deve então permitir o acesso a processos que tentam abrir esses recursos compartilhados.
Diferenças entre o Direct3D 9 e o Direct3D 9Ex:
Este sinalizador está disponível apenas no Direct3D 9Ex.

 

 

Essas constantes são usadas por D3DPRESENT_PARAMETERS.

Informação Constante

Exigência Valor
Cabeçalho d3d9types.h
Sistema operativo mínimo Janelas 98

 

constantes Direct3D