R3F

R3F는 React에서 three.js를 쉽게 활용할 수 있도록 도와주는 라이브러리다. three.js는 자바스크립트에서 3D작업을 쉽게 할 수 있도록 도와주는 라이브러리로, GPU를 활용한 병렬 계산을 수행하는 WebGL을 렌더러로 사용하기 때문에 매우 빠르다.

주요 구성요소

Scene

Scene은 모든걸 담을 수 있는 3차원의 공간이라고 생각하면 된다.

Camera

3차원의 공간 속에서 대상을 찍는 카메라다. canvas에 보여지는 모습을 찍는다. Scene 안에서의 눈이라고 볼 수 있다.

frustum-with-camera.png

Mesh

Geometry(모양)와 Material(시각적 특성) 로 이루어진 요소로 Scene에서 모델링되는 객체 또는 객체를 이루는 기반이 된다.

Renderer

카메라로 찍은 스냅샷을 requestAnimationFrame으로 브라우저의 성능에 맞춰서 canvas에 그려준다.