WebGL은 웹에 3D렌더링을 구현하기 위해 만들어졌다. OpenGL을 기반으로 만들어졌으며 OpenGL은 컴퓨터 그래픽카드인 GPU와 개발자가 소통할 수 있도록 만들어주는 인터페이스이다.
WebGPU 소개
WebGPU는 새로운 브라우저의 API이며 Vulkan, Direct 3D, Metal과 대화할 수 있게 해준다.
WebGPU 가능성
기존에도 웹브라우저에서 3D게임을 즐길 수 있었지만 성능이 제한적이었다. 브라우저에서 GPU를 완전히 사용할 수 있다면 게임을 설치, 다운로드하지 않고도 바로 브라우저에서 실행이 가능하게 된다.
WebGPU 사용법
WebGPU 지원이 증가하기 시작했고 이미 WebGPU 백엔드가 TensorFlow.js라는 이름으로 존재하고 있다. 또한 Babylon.js, Three.js와 같은 3D엔진과 게임엔진인 Unity도 WebGPU를 지원하고 있다.
WebGPU 단점
브라우저에서 GPU를 사용할 수 있다는 것이 장점이지만 그것이 곧 단점이기도 하다. 특정 웹사이트가 해당 기능을 사용하여 개인의 GPU를 사용해서 암호화폐를 채굴할 수도 있고 이로 인해 배터리의 성능이 빠르게 저하 되게 만들 수도 있다.
브라우저 그래픽 서비스의 혁명 WebGPU
웹브라우저에서 가능한 서비스들이 더 확장되고 GPU를 브라우저를 통해서 사용하게되면 웹게임이 더욱 활성화 될 가능성이 높으며, AI서비스 역시 양질의 서비스로 발전될 수 있다.
상세보기
브라우저가 지금처럼 강력하지 않던 시절에는 화면에 무언가를 그려주기 위해선 Adobe Flash 플러그인을 사용해야 했고 해당 플러그인은 브라우저에 포함이 되어있지 않기때문에 별도로 설치를 해야했다. 웹이 한 회사에 의해 통제되는 플래시에 지나치게 의존해왔기 때문에 브라우저들은 타사 플러그인을 사용하지 않고도 웹에서 네이티브 그래픽을 사용할 수 있는 솔루션을 고민하게 되었고 이때 마침 html5로 업그레이드 되면서 브라우저에 그래픽을 그려 줄 수 있는 새로운 기능인 canvas태그가 만들어졌다.
상세보기
WebGL의 기반인 OpenGL은 분명 획기적인 방식의 API였지만 1992년에 개발된 이 후로 전혀 업그레이드 되지 않았다. 때문에 완전히 새로운 것으로 교체하는 것이 업데이트하는 것보다 더 쉬운 상황이 되어버린 것이다. 이에 OpenGL과 WebGL을 담당하는 크로노스 그룹은 OpenGL과 WebGL의 개발을 중단하고 완전히 새롭게 디자인된 그래픽 API인 Vulkan을 내놓았다. 이에 따라서 DiretX12, Metal 등 새롭고 현대적이며 더 빠르게 디자인된 API를 사용하게 되었지만 웹 브라우저는 여전히 WebGL을 사용하는 상황이다.
상세보기
WebGPU는 크로노스의 Vulkan, 마이크로소프트의 DirectX 3D, 애플의 Metal과 대화할 수 있게 만들어주는 브라우저의 새로운 API이다. WebGPU는 브라우저가 이해하는 새로운 명령어의 집합일 뿐이며 크롬, 파이어폭스, 사파리 브라우저는 이러한 WebGPU 명령을 받아 브라우저가 설치된 컴퓨터의 API를 사용하여 GPU와 대화할 수 있게 만들어 줄 것이다. 이러한기능은 앞으로 100% 웹기반으로 다양한 그래픽을 구현할 수 있고 이는 게임시장에서도 큰 영향을 미칠 것으로 예상된다.
상세보기
이렇게 WebGPU를 통해서 GPU를 사용할 수 있게된다면 게임을 위한 새로운 기회를 열어 줄 수 있게된다. 기존 웹브라우저에서 즐길 수 있던 3D게임은 성능이 제한적이었기 때문에 다소 퀄리티가 낮고 구현가능한 영역이 적었다. 하지만 브라우저에서 GPU를 완전히 사용할 수 있게된다면 게임을 설치, 다운로드하지 않고 바로 웹브라우저에서 실행이 가능하게 된다. 또한 GPU는 머신러닝 모델의 훈련과 실행에 많이 사용된다. GPU는 병렬연산에 능숙하기 때문이다. 그렇기 때문에 AI를 운영하는 기업입장에도 모델을 실행하는 비용이 저렴해지고 데이터가 디바이스를 벗어나지 않기 때문에 더 안전하게 보호 될 수 있다.
상세보기
WebGPU 지원이 증가하기 시작했고 이미 WebGPU 백엔드가 TensorFlow.js라는 이름으로 존재하고 있다. 또한 Babylon.js, Three.js와 같은 3D엔진과 게임엔진인 Unity도 WebGPU를 지원하고 있으며 WebGPU로 내보내기 작업을 진행하고 있다는 소식이 있다.또한 WebGPU코드는 상당히 장황하다. 그렇기 때문에 대부분의 엔진에서 라이브러리를 제공하게 될 것으로 보여진다. WebGPU는 자바스크립트에 국한되지 않는다. Rust와 wgpu와 같은 라이브러리를 사용하여 WebGPU코드를 작성할 수 있고 해당코드를 WebAssembly로 컴파일하여 유저 브라우저에서 실행할 수 있다.
상세보기
항상 그렇듯 새로운 기술에는 새로운 위험이 따르기 때문에 주의를 기울여야 한다. 브라우저를 통해서 GPU를 사용할 수 있다는 것이 장점이지만 반대로 단점이 되기도 한다. 특정 웹사이트에서 기능을 악용한다면 특정 유저의 GPU를 사용해서 암호화폐를 채굴할 수도 있고 GPU과부화로 인한 배터리성능이 빠르게 저하 될 수 있으며 특정 유저를 익명화 시키는 등 악용사례가 생길 수 있다. 이러한 문제점에 대한 대책중 하나로 유저에게 먼저 권한을 부여해야 할 수도 있을 것이다. 예를 들어 지리적 위치정보같은 것이 있다.
전체요약
브라우저 그래픽서비스의 혁명 WebGPU에 대한 모든 것
1. 브라우저가 지금처럼 강력하지 않던 시절에는 화면에 무언가를 그려주기 위해선 Adobe Flash 플러그인을 사용해야 했고 해당 플러그인은 브라우저에 포함이 되어있지 않기때문에 별도로 설치를 해야했다. 웹이 한 회사에 의해 통제되는 플래시에 지나치게 의존해왔기 때문에 브라우저들은 타사 플러그인을 사용하지 않고도 웹에서 네이티브 그래픽을 사용할 수 있는 솔루션을 고민하게 되었고 이때 마침 html5로 업그레이드 되면서 브라우저에 그래픽을 그려 줄 수 있는 새로운 기능인 canvas태그가 만들어졌다.
2. WebGL의 기반인 OpenGL은 분명 획기적인 방식의 API였지만 1992년에 개발된 이 후로 전혀 업그레이드 되지 않았다. 때문에 완전히 새로운 것으로 교체하는 것이 업데이트하는 것보다 더 쉬운 상황이 되어버린 것이다. 이에 OpenGL과 WebGL을 담당하는 크로노스 그룹은 OpenGL과 WebGL의 개발을 중단하고 완전히 새롭게 디자인된 그래픽 API인 Vulkan을 내놓았다. 이에 따라서 DiretX12, Metal 등 새롭고 현대적이며 더 빠르게 디자인된 API를 사용하게 되었지만 웹 브라우저는 여전히 WebGL을 사용하는 상황이다.
3. WebGPU는 크로노스의 Vulkan, 마이크로소프트의 DirectX 3D, 애플의 Metal과 대화할 수 있게 만들어주는 브라우저의 새로운 API이다. WebGPU는 브라우저가 이해하는 새로운 명령어의 집합일 뿐이며 크롬, 파이어폭스, 사파리 브라우저는 이러한 WebGPU 명령을 받아 브라우저가 설치된 컴퓨터의 API를 사용하여 GPU와 대화할 수 있게 만들어 줄 것이다. 이러한기능은 앞으로 100% 웹기반으로 다양한 그래픽을 구현할 수 있고 이는 게임시장에서도 큰 영향을 미칠 것으로 예상된다.
4. 이렇게 WebGPU를 통해서 GPU를 사용할 수 있게된다면 게임을 위한 새로운 기회를 열어 줄 수 있게된다. 기존 웹브라우저에서 즐길 수 있던 3D게임은 성능이 제한적이었기 때문에 다소 퀄리티가 낮고 구현가능한 영역이 적었다. 하지만 브라우저에서 GPU를 완전히 사용할 수 있게된다면 게임을 설치, 다운로드하지 않고 바로 웹브라우저에서 실행이 가능하게 된다. 또한 GPU는 머신러닝 모델의 훈련과 실행에 많이 사용된다. GPU는 병렬연산에 능숙하기 때문이다. 그렇기 때문에 AI를 운영하는 기업입장에도 모델을 실행하는 비용이 저렴해지고 데이터가 디바이스를 벗어나지 않기 때문에 더 안전하게 보호 될 수 있다.
5. WebGPU 지원이 증가하기 시작했고 이미 WebGPU 백엔드가 TensorFlow.js라는 이름으로 존재하고 있다. 또한 Babylon.js, Three.js와 같은 3D엔진과 게임엔진인 Unity도 WebGPU를 지원하고 있으며 WebGPU로 내보내기 작업을 진행하고 있다는 소식이 있다.또한 WebGPU코드는 상당히 장황하다. 그렇기 때문에 대부분의 엔진에서 라이브러리를 제공하게 될 것으로 보여진다. WebGPU는 자바스크립트에 국한되지 않는다. Rust와 wgpu와 같은 라이브러리를 사용하여 WebGPU코드를 작성할 수 있고 해당코드를 WebAssembly로 컴파일하여 유저 브라우저에서 실행할 수 있다.
6. 항상 그렇듯 새로운 기술에는 새로운 위험이 따르기 때문에 주의를 기울여야 한다. 브라우저를 통해서 GPU를 사용할 수 있다는 것이 장점이지만 반대로 단점이 되기도 한다. 특정 웹사이트에서 기능을 악용한다면 특정 유저의 GPU를 사용해서 암호화폐를 채굴할 수도 있고 GPU과부화로 인한 배터리성능이 빠르게 저하 될 수 있으며 특정 유저를 익명화 시키는 등 악용사례가 생길 수 있다. 이러한 문제점에 대한 대책중 하나로 유저에게 먼저 권한을 부여해야 할 수도 있을 것이다. 예를 들어 지리적 위치정보같은 것이 있다.