Windows 11向け高機能カスタムブラーウィンドウC++ライブラリ。 OS標準の Acrylic や Mica よりも自由度の高いブラー、ティント、ノイズ合成を提供します。
English documentation available: README (English)
- 導入ガイド (日本語) / Usage Guide (English)
- C API リファレンス (日本語) / C API Reference (English)
- GitHub Releases (配布パッケージ)
- 多彩なブラーエフェクト: Gaussian, Kawase, Box, Radial Blur に加え、Glass (ガラス透過) や Frosted Glass (Voronoi歪みによるすりガラス) をサポート。
- Rain Effect: Codrops互換の水滴効果、屈折シミュレーション、フォグ背景ぼかし、流れる水滴トレイル対応。
- 高速な処理: Box Blur の分離型パス最適化などにより、低負荷で高品質なブラーを実現。
- ノイズオーバーレイ: 6種類のノイズ(White, Sin, Grid, Perlin, Simplex, Voronoi)を合成可能。
- 柔軟なティント & 不透明度制御: 強度調整可能なカラーオーバーレイおよび全体のリアルタイム不透明度制御。
- マルチプラットフォーム連携: 純粋な C API を通じて、C++ だけでなく Rust (Tauri), C#, Python 等からも利用可能。
- 言語: C++20
- グラフィックスAPI: Direct3D 11 / HLSL
- キャプチャ: DXGI Desktop Duplication / Windows Graphics Capture / Magnification API (OBS等での合わせ鏡回避に対応)
- 表示: DirectComposition / Layered Window (UpdateLayeredWindow)
#include "blurwindow/blurwindow.h"
// 1. システムの初期化
BlurSystemOptions opts;
opts.enableLogging = true;
BlurSystem::Instance().Initialize(opts);
// 2. ウィンドウの作成
WindowOptions winOpts;
winOpts.bounds = { 100, 100, 600, 500 };
auto window = BlurSystem::Instance().CreateBlurWindow(nullptr, winOpts);
// 3. エフェクトの設定と開始
window->SetEffectType(0); // Gaussian
window->SetBlurStrength(0.8f);
window->Start();本リポジトリにはデモが含まれています:
- Win32 GUI Demo (
demos/gui_demo): C++ 標準 Win32 API を使用した詳細な機能デモ。GitHub Releases にてビルド済みパッケージ (blurwindow-demo-x64.zip) も配布されています。 - Tauri v2 Demo (
demos/tauri_demo): Rust/ウェブ技術から C API を利用したモダンなデモ。 - C++ Basic Demo (
demos/cpp_demo): 最小構成のコンソールデモ。
cd demos/tauri_demo
npm install
npm run tauri dev- Windows 11
- Visual Studio 2022 (MSVC)
- Windows SDK 10.0.19041.0+
- CMake 3.20+
MIT License (詳細は LICENSE を参照)