Makepad Graphics & Effects logo

Makepad Graphics & Effects

開く

MakepadのGPUアクセラレーテッドシェーダー、SDF描画、アニメーション、ビジュアルエフェクト。シェーダーの基礎、SDF形状、アニメーターシステム、イージング関数を学習。

共有:
代替ツールを見る

Makepad グラフィックスとエフェクト

MakepadのGPUアクセラレーテッドシェーダー、SDF描画、アニメーション。

クイックナビゲーション

カテゴリ 説明
シェーダーの基礎 構造、変数、数学関数
SDF描画 円、ボックス、カプセル、パス描画
アニメーション アニメーター、イージング、キーフレーム、ループ
ビジュアルエフェクト ホバー、グラデーション、シャドウ、グロー

シェーダー構造

live_design! {
MyShader = {{MyShader}} {
fn pixel(self) -> vec4 {
let sdf = Sdf2d::viewport(self.pos * self.rect_size);

// 形状を描画
sdf.circle(50.0, 50.0, 20.0);
sdf.fill(#FF0000);

return sdf.result;
}
}
}

SDF操作

// 基本形状
sdf.circle(x, y, radius)
sdf.box(x, y, width, height, border_radius)
sdf.capsule(x1, y1, x2, y2, width)

// 塗りつぶしとストローク
sdf.fill(color)              // 形状を塗りつぶす
sdf.stroke(color, width)     // 輪郭を描く
sdf.fill_keep(color)         // 塗りつぶし、さらなる操作のために形状を保持

アニメーターシステム

live_design! {
<Button> {
animator: {
hover = {
default: off
off = { from: {all: Forward {duration: 0.15}} }
on = { from: {all: Snap} }
}
}

draw_bg: {
color: #2196F3
color_hover: #42A5F5
}
}
}

イージング関数

イージング 使用例
OutQuad 入場アニメーション
InQuad 退場アニメーション
InOutQuad スムーズな遷移
ExpDecay {d1: 0.8, d2: 0.97} 物理的な動き

アニメーション例

live_design! {
LoadingSpinner = {{LoadingSpinner}} {
animator: {
spin = {
default: on
on = {
from: {all: Loop {duration: 1.0}}
apply: { draw_bg: { rotation: 360.0 } }
}
}
}

draw_bg: {
fn pixel(self) -> vec4 {
// 回転アークシェーダー
let sdf = Sdf2d::viewport(self.pos * self.rect_size);
let angle = self.rotation * PI / 180.0;
// 回転アークを描画
return sdf.result;
}
}
}
}

グラデーションエフェクト

draw_bg: {
fn pixel(self) -> vec4 {
// 線形グラデーション
let grad = self.pos.y;
let color = mix(#FF0000, #0000FF, grad);
return vec4(color, 1.0);
}
}

リソース

使用シナリオ

  • Makepad Graphics & Effects が自分のワークフローをカバーするか先に確認したい場合。

関連:consulting-pptx-skill、Document Skills。分類は skills。

コメント

まだコメントがありません。最初のコメントを投稿してください!