Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Stellt einen Viewport dar und bietet Praktische Methoden zum Erstellen von Viewports.
Syntax
struct CD3D11_VIEWPORT : D3D11_VIEWPORT {
void CD3D11_VIEWPORT();
void CD3D11_VIEWPORT(
const D3D11_VIEWPORT & o
);
void CD3D11_VIEWPORT(
FLOAT topLeftX,
FLOAT topLeftY,
FLOAT width,
FLOAT height,
FLOAT minDepth,
FLOAT maxDepth
);
void CD3D11_VIEWPORT(
ID3D11Buffer *unnamedParam1,
ID3D11RenderTargetView *pRTView,
FLOAT topLeftX,
FLOAT minDepth,
FLOAT maxDepth
);
void CD3D11_VIEWPORT(
ID3D11Texture1D *pTex1D,
ID3D11RenderTargetView *pRTView,
FLOAT topLeftX,
FLOAT minDepth,
FLOAT maxDepth
);
void CD3D11_VIEWPORT(
ID3D11Texture2D *pTex2D,
ID3D11RenderTargetView *pRTView,
FLOAT topLeftX,
FLOAT topLeftY,
FLOAT minDepth,
FLOAT maxDepth
);
void CD3D11_VIEWPORT(
ID3D11Texture3D *pTex3D,
ID3D11RenderTargetView *pRTView,
FLOAT topLeftX,
FLOAT topLeftY,
FLOAT minDepth,
FLOAT maxDepth
);
void ~CD3D11_VIEWPORT();
};
Vererbung
Die CD3D11_VIEWPORT-Struktur implementiert D3D11_VIEWPORT.
Member
Instanziiert eine neue instance einer nicht initialisierten CD3D11_VIEWPORT-Struktur.
void CD3D11_VIEWPORT( const D3D11_VIEWPORT & o)
Instanziiert eine neue instance einer CD3D11_VIEWPORT-Struktur, die mit einer D3D11_VIEWPORT-Struktur initialisiert wird.
Instanziiert eine neue instance einer CD3D11_VIEWPORT-Struktur, die mit D3D11_VIEWPORT Werten initialisiert wird.
Instanziiert eine neue instance einer CD3D11_VIEWPORT-Struktur, die mit D3D11_BUFFER_RTV-Werten initialisiert wird.
Instanziiert eine neue instance einer CD3D11_VIEWPORT-Struktur, die mit D3D11_TEX1D_RTV- oder D3D11_TEX1D_ARRAY_RTV-Werten initialisiert wird.
Instanziiert eine neue instance einer CD3D11_VIEWPORT-Struktur, die mit 2D-Texturwerten initialisiert wird.
Instanziiert eine neue instance einer CD3D11_VIEWPORT-Struktur, die mit 3D-Texturwerten initialisiert wird.
Zerstört eine instance einer CD3D11_VIEWPORT-Struktur.
Hinweise
So definiert D3D11.h CD3D11_VIEWPORT:
struct CD3D11_VIEWPORT : public D3D11_VIEWPORT
{
CD3D11_VIEWPORT()
{}
explicit CD3D11_VIEWPORT( const D3D11_VIEWPORT& o ) :
D3D11_VIEWPORT( o )
{}
explicit CD3D11_VIEWPORT(
FLOAT topLeftX,
FLOAT topLeftY,
FLOAT width,
FLOAT height,
FLOAT minDepth = D3D11_MIN_DEPTH,
FLOAT maxDepth = D3D11_MAX_DEPTH )
{
TopLeftX = topLeftX;
TopLeftY = topLeftY;
Width = width;
Height = height;
MinDepth = minDepth;
MaxDepth = maxDepth;
}
explicit CD3D11_VIEWPORT(
_In_ ID3D11Buffer*,
_In_ ID3D11RenderTargetView* pRTView,
FLOAT topLeftX = 0.0f,
FLOAT minDepth = D3D11_MIN_DEPTH,
FLOAT maxDepth = D3D11_MAX_DEPTH )
{
D3D11_RENDER_TARGET_VIEW_DESC RTVDesc;
pRTView->GetDesc( &RTVDesc );
UINT NumElements = 0;
switch (RTVDesc.ViewDimension)
{
case D3D11_RTV_DIMENSION_BUFFER:
NumElements = RTVDesc.Buffer.NumElements;
break;
default: break;
}
TopLeftX = topLeftX;
TopLeftY = 0.0f;
Width = NumElements - topLeftX;
Height = 1.0f;
MinDepth = minDepth;
MaxDepth = maxDepth;
}
explicit CD3D11_VIEWPORT(
_In_ ID3D11Texture1D* pTex1D,
_In_ ID3D11RenderTargetView* pRTView,
FLOAT topLeftX = 0.0f,
FLOAT minDepth = D3D11_MIN_DEPTH,
FLOAT maxDepth = D3D11_MAX_DEPTH )
{
D3D11_TEXTURE1D_DESC TexDesc;
pTex1D->GetDesc( &TexDesc );
D3D11_RENDER_TARGET_VIEW_DESC RTVDesc;
pRTView->GetDesc( &RTVDesc );
UINT MipSlice = 0;
switch (RTVDesc.ViewDimension)
{
case D3D11_RTV_DIMENSION_TEXTURE1D:
MipSlice = RTVDesc.Texture1D.MipSlice;
break;
case D3D11_RTV_DIMENSION_TEXTURE1DARRAY:
MipSlice = RTVDesc.Texture1DArray.MipSlice;
break;
default: break;
}
const UINT SubResourceWidth = TexDesc.Width / (UINT( 1 ) << MipSlice);
TopLeftX = topLeftX;
TopLeftY = 0.0f;
Width = (SubResourceWidth ? SubResourceWidth : 1) - topLeftX;
Height = 1.0f;
MinDepth = minDepth;
MaxDepth = maxDepth;
}
explicit CD3D11_VIEWPORT(
_In_ ID3D11Texture2D* pTex2D,
_In_ ID3D11RenderTargetView* pRTView,
FLOAT topLeftX = 0.0f,
FLOAT topLeftY = 0.0f,
FLOAT minDepth = D3D11_MIN_DEPTH,
FLOAT maxDepth = D3D11_MAX_DEPTH )
{
D3D11_TEXTURE2D_DESC TexDesc;
pTex2D->GetDesc( &TexDesc );
D3D11_RENDER_TARGET_VIEW_DESC RTVDesc;
pRTView->GetDesc( &RTVDesc );
UINT MipSlice = 0;
switch (RTVDesc.ViewDimension)
{
case D3D11_RTV_DIMENSION_TEXTURE2D:
MipSlice = RTVDesc.Texture2D.MipSlice;
break;
case D3D11_RTV_DIMENSION_TEXTURE2DARRAY:
MipSlice = RTVDesc.Texture2DArray.MipSlice;
break;
case D3D11_RTV_DIMENSION_TEXTURE2DMS:
case D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY:
break;
default: break;
}
const UINT SubResourceWidth = TexDesc.Width / (UINT( 1 ) << MipSlice);
const UINT SubResourceHeight = TexDesc.Height / (UINT( 1 ) << MipSlice);
TopLeftX = topLeftX;
TopLeftY = topLeftY;
Width = (SubResourceWidth ? SubResourceWidth : 1) - topLeftX;
Height = (SubResourceHeight ? SubResourceHeight : 1) - topLeftY;
MinDepth = minDepth;
MaxDepth = maxDepth;
}
explicit CD3D11_VIEWPORT(
_In_ ID3D11Texture3D* pTex3D,
_In_ ID3D11RenderTargetView* pRTView,
FLOAT topLeftX = 0.0f,
FLOAT topLeftY = 0.0f,
FLOAT minDepth = D3D11_MIN_DEPTH,
FLOAT maxDepth = D3D11_MAX_DEPTH )
{
D3D11_TEXTURE3D_DESC TexDesc;
pTex3D->GetDesc( &TexDesc );
D3D11_RENDER_TARGET_VIEW_DESC RTVDesc;
pRTView->GetDesc( &RTVDesc );
UINT MipSlice = 0;
switch (RTVDesc.ViewDimension)
{
case D3D11_RTV_DIMENSION_TEXTURE3D:
MipSlice = RTVDesc.Texture3D.MipSlice;
break;
default: break;
}
const UINT SubResourceWidth = TexDesc.Width / (UINT( 1 ) << MipSlice);
const UINT SubResourceHeight = TexDesc.Height / (UINT( 1 ) << MipSlice);
TopLeftX = topLeftX;
TopLeftY = topLeftY;
Width = (SubResourceWidth ? SubResourceWidth : 1) - topLeftX;
Height = (SubResourceHeight ? SubResourceHeight : 1) - topLeftY;
MinDepth = minDepth;
MaxDepth = maxDepth;
}
~CD3D11_VIEWPORT() {}
operator const D3D11_VIEWPORT&() const { return *this; }
};
|
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) | Windows 7 [Desktop-Apps | UWP-Apps] |
| Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [Desktop-Apps | UWP-Apps] |
| Kopfzeile | d3d11.h |