안티앨리어싱
안티앨리어싱(Antialiasing) 은 3D 렌더링 시 발생하는 계단 현상(Aliasing)을 제거하여 부드러운 외곽선을 만드는 기술입니다. RedGPU는 하드웨어 기반의 MSAA, 후처리 기반의 FXAA, 시간축 기반의 TAA 를 제공합니다.
모든 설정은 RedGPUContext 의 antialiasingManager 를 통해 통합 제어됩니다.
1. 기본 동작 및 활성화 규칙
RedGPU의 안티앨리어싱 시스템은 배타적으로 동작합니다. 즉, 한 번에 하나의 기법만 활성화할 수 있으며, 새로운 기법을 켜면 기존 설정은 자동으로 해제됩니다.
초기화 시 기본값 (Auto-Selection)
엔진 초기화 시 실행 환경의 devicePixelRatio 에 따라 최적의 기법이 자동으로 선택됩니다.
- 고해상도 디스플레이 (
devicePixelRatio > 1.0): TAA 가 기본으로 활성화됩니다. - 일반 디스플레이: MSAA 가 기본으로 활성화됩니다.
javascript
// 현재 설정 확인
const manager = redGPUContext.antialiasingManager;
console.log(`TAA: ${manager.useTAA}, MSAA: ${manager.useMSAA}, FXAA: ${manager.useFXAA}`);2. 기법별 특징 및 추천
렌더링 품질과 성능 목표에 따라 적절한 기법을 선택하세요.
| 기법 | 방식 | 품질 특성 | 성능 비용 | 추천 상황 |
|---|---|---|---|---|
| TAA | 시간축 누적 | 최상 (전체 영역) | 중간 | 대부분의 고품질 데스크탑/웹 프로젝트 |
| MSAA | 하드웨어 샘플링 | 우수 (외곽선 한정) | 매우 높음 | 기하학적 외곽선이 중요한 단순한 씬 |
| FXAA | 후처리 필터 | 보통 (전체 영역) | 매우 낮음 | 모바일, 저사양 기기, 성능 최우선 |
상세 비교
- TAA: 모션 벡터를 활용하여 움직이는 물체의 잔상을 최소화하며, 쉐이더 알리어싱까지 잡아주는 최신 표준 기법입니다. 특히 고해상도 디스플레이(
devicePixelRatio > 1.0) 에서 화면 흐려짐 현상이 거의 느껴지지 않아 가장 효율적입니다. - MSAA: G-Buffer 전체를 멀티샘플링하므로 메모리 대역폭 소모가 매우 큽니다. 외곽선 품질은 가장 확실합니다.
- FXAA: 화면 전체를 부드럽게 뭉개주어 가성비가 좋지만, 텍스처의 디테일이 다소 흐려질 수 있습니다.
학습 가이드
품질 순서대로 학습하는 것을 권장합니다.
- TAA (Temporal AA) : 최고의 품질을 위한 선택
- MSAA (Multisample AA) : 표준적이고 안정적인 선택
- FXAA (Fast Approximate AA) : 최고의 성능을 위한 선택