Repolode
regl-project

regl-project/regl

공유 GPU 상태를 없애고, 드로우 호출을 명령으로 기술해 최적화된 JavaScript로 컴파일하는 함수형 WebGL 래퍼입니다.

스타
5,594
포크
328
열린 이슈
127
마지막 커밋
21일 전

어떤 프로젝트인가요?

regl은 WebGL API를 두 가지 추상화로 감싸는 JavaScript 라이브러리입니다. 하나는 버퍼, 텍스처, 프레임버퍼 같은 GPU 객체를 가리키는 핸들인 리소스이고, 다른 하나는 드로우 호출에 필요한 WebGL 상태를 모두 기술하는 명령입니다. 개발자는 명령을 정의할 때 정적 값과 동적 값을 함께 사용하며, regl은 그 정의를 바탕으로 최적화된 JavaScript 코드를 생성합니다. 따라서 일반적인 WebGL을 사용할 때 발생하는 호출별 오버헤드를 대부분 피할 수 있습니다.

이 라이브러리는 의도적으로 최소한의 기능만 제공합니다. 씬 그래프, 게임 엔진, 벡터 연산 유틸리티는 포함하지 않으며, 다중 렌더 타깃이나 인스턴싱 같은 확장 기능을 포함한 모든 WebGL 기능을 계속 사용할 수 있습니다. 의존성이 없고 npm 패키지와 함께 독립 실행형 스크립트 빌드도 제공하며, 개발 모드에서 검증 검사가 활성화되는 대규모 테스트 스위트도 포함합니다.

핵심 기능

  • 01리소스와 명령 추상화로 WebGL을 감싸 공유 상태를 줄입니다.
  • 02부분 평가를 통해 명령 정의를 최적화된 JavaScript로 컴파일합니다.
  • 03버퍼용 중첩 배열을 자동으로 평탄화해 형식화 배열로 변환합니다.
  • 04뷰포트 처리를 지원하는 requestAnimationFrame용 regl.frame을 제공합니다.
  • 05인스턴싱 같은 확장 기능을 포함한 모든 WebGL 기능을 사용할 수 있습니다.
  • 06런타임 의존성이 없으며 독립 실행형 스크립트 빌드를 제공합니다.

활용 사례

  • 브라우저에서 GPU 가속을 활용하는 맞춤형 데이터 시각화를 구축할 때.
  • WebGL을 직접 제어해야 하는 셰이더 기반 그래픽이나 시뮬레이션을 작성할 때.
  • 안정적인 저수준 렌더링 API에 의존하는 장기 실행 웹 애플리케이션을 만들 때.

빠른 시작

  1. 1

    npm에서 프로젝트에 regl을 설치합니다

    npm i -S regl
  2. 2

    regl을 require해 인스턴스를 만든 다음 regl.frame으로 그립니다

사용 전 알아둘 점

  • --debug 플래그를 사용하지 않으면 browserify로 번들링할 때 개발 모드의 오류 검사가 제거됩니다.

포함된 컬렉션

토픽

자주 묻는 질문

regl은(는) 무엇인가요?
공유 GPU 상태를 없애고, 드로우 호출을 명령으로 기술해 최적화된 JavaScript로 컴파일하는 함수형 WebGL 래퍼입니다. regl은 WebGL API를 두 가지 추상화로 감싸는 JavaScript 라이브러리입니다. 하나는 버퍼, 텍스처, 프레임버퍼 같은 GPU 객체를 가리키는 핸들인 리소스이고, 다른 하나는 드로우 호출에 필요한 WebGL 상태를 모두 기술하는 명령입니다. 개발자는 명령을 정의할 때 정적 값과 동적 값을 함께 사용하며, regl은 그 정의를 바탕으로 최적화된 JavaScript 코드를 생성합니다. 따라서 일반적인 WebGL을 사용할 때 발생하는 호출별 오버헤드를 대부분 피할 수 있습니다.
regl은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
regl은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
regl은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. regl의 마지막 커밋은 2026년 10월 17일입니다.
regl은(는) 어디에 사용할 수 있나요?
브라우저에서 GPU 가속을 활용하는 맞춤형 데이터 시각화를 구축할 때. WebGL을 직접 제어해야 하는 셰이더 기반 그래픽이나 시뮬레이션을 작성할 때. 안정적인 저수준 렌더링 API에 의존하는 장기 실행 웹 애플리케이션을 만들 때.
regl는 어떻게 설치하나요?
npm에서 프로젝트에 regl을 설치합니다: npm i -S regl regl을 require해 인스턴스를 만든 다음 regl.frame으로 그립니다
regl은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/regl-project/regl

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트