slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
Public 成员函数 | Public 属性 | Private 成员函数 | Private 属性 | 所有成员列表
z8::DX12WindowSurface类 参考final

#include <DX12WindowSurface.h>

类 z8::DX12WindowSurface 继承关系图:
Inheritance graph
[图例]
z8::DX12WindowSurface 的协作图:
Collaboration graph
[图例]

Public 成员函数

 DX12WindowSurface (DX12Render *render)
 
 ~DX12WindowSurface () override
 
void ApplyViewport () const
 
void DrawTextAndPresent (const std::vector< ui::TextNode * > &texts, float originX=0.0f, float originY=0.0f)
 
void Init (HWND window, int width, int height, unsigned sampleCount, unsigned sampleQuality, const DirectX::XMFLOAT4 &clearColor)
 
bool IsInitialized () const
 
void PrepareFrame ()
 
void Resize (int width, int height)
 
void Shutdown ()
 
- Public 成员函数 继承自 z8::DX12Common
 DX12Common (DX12Render *)
 
virtual ~DX12Common ()=default
 

Public 属性

DX12SwapChain SwapChain
 
DX12RenderTarget ColorTarget
 
DX12TextRenderer TextRenderer
 
D3D12_VIEWPORT Viewport {}
 
D3D12_RECT Scissor {}
 
int Width = 1
 
int Height = 1
 
float DpiScale = 1.0f
 
- Public 属性 继承自 z8::DX12Common
DX12DeviceCtx
 
DX12RenderRender
 

Private 成员函数

void RefreshViewport ()
 

Private 属性

DirectX::XMFLOAT4 ClearColor {}
 
unsigned SampleCount = 1
 
unsigned SampleQuality = 0
 
bool Initialized = false
 
HWND Window = nullptr
 

详细描述

一个 HWND 对应的完整颜色呈现表面。

Surface 统一拥有交换链、后备缓冲 RTV、MSAA 颜色纹理和 DirectWrite 包装, 并固化 ResizeBuffers 前后的释放顺序。Command queue、RootSignature 与 PSO 仍由 DX12Render 共享,避免每个 Floating window 重复创建全局设备资源。

构造及析构函数说明

◆ DX12WindowSurface()

DX12WindowSurface::DX12WindowSurface ( DX12Render * render)
explicit

◆ ~DX12WindowSurface()

DX12WindowSurface::~DX12WindowSurface ( )
override
函数调用图:

成员函数说明

◆ ApplyViewport()

void DX12WindowSurface::ApplyViewport ( ) const
这是这个函数的调用关系图:

◆ DrawTextAndPresent()

void DX12WindowSurface::DrawTextAndPresent ( const std::vector< ui::TextNode * > & texts,
float originX = 0.0f,
float originY = 0.0f )
函数调用图:
这是这个函数的调用关系图:

◆ Init()

void DX12WindowSurface::Init ( HWND window,
int width,
int height,
unsigned sampleCount,
unsigned sampleQuality,
const DirectX::XMFLOAT4 & clearColor )
函数调用图:
这是这个函数的调用关系图:

◆ IsInitialized()

bool z8::DX12WindowSurface::IsInitialized ( ) const
inline
这是这个函数的调用关系图:

◆ PrepareFrame()

void DX12WindowSurface::PrepareFrame ( )
函数调用图:
这是这个函数的调用关系图:

◆ RefreshViewport()

void DX12WindowSurface::RefreshViewport ( )
private
这是这个函数的调用关系图:

◆ Resize()

void DX12WindowSurface::Resize ( int width,
int height )

调用者需先同步共享命令队列,确保旧尺寸资源不再被 GPU 使用。

函数调用图:
这是这个函数的调用关系图:

◆ Shutdown()

void DX12WindowSurface::Shutdown ( )
函数调用图:
这是这个函数的调用关系图:

类成员变量说明

◆ ClearColor

DirectX::XMFLOAT4 z8::DX12WindowSurface::ClearColor {}
private

◆ ColorTarget

DX12RenderTarget z8::DX12WindowSurface::ColorTarget

◆ DpiScale

float z8::DX12WindowSurface::DpiScale = 1.0f

◆ Height

int z8::DX12WindowSurface::Height = 1

◆ Initialized

bool z8::DX12WindowSurface::Initialized = false
private

◆ SampleCount

unsigned z8::DX12WindowSurface::SampleCount = 1
private

◆ SampleQuality

unsigned z8::DX12WindowSurface::SampleQuality = 0
private

◆ Scissor

D3D12_RECT z8::DX12WindowSurface::Scissor {}

◆ SwapChain

DX12SwapChain z8::DX12WindowSurface::SwapChain

◆ TextRenderer

DX12TextRenderer z8::DX12WindowSurface::TextRenderer

◆ Viewport

D3D12_VIEWPORT z8::DX12WindowSurface::Viewport {}

◆ Width

int z8::DX12WindowSurface::Width = 1

◆ Window

HWND z8::DX12WindowSurface::Window = nullptr
private

该类的文档由以下文件生成: