WebGPU 기반 실시간 텍스쳐 지원 서브디비전 서피스 렌더링
Real-time WebGPU Texture-Mapped Subdivision Surface Rendering
0
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
본 논문에서는 Nießner가 제안한 기법[1]을 WebGPU의 특성에 맞게 이식하고 새로운 텍스쳐 심(texture seam) 크랙 제거 기 법을 추가한 실시간 GPU 서브디비전 서피스 렌더링 기법을 제안한다. 전처리 단계에서 메시 토폴로지를 분석하여, 정규 사각형 영역은 3차 B-스플라인 패치(Bicubic B-spline patch)로렌더링하고, 비정규 정점(extraordinary vertex)이 포함된 비정 규 영역은 적응적 캣멀-클락(Catmull-Clark, 이하 CC) 서브디비전을 시행한다. CC 서브디비전을 시행할 때에는 면(face)/엣지 (edge)/정점(vertex) 포인트 연산을 세 개의 컴퓨트 쉐이더(compute-shader) 패스를 이용해 병렬연산하였다. 또한, 텍스처 기반 디스플레이스먼트 매핑(displacement mapping)에서 흔히 발생하는 텍스처 심에서의 크랙 문제를 중복된 위치의 텍스처 값을 일관성있게 보정하는 방식으로 해결하여 시각적 연속성을유지하였다. 프로토타입 구현 및 실험 결과, 약 1,300개의 정점으로 이루어진 모델에서 모든 면을 서브디비전하는 기법 대비 평균 프레임률이 55% 향상되었으며, JavaScript 실행 구간의 오버 헤드는 93% 감소하였다. 이는 웹브라우저에서도 WebGPU API로 효율적이고 연속적인 고품질 서브디비전 서피스 렌더링이 가능함을 보여준다.
Abstract
In this paper, we propose a real-time GPU subdivision surface rendering technique optimized for WebGPU by porting the method originally introduced by Nießner et al. [1], along with an additional technique for removing cracks at texture seams. During pre- processing, the mesh topology is analyzed to classify regions into regular quadrilateral regions and irregular regions containing extraordinary vertices. Regular regions are rendered using bicubic B-spline patches, while adaptive Catmull-Clark (CC) subdivi- sion is applied to the irregular regions. The CC subdivision is parallelized into three compute-shader passes handling face, edge, and vertex point computations, respectively. To address visual discontinuities caused by cracks at texture seams in texture-based displacement mapping, we propose a method that ensures consistency by enforcing the same texture values at overlapping po- sitions. Our prototype implementation demonstrates that, on a model with approximately 1,300 vertices, the proposed method achieves a 55% increase in average frame rate compared to the one which fully subdivide the model, and reduces JavaScript- related overhead by 93%. These results indicate that high-quality, visually continuous subdivision surface rendering is feasible in real time even within the constraints of a web browser using the WebGPU API.
