MFGドキュメント
Home
Getting Started
Reference
  • ja-JP
  • en-US
Home
Getting Started
Reference
  • ja-JP
  • en-US
  • MEP 3: パラメータ

MEP 3: パラメータ

  • Created: 2022-09-07 10:38:48
  • Updated: 2025-5-14 23:55:00

フィルタの入出力のパラメータは、アトリビュートの一種として、以下のように記述する。

@param_f32 radius(SLIDER, label="半径", min=0.5, max=300.0, init=3.0)
@param_f32 angle(DIRECTION, init=10.0)
@param_i32 MOSAIC_WIDTH(SLIDER, label="幅", min=1, max=100, init=10)
@param_pos ORIGIN(POINTER, label="中心")

これらの記述で、UIに対応するウィジェットが表示されて、ユーザーからの入力を受け取る事が出来る。

MFGスクリプトとしては変数として見える。

コンストラクタ的シンタックスで、種別のあとに名前つき引数、というシンタックスになる。 種別や最初の@param_xxxの組み合わせで引数が変わってくる。

MFGとしては@param_xxxのあとの識別子を変数として扱う。

radiusはf32の変数、angleもf32の変数、MOSAIC_WIDTHはi32の変数として見える。 ORIGINはf32の2次元ベクトルとして使える。

@paramの種類

@param_XXXは以下の三種類がある。

  • @param_i32
  • @param_f32
  • @param_pos

それぞれあとに続く変数がi32, f32, f32の2次元ベクトルとなる。

また、次のwidgetのタイプはこのparamとの組み合わせで許されるものが決まっている(後述)。

widgetの種類

widgetは以下の種類がある

  • SLIDER
  • DIRECTION
  • CHECKBOX
  • POINTER

それぞれ許される引数が変わってくる。

SLIDERウィジェット

数値を選ぶスライダー。

@param_i32と@param_f32で使えるウィジェット。

例:

@param_f32 radius(SLIDER, label="半径", min=0.5, max=300.0, init=3.0)

引数*

  • label: スライダーの横に表示されるラベル。文字列。
  • min: スライダーの最小値。@param_i32のときはi32で、@param_f32のときはf32で指定する(以下同様)
  • max: スライダーの最大値。
  • init: スライダーの初期値。

DIRECTION

向きを選ぶウィジェット。 @param_f32で使える。

結果は0.0〜3.1415... のf32のラジアン。

例:

@param_f32 angle(DIRECTION, init=10.0)

引数*

  • init: ウィジェットの向きの初期値。ラジアンで指定。

CHECKBOX

チェックボックスのウィジェット。 @param_i32で使える。

結果は0か1のi32。

例:

@param_i32 show_edge(CHECKBOX, label="エッジの表示", init=0)

引数*

  • label: チェックボックスに表示されるラベル
  • init: チェックボックスの初期値。0で非チェック、1でチェック状態から始まる

POINTER

キャンバス内の位置を指定する。結果はf32の2次元ベクトルで、0.0〜1.0で返る。

@param_posで使える。

例:

@param_pos ORIGIN(POINTER, label="中心")

引数:

  • label: 位置を選ぶウィジェットの上に表示されるラベル。文字列。

国際化

> MEP 19: paramの国際化

最終更新: 2025/11/20 15:14
Contributors: Kazuma Arino