★DX11 대응

DX11 대응 그래픽 장치는 반드시 D3D11 능력 집합 전체를 지원합니다.

( DX9에서는 하드웨어의 기능점검이 필요했지만 DX11에서는 기능정검이 불필요)



★COM 객체 (Component Object Model)

 - MSDN 에서 제공하는 ABI(Application Binary Interface) 입니다.


특성

1. 언어독립성 (언어에 국한X)

2. Binary Standard ( VC++ 소스 필요없음 )

3. Version Control 하위 및 상위 호환성 제공

4. 자기만의 고유한 메모리 관리 ( delete 가 아닌 Realse로 호출로 자원해제 )

-> DX11 에서는 보통 대문자 I 로 시작


★텍스처 및 자료 자원 형식

2차원 텍스처는 사실상 2차원 배열 or 행렬


용도  

1. 2차원 이미지 자료를 저장 ( 각 원소는 픽셀의 색상을 담음)

2. 색상이 아닌 3차원 벡터를 담는용도 등등


형식

DXGI_FORMAT 열거형으로 지정


DXGI_FORMAT_성분_방식 

성분 - R32G32B32 , R16G16B16A16 등.

방식 - FLOAT,UNROM,UINT 등


★교환사슬과 페이지 전환

presenting(제시) : 후면 버퍼와 전면 버퍼의 포인터 변경 ( 더블버퍼링 시스템 )

교환사슬(SwapChain) : 버퍼를 제시(presenting)하기 위한 변경시스템


★깊이 버퍼 ( Depth Buffer or Z-Buffer )

텍스처의 이미지 자료를 담지 않는 형식중 하나 , 0(가까움) ~ 1.0(멈) 까지의 값

픽셀의 깊이 정보를 담는 하나의 텍스쳐


작동원리

1.백버퍼 지우기

2.물체그리기

3.충돌된 픽셀의 depth 조사

4.결과값에 의한 픽셀 갱신


★스텐실 버퍼 ( Stencil Buffer )

일정부분 렌더링을 막기위해 사용 ( Masking 효과 )

깊이-스텐실버퍼 사용 (  스텐실 버퍼를 사용한다면 반드시 깊이버퍼에 부착해야함으로 )


※ 깊이-스텐실 이라고 많이 부른다고 합니다....


★텍스처 자원 뷰

렌더링 파이프라인에는 묶을(Bind) 수 있는 단계(Stage)들이 존재


흔한 용도

1. 텍스처를 렌더 대상으로 묶는 것 ( D3D가 텍스처에 렌더링 하는 경우 )

2. 셰이더 자원으로 묶는 것 ( 셰이더 안에서 텍스처를 추출하는 경우 )


이 두가지 용도로 사용할 텍스쳐를 생성 할 때 파이프 라인 단계를 지정한 결속플래그 (Bind Flag)를 사용


직접 바인딩 되는 것이 아닌

자원 뷰(Resource View)라는 것을 생성해야 하고 이 자원 뷰가 바인딩 됨

Flag값을 지정해야  이 값에 따른 특정 자원 뷰를 생성or불가능 해짐


★앨리어싱 ( Aliasing , 계단현상 )

화면의 계단현상을 제거(앨리어싱제거AntiAliasing) 기법


SSAA(SuperSamlingAntiAliasing,초과표본화) : 후면버퍼+깊이-스텐실버퍼 4배 후 하향표본화(DownSampling)하는 기법


- 픽셸처리량과 메모리소비량의 비용이 큼


MSAA(MultiSamlingAntiAliasing,다중표본화) : 도형과 겹치는 픽셀칸에서 가운데 한점 + 주변에서 정보를 수집하여 처리하는 기법


- 가장보편적인 AA기법 , 디퍼드와 같이 쓰기에 무겁다고 함 , CPU기반

- 이미징 대해 상관없이 그냥 여러 번 샘플링


그 외 기법들 ( 자세한 설명은 생략하겠습니다...)

FXAA(Fast Approximate AA)

QAA (Quincunx AA)

EQAA (Enhanced Quality AA)

MLAA (Morphological AA)

DLAA (Directionally Localized Anti-Aliasing

TXAA (Temporal Approximate(?) AA)

SMAA(Enhanced Subpixel Morphological AA)

SPUAA(The Saboteur Anti-Aliasing)

SRAA(Subpixel Reconstruction Antialiasing)

DEAA(Distance-to-Edge AA)

GBAA(Geometry Buffer AA)

CSAA(Coverage Sampling AA)

HRAA(High Resolution AA)

SMAA(Enhanced Subpixel Morphological Antialiasing)

MSAA(Multi Frame AA)

FXAA (Fast Approximate AA)


★기능 수준 (Feature Level)

DirectX11 은 버전을 어느 수준까지 지원하는지 파악하고 순서대로 점검후 사용 가능

( DirectX11 이 지원이 안된다면 DirectX9 으로 Feature Level 을 줄일 수 있음 )

Posted by Dongkey
,