Three.js로 3D 플랫폼 개발 [Dom/SVG/Canvas]

3D 플랫폼 개발에 앞서, 기본 배경 지식 정리

Featured image

How GPT tell Us?

DOM, SVG, Canvas 비교

1. DOM (Document Object Model)

렌더링 방식

특징

장점/단점

장점

단점


2. SVG (Scalable Vector Graphics)

렌더링 방식

특징

장점/단점

장점

단점


3. Canvas

렌더링 방식

특징

장점/단점

장점

단점


주요 비교 요약

특징 DOM SVG Canvas
그래픽 유형 텍스트 및 UI 요소 벡터 그래픽 비트맵 그래픽
해상도 독립성 해상도에 의존적 해상도 독립적 해상도에 의존적
상호작용 용이 개별 요소와 용이 복잡한 추가 작업 필요
성능 DOM 업데이트가 많으면 느림 요소가 많으면 느려질 수 있음 복잡한 그래픽에 최적화
사용 사례 일반 웹 페이지 데이터 시각화, 아이콘 게임, 애니메이션, 동적 그래픽

Beyond GPT

Ctrl + F (브라우저 Find 기능)

웹표준, 웹접근성

SEO 검색 최적화

파트 선택에서의 차이점

1. DOM 구성

위 그림에서와 같이 정확한 별을 그린다기 보다는, 네모난 영역의 Div를 CSS로 별의 영역만을 그린다고 생각하면 되겠다.

그래서 별을 선택하는 Onclick 이벤트가 있다고 생각해보면, 별 밖이더라도 해당 Div를 선택하면 Onclick 이벤트가 실행되는 걸 볼 수 있다.

2. SVG 구성

물론 SVG에서도 구역으로 본다면, 네모난 구역을 볼 수 있지만 HTML코드를 통해 각 지점이 정해져있음을 알 수 있다.

<polygon points="250,160 190,330 340,210 160,210 310,330" fill="green" onclick="clickSvg()"></polygon>

Point들로 이루어져 있기 때문에, 정확한 “별”의 영역을 그려낸다. → 그래서 DATA Visualization에 많이 쓰이기도 한다. + Scalable

1. DOM 프레임워크

Dom의 경우는 jQuery로 시작했지만, 이제는 React가 대세일 수 밖에 없는 시대이다.

2. SVG 프레임워크

D3.js로 차트나 데이터 비주얼라이제이션을 많이 하는거로 보인다. 리액트에서 호환성있게 사용하기 위해서 ReactD3가 또 있다고 함.

3. Canvas 프레임워크

사용 사례 추천

  1. DOM: 기본적인 웹 콘텐츠(텍스트, 버튼, 링크 등).
  2. SVG: 데이터 시각화(차트, 그래프), 로고, 아이콘 등.
  3. Canvas: 게임 개발, 이미지 편집 도구, 실시간 그래픽 애니메이션.