Kagari
キーワードを入力してドキュメントを検索します。

モジュール

std::shaders

安定性: 暫定 — std のシェーダーライブラリです。色フィルター、ミックスモード、手続き的なマスク、テクスチャー、モーションを含みます。

std::screen::shader のすべてのロールについて、既製のシェーダーを効果値として提供します。ライブラリの各シェーダーは 3 つのアイテムからなります。

  • 引数の #[shader_arg] 構造体(引数の型が () の場合はありません)。
  • シェーダーアセットそのものである定数。たとえば BLUR: ColorShader<Blur> です。
  • 効果値を作る const fn。たとえば blur(radius) -> Filter です。

普段は関数を使います。定数は、引数を自分で組み立てるコードのためにあります。たとえば filter(BLUR, Blur { radius: 4.0 }) は blur(4.0) と同じ値です。同じシェーダーの 2 つの値の間をトゥイーンすると引数が動く(シェーダー効果 を参照)ので、blur(0.0) から blur(6.0) へのトゥイーンは少しずつぼかしていきます。

WGSL ファイルは std に同梱されています。kagari build はゲームが使うものを std.kiarchive に詰めるので、ゲームがコピーする必要はありません。std::shaders のアイテムはプレリュードにありません。

モジュールロール内容
std::shaders::color色(Filter)CSS のフィルター関数、まとめたフィルター、ガウスぼかし
std::shaders::mixミックス(Mix)W3C のブレンドモード、加算合成、すりガラス
std::shaders::maskマスク(Mask)線形、放射、ひし形、時計、縞、市松、ノイズ、ガウス、角丸矩形のランプ
std::shaders::textureテクスチャー(Paint)単色、グラデーション、ガウスの光点、雨、雪
std::shaders::motionローカルモーションと遷移モーションループ(bob、sway、pulse、spin、orbit)、減衰する揺れ、ODE で動く移動、経路(arc、bounce、spiral)
kis
use std::screen::CENTER;
use std::screen::anim::masked;
use std::shaders::{color, mask, mix, motion};
const fn memory(mut screen: Screen) -> Screen {
screen.filter().change(Some(color::sepia(0.8))).apply_animation(tween(ms(800)));
screen.entity(LIGHT).mix().change(Some(mix::screen())).apply_animation(instant());
screen.entity(HANAKO).local_motion().change(Some(motion::bob(12.0, ms(2000)))).apply_animation(instant());
screen.background().change(BG::ROOF).apply_animation(masked(mask::radial(CENTER), ms(1000)));
screen
}

最終更新日 2026年10月29日