Skip to content

v0.1.0 — 리액티브 라이브 월페이퍼 엔진

Choose a tag to compare

@BaeTab BaeTab released this 03 Jul 05:22

real_live_wall v0.1.0 — 첫 동작 버전 🎉

리액티브 · 크로스플랫폼 라이브 월페이퍼 엔진의 첫 릴리즈입니다. 시중 제품이 "영상·웹페이지를 배경에 트는 재생기"에 머무는 것과 달리, 바탕화면이 재생 중인 음악 · 시스템 상태 · 시간에 실시간 반응하고 Shadertoy GLSL 셰이더를 무수정으로 돌립니다.

✨ 주요 기능

  • GPU 네이티브 렌더링 — wgpu 30 (Vulkan/DX12/Metal). 풀스크린 프래그먼트 셰이더 1패스.
  • Shadertoy GLSL 호환mainImage(out vec4, in vec2)를 그대로 로드 (naga GLSL 프론트엔드). iResolution·iTime·iMouse 등 표준 uniform 지원.
  • 리액티브 데이터 — cpal 루프백 오디오 캡처 + rustfft 64밴드 스펙트럼, sysinfo CPU/메모리. 셰이더 확장: iBass/iMid/iTreble/iVolume/iSpectrum(x)/iCpu/iMem.
  • 오디오 반응 기본 씬 — 오로라 + 별 + 64밴드 스펙트럼 이퀄라이저 (WGSL, 첫 실행부터 렌더 보장).
  • 월페이퍼 모드 — Windows WorkerW 부착으로 데스크톱 아이콘 뒤에 렌더. 개발용 --preview 창 모드.
  • 핫리로드--watch로 GLSL 파일 저장 시 즉시 반영.
  • 견고성 — 오디오 장치 없음·잘못된 셰이더·서피스 로스트 등 모든 실패를 로그만 남기고 계속 동작.

🖥️ 검증 환경

Windows 11 · NVIDIA RTX 3060 · Vulkan 백엔드에서 기본 씬과 plasma.glsl 셰이더 렌더 확인.

🚀 빠른 시작

cargo run --release                                             # 기본 오로라 씬 (preview)
cargo run --release -- --shader shaders/audio_bars.glsl --watch # Shadertoy GLSL + 핫리로드
cargo run --release -- --mode wallpaper -s shaders/plasma.glsl  # 실제 데스크톱 월페이퍼

또는 아래 real_live_wall-v0.1.0-windows-x64.zip을 받아 압축을 풀고 real_live_wall.exe를 실행하세요 (같은 폴더에 shaders/ 필요).

⚠️ 알려진 한계 / 로드맵

  • macOS·Linux 월페이퍼 표면은 아직 미구현 (창 모드로 실행됨).
  • 오디오는 현재 uniform 스펙트럼 방식 — Shadertoy iChannel0 오디오 텍스처 완전 호환은 예정.
  • 멀티모니터 개별 씬, 멀티패스 셰이더, 날씨/캘린더 리액티브 소스, 전체화면·배터리 자동 일시정지 예정.

전체 아키텍처: docs/ARCHITECTURE.md

🤖 Generated with Claude Code