일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- UE4
- 비교 함수 객체
- 게임
- 오블완
- 메타테이블
- Smart Pointer
- 루아
- lua
- implicit conversion
- 상속
- 영화 리뷰
- more effective c++
- 예외
- exception
- Vector
- resource management class
- 반복자
- 암시적 변환
- reference
- Effective c++
- 스마트 포인터
- 티스토리챌린지
- effective stl
- 다형성
- 언리얼
- 영화
- virtual function
- operator new
- c++
- 참조자
Archives
- Today
- Total
스토리텔링 개발자
[UE4] 렌더 하드웨어 인터페이스(RHI, Render Hardware Interface) 본문
728x90
개요
DynamicRHI 헤더에는 해상도 등 화면에 대한 정보를 알아오는 인터페이스들이 모여 있습니다.
플랫폼 별 타겟 RHI를 프로젝트 설정 내부에서 설정할 수 있습니다.
여기서 RHI는 어떤 의미일까요.
RHI란
플랫폼 별로 그래픽 API가 다를 수 있습니다. (윈도우에서는 DirectX, 모바일에서는 OpenGL)
그리고 각 API 별로 기능과 사용 방법(인터페이스)이 다릅니다.
하나의 사용법으로 각 API를 모두 통제하려면 그 API 모두를 아우르는 상위 인터페이스가 필요합니다.
그걸 뜻하는 것이 바로 RHI입니다.
RHI는 그래픽 API들을 래핑한 공용 C++ 인터페이스입니다.
피쳐 레벨
플랫폼 별 그래픽 API는 성능 등의 이유로 지원하는 수준이 다를 수 있습니다.
그래서 RHI는 그 수준에 따라 단계를 나눠 피쳐 레벨로 정의되어 있습니다.
해당 플랫폼이 특정 피쳐 레벨을 지원할 수 없으면 피쳐 레벨의 단계를 낮추어 설정해야 하죠.
아래는 언리얼 피쳐 레벨의 정보입니다.
위에서 아래 순으로 고성능입니다.
SM5 | 일반적으로 D3D11 셰이더 모델 5 에 해당하는데, 유일한 차이점은 OpenGL 4.3 제한때문에 텍스처를 16 개만 사용할 수 있다는 점입니다. 테셀레이션, 컴퓨트 셰이더, 큐브맵 배열을 지원합니다. 디퍼드 셰이딩 패스가 지원됩니다. |
SM4 | D3D11 셰이더 모델 4 에 해당하며, 일반적으로는 SM5 와 같지만 테셀레이션, 컴퓨트 셰이더, 큐브맵 배열이 없습니다. 디퍼드 셰이딩 패스는 지원됩니다. 시각 순응도 컴퓨트 셰이더를 사용하므로 지원되지 않습니다. |
ES2 | 대부분의 OpenGL ES2 모바일 디바이스에 지원되는 피처에 해당합니다. 긴축된 포워드 셰이딩 패스를 사용합니다. |
RHI 피쳐 레벨 설정
엔진의 프로젝트 세팅, 즉 DefaultEngine.ini에서 타겟팅된 RHI를 설정할 수 있습니다.
728x90
'개발 > 언리얼 엔진' 카테고리의 다른 글
[UE4] 모프 타겟(Morph Target) (0) | 2021.11.16 |
---|---|
[UE4] 사운드 에셋(Sound Asset) (0) | 2021.11.04 |
[UE4] 파생 데이터 캐시(Derived Data Cache) (0) | 2021.11.01 |
[UE4] 컨텐츠 쿠킹(Content Cooking) (0) | 2021.10.27 |
[UE4] 비주얼 스튜디오 디버깅을 위한 비주얼라이저(UE4 Visualizer for Debuging Visual Studio) (0) | 2021.10.22 |
Comments