Repolode
patriciogonzalezvivo

patriciogonzalezvivo/lygia

GLSL, HLSL, Metal, WGSL, WebGL, CUDA용 세분화된 셰이더 함수 라이브러리로, 각 파일에 재사용 가능한 함수 하나가 담겨 있습니다.

스타
3,480
포크
226
열린 이슈
26
마지막 커밋
14일 전

어떤 프로젝트인가요?

LYGIA는 수학, 색상, 공간 변환, 노이즈, 부호 있는 거리장, 그리기, 필터링, 조명에 사용할 수 있는 재사용 가능한 함수로 구성된 셰이더 라이브러리입니다. 각 파일에는 함수 하나만 들어 있어 표준 #include 지시문으로 셰이더에 필요한 함수만 포함할 수 있습니다.

라이브러리는 언어별로 구성되어 있으며 GLSL, HLSL, Metal, WGSL, CUDA용 파일이 따로 있고, 각 언어에서 동일한 함수들을 함께 관리합니다. 일부 함수는 #define 옵션으로 컴파일 시점에 설정할 수 있습니다. 예를 들어 가우시안 블러를 2D 커널로 바꾸거나 샘플링 함수를 변경할 수 있습니다.

LYGIA는 저장소를 복제하거나 git submodule로 추가해 로컬에서 사용할 수 있고, npm으로 설치하거나 CodePen 같은 브라우저 기반 플랫폼에서 호스팅된 resolver 스크립트를 통해 온라인으로 불러올 수도 있습니다. 저장소에는 프로젝트에 필요한 언어만 남기는 prune.py 스크립트도 포함되어 있습니다.

핵심 기능

  • 01여러 셰이딩 언어에서 파일 하나당 함수 하나를 담는 세분화된 구조입니다.
  • 02로컬 또는 호스팅된 온라인 resolver를 통해 #include 의존성을 해결합니다.
  • 03#define 옵션으로 함수를 설정한 뒤 포함할 수 있습니다.
  • 04이전 LYGIA 릴리스에 고정할 수 있도록 버전 지정 include를 지원합니다.
  • 05필요한 언어만 남기는 prune.py 스크립트가 포함되어 있습니다.
  • 06JavaScript 프로젝트용 npm 패키지를 제공합니다.

활용 사례

  • 처음부터 직접 작성하지 않고 WebGL 또는 WebGPU 프로젝트에 노이즈, 이징, 색상 유틸리티를 추가할 때.
  • 동일한 헬퍼 함수를 재사용하면서 셰이더를 GLSL에서 HLSL, Metal 또는 WGSL로 포팅할 때.
  • p5.js, Three.js 또는 Unity에서 제너레이티브 아트나 크리에이티브 코딩 스케치를 만들 때.
  • CodePen 또는 Observable에서 의존성을 자동으로 해결하며 셰이더 코드를 온라인으로 공유할 때.

빠른 시작

  1. 1

    LYGIA를 포함하는 셰이더 옆에 있는 프로젝트에 LYGIA를 클론합니다

    git clone https://github.com/patriciogonzalezvivo/lygia.git
  2. 2

    또는 degit을 사용해 Git 기록 없이 다운로드합니다

    npx degit https://github.com/patriciogonzalezvivo/lygia.git lygia
  3. 3

    셰이더에서 "lygia/space/ratio.glsl"처럼 필요한 함수를 #include 합니다

사용 전 알아둘 점

  • 독립 실행형 애플리케이션이 아니라 셰이더 함수 라이브러리이므로, 자체 셰이더 파이프라인에 통합해야 합니다.
  • 듀얼 라이선스가 적용되며 일반적인 오픈소스 라이선스는 아니므로, 상업적으로 사용하기 전에 라이선스 조건을 확인하세요.

토픽

자주 묻는 질문

lygia은(는) 무엇인가요?
GLSL, HLSL, Metal, WGSL, WebGL, CUDA용 세분화된 셰이더 함수 라이브러리로, 각 파일에 재사용 가능한 함수 하나가 담겨 있습니다. LYGIA는 수학, 색상, 공간 변환, 노이즈, 부호 있는 거리장, 그리기, 필터링, 조명에 사용할 수 있는 재사용 가능한 함수로 구성된 셰이더 라이브러리입니다. 각 파일에는 함수 하나만 들어 있어 표준 #include 지시문으로 셰이더에 필요한 함수만 포함할 수 있습니다.
lygia은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
lygia은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
lygia은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. lygia의 마지막 커밋은 2026년 10월 24일입니다.
lygia은(는) 어디에 사용할 수 있나요?
처음부터 직접 작성하지 않고 WebGL 또는 WebGPU 프로젝트에 노이즈, 이징, 색상 유틸리티를 추가할 때. 동일한 헬퍼 함수를 재사용하면서 셰이더를 GLSL에서 HLSL, Metal 또는 WGSL로 포팅할 때. p5.js, Three.js 또는 Unity에서 제너레이티브 아트나 크리에이티브 코딩 스케치를 만들 때. CodePen 또는 Observable에서 의존성을 자동으로 해결하며 셰이더 코드를 온라인으로 공유할 때.
lygia는 어떻게 설치하나요?
LYGIA를 포함하는 셰이더 옆에 있는 프로젝트에 LYGIA를 클론합니다: git clone https://github.com/patriciogonzalezvivo/lygia.git 또는 degit을 사용해 Git 기록 없이 다운로드합니다: npx degit https://github.com/patriciogonzalezvivo/lygia.git lygia 셰이더에서 "lygia/space/ratio.glsl"처럼 필요한 함수를 #include 합니다
lygia은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/patriciogonzalezvivo/lygia

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

관련 프로젝트