Partilhar via


D3DPRESENTFLAG

Constantes usadas por D3DPRESENT_PARAMETERS.

#define Valor Descrição
D3DPRESENTFLAG_DEVICECLIP 0x00000004 Recorte um blit Present em janela 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 a cadeia de troca ou dispositivo 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 Present ou SetDepthStencilSurface com uma superfície de profundidade diferente. Descartar dados z-buffer pode aumentar o desempenho e depende do driver. O runtime de depuração imporá o descarte desmarcando o z-buffer para algum valor constante depois de chamar Present ou SetDepthStencilSurface com uma superfície de profundidade diferente.
Descartar dados z-buffer é ilegal para todos os formatos bloqueáveis, D3DFMT_D16_LOCKABLE e D3DFMT_D32F_LOCKABLE. Qualquer uso de CreateDevice especificando 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 de fundo diretamente. Observe que os buffers de fundo não são bloqueáveis, a menos que o aplicativo especifique D3DPRESENTFLAG_LOCKABLE_BACKBUFFER ao chamar CreateDevice ou Reset. Buffers de fundo 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 de fundo bloqueável diminui o desempenho em muitos cartões. Nesse caso, considere usar triângulos texturizados para mover dados para o buffer de fundo.
Diferenças entre Direct3D 9 e Direct3D 9Ex:
No Direct3D9Ex, esse sinalizador não poderá ser definido se o D3DSWAPEFFECT for D3DSWAPEFFECT_FLIPEX, já que o modelo de inversão permite que o Gerenciador de Janelas da Área de Trabalho acesse o buffer de fundo de um aplicativo. Uma superfície compartilhada entre processos não deve ser bloqueada.

 

D3DPRESENTFLAG_NOAUTOROTATE 0x00000020 Monitores girados são tratados 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 Direct3D 9 e Direct3D 9Ex:
Esse sinalizador está disponível somente no Direct3D 9Ex.

 

Os aplicativos podem obter 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 de largura e altura do buffer de fundo em CreateDeviceEx e ResetEx devem usar orientação paisagem, enquanto a estrutura do modo de exibição de tela inteira deve ser a mesma que é retornada de EnumAdapterModesEx (ou seja, largura e altura são trocadas quando giradas 90 e 270 graus).

Ao usar o Bloqueio em destinos de renderização giradas, as suposições de canto superior esquerdo não são mais verdadeiras, o destino de renderização SURFACE_DESC permanecerá paisagem (conforme implícito pelos parâmetros de criação) e a janela GDI, as coordenadas do mouse e, portanto, precisarão 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 exibição, embora o Direct3D possa ter indicado que o modo é inválido. O aplicativo deve implementá-lo de maneira robusta caso o modo desejado seja realmente inválido.
Diferenças entre Direct3D 9 e Direct3D 9Ex:
Esse sinalizador está disponível somente no Direct3D 9Ex.

 

D3DPRESENTFLAG_VIDEO 0x00000010 Essa é uma dica para o driver de que os buffers de fundo conterão dados de vídeo.
D3DPRESENTFLAG_OVERLAY_LIMITEDRGB 0x00000080 Especifica se a sobreposição é RGB de intervalo completo ou RGB de intervalo limitado. Definir esse sinalizador indica o intervalo limitado RGB. No intervalo limitado RGB, o intervalo RGB é compactado de modo que 16:16:16 seja preto e 235:235:235 seja branco.
Diferenças entre Direct3D 9 e Direct3D 9Ex:
Esse sinalizador está disponível somente no Direct3D 9Ex.

 

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

 

D3DPRESENTFLAG_OVERLAY_YCbCr_xvYCC 0x00000200 Especifica se a sobreposição é convencional YCbCr ou YCbCr estendido (xvYCC). Definir esse sinalizador indica YCbCr estendido (xvYCC).
Diferenças entre Direct3D 9 e Direct3D 9Ex:
Esse sinalizador está disponível somente no Direct3D 9Ex.

 

D3DPRESENTFLAG_RESTRICTED_CONTENT 0x00000400 Definir esse sinalizador indica que a cadeia de troca contém conteúdo protegido e faz com que o runtime restrinja automaticamente o acesso à cadeia de troca para que somente o DWM (Gerenciador de Windows da Área de Trabalho) possa usar a cadeia de troca.
Diferenças entre Direct3D 9 e Direct3D 9Ex:
Esse sinalizador está disponível somente no Direct3D 9Ex.

 

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

 

 

Essas constantes são usadas por D3DPRESENT_PARAMETERS.

Informações constantes

Requisito Valor
Cabeçalho d3d9types.h
Sistema operacional mínimo Windows 98

 

Constantes Direct3D