씬뷰는 주로 게임 엔진이나 그래픽 에디터에서 작업 영역을 제공하며, 사용자는 해당 공간에서 드래그 앤 드롭, 키보드 및 마우스 이벤트, 렌더링된 이미지 확인 등을 수행할 수 있습니다.

씬뷰를 분석하기 이전에 스왑체인에 가지고 있는 최종렌더타겟(프레임버퍼)를 텍스처 리소스로 가져와야 imgui창에서 이미지를 그릴 수 있습니다. 추후 디퍼드렌더링 등등 여러가지 렌더타겟을 활용한것들이 많아질수 있기에 RenderTarget클래스를 설계하였습니다.

렌더 타겟은 프레임 버퍼와 유사한 개념으로, 렌더링 결과를 저장하거나 특정 렌더링 작업을 수행하는 데 사용됩니다.


렌더타겟 클래스

1. eRenderTragetFormat (렌더 타겟 포맷)

cpp
코드 복사
enum class eRenderTragetFormat
{
    None = 0,
    RGBA8,
    RED_INTEGER,
    DEPTH24STENCIL8,
    SHADER_RESOURCE,
    Depth = DEPTH24STENCIL8
};


2. RenderTargetTextureSpecification

cpp
코드 복사
struct RenderTargetTextureSpecification
{
    eRenderTragetFormat TextureFormat = eRenderTragetFormat::None;
};


3. RenderTargetAttachmentSpecification

cpp
코드 복사
struct RenderTargetAttachmentSpecification
{
    std::vector<RenderTargetTextureSpecification> Attachments;
};