NVIDIA-RTX/RTXNTC

NVIDIA Neural Texture Compression SDK

해결하는 문제

NTC는 PBR(물리 기반 렌더링) 재질 텍스처의 높은 메모리 사용량과 대역폭 소비 문제를 해결합니다. 기존의 블록 압축 방식으로 알베도, 노멀, 거칠기 등의 각 텍스처 채널을 별도로 압축하는 대신, NTC는 여러 상관관계가 있는 텍스처 채널을 하나의 신경망 텍스처 세트로 통합 압축하여 VRAM 사용량과 PCI-E 트래픽을 크게 줄입니다.

작동 방식

압축 과정에서 텍스처 데이터는 작은 신경망(다층 퍼셉트론 또는 MLP 디코더)의 가중치와 잠재 변수 텐서로 변환됩니다. 텍스처를 재구성하려면 이 잠재 변수를 샘플링하고 디코더를 통과시킵니다.

하드웨어 및 성능 요구 사항에 따라 세 가지 디코딩 모드를 지원합니다:

  • 로드 시 추론: 게임이나 맵이 로드될 때 텍스처가 디코딩되어 표준 블록 압축 형식(BCn)으로 변환됩니다.
  • 샘플링 시 추론: 텍스처가 실시간으로 쉐이더 내부(픽셀 또는 레이 트레이싱 히트 쉐이더)에서 디코딩됩니다.
  • 피드백 시 추론: 샘플러 피드백을 사용하여 현재 뷰에 필요한 특정 텍스처 타일만 디코딩합니다.

이 과정을 가속화하기 위해 Ada 및 Blackwell 계열 GPU에서 "협업 벡터" 확장 기능(Vulkan VK_NV_cooperative_vector 및 DX12 LinAlg)을 활용합니다.

대상 사용자

이 SDK는 3D 렌더링 파이프라인에서 고품질 재질의 메모리 사용량을 줄이면서도 표준 블록 압축과 유사한 시각적 품질을 유지하고자 하는 그래픽 엔지니어 및 게임 개발자에게 적합합니다.

주요 특징

  • 다중 채널 압축: 최대 16개의 텍스처 채널을 하나의 세트로 압축 가능.
  • 조정 가능한 품질: 사용자가 "잠재 형태(Latent Shapes)"를 선택하여 메모리 사용량과 이미지 품질의 균형을 조절할 수 있는 일정 비트레이트 방식 제공.
  • 하드웨어 가속: 최신 NVIDIA GPU에서 2~4배 빠른 추론을 가능하게 하는 협업 벡터 확장 기능 활용.
  • 유연한 통합: C++ 라이브러리(LibNTC), 명령줄 도구(ntc-cli), 자동화용 Python 모듈을 포함.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트