コンテンツにスキップ

EffekseerDevice

描画デバイス

OpenGL(ES) コンテキストごとに 1 つ生成する。

メンバー一覧

コンストラクタ

プロパティ

メソッド


EffekseerDevice

コンストラクタ

引数

引数 既定値 説明
oglbase   GLGetProcAddress を保持するオブジェクト (GetProcAddress提供元)
以下のいずれかを指定できる:
- krkrgles プラグインの GLESAdaptor
- Window (本体組み込みの OpenGL 描画 = OGLDrawDevice を使う構成の場合)
※ 実装は渡されたオブジェクトの GLGetProcAddress プロパティを引くだけ。
OGLDrawDevice 自身はこのプロパティを持たないので Window を渡すこと
(threepp の GLRenderer に渡すものと同じ)
現在の OpenGL ES コンテキストに対して初期化される。
※コンテキストが current な状態で生成すること

解説

コンストラクタ


instanceMax

プロパティ \ アクセス: r/w

解説

読み出し専用


squareMaxCount

プロパティ \ アクセス: r/w

解説

読み出し専用


premultipliedAlpha

プロパティ \ アクセス: r/w

解説

乗算済みアルファで描画するか (既定 false)。

変更するとマネージャ/レンダラが作り直される (setCapacity と同じ注意)。


projectionMode

プロパティ \ アクセス: r/w

解説

投影モード

EffekseerDevice.EffekseerProjectionOrthographic … 平行投影 (既定) EffekseerDevice.EffekseerProjectionPerspective … 透視投影


frameRate

プロパティ \ アクセス: r/w

解説

進行の基準フレームレート (既定 60)。

progress(tick) / update(tick) のミリ秒をフレーム数へ換算するのに使う。


restorationOfStates

プロパティ \ アクセス: r/w

解説

描画前後で GL ステートを保存/復元するか (既定 true)。

吉里吉里や他プラグインの GL 描画と混在させる場合は true のままにする。


clearDepth

プロパティ \ アクセス: r/w

解説

onBeginScene で深度バッファをクリアするか (既定 true)

エフェクト側のノードで深度テスト(ZTest)が有効な場合、描画先の深度値と 比較される。吉里吉里が用意するオフスクリーンバッファは深度が未初期化の ことがあり (krkrgles の capture はカラーとステンシルしかクリアしない)、 そのままだとエフェクトが一切表示されない。 既定では毎フレーム 1.0 で初期化する。呼び出し側で深度を管理している 場合のみ false にする。


verbose

プロパティ \ アクセス: r/w

解説

資材のオープン結果や Effekseer の詳細ログを吉里吉里のログへ出す (既定 false)

テクスチャが見つからない等の切り分けに使う。


surfaceWidth

プロパティ \ アクセス: r/w

解説

読み出し専用: 最後の onBeginScene の幅


surfaceHeight

プロパティ \ アクセス: r/w

解説

読み出し専用: 同 高さ


totalInstanceCount

プロパティ \ アクセス: r/w

解説

読み出し専用: 全パーティクル数


drawCallCount

プロパティ \ アクセス: r/w

解説

読み出し専用: 直近のドローコール数


drawVertexCount

プロパティ \ アクセス: r/w

解説

読み出し専用: 直近の頂点数


deviceInfo

プロパティ \ アクセス: r/w

解説

読み出し専用: 設定値一式(辞書)


onBeginScene

メソッド

引数

引数 既定値 説明
width   描画対象の幅(ピクセル)
height   描画対象の高さ(ピクセル)
※生成時のコンテキストで呼び出すこと

解説

描画開始。投影行列を更新して Effekseer の描画を開始する。


onEndScene

メソッド

解説

描画終了。


update

メソッド

引数

引数 既定値 説明
tick   経過時間(ミリ秒)
プレイヤー個別に progress() する場合は呼ばなくてよい。

解説

全エフェクトをまとめて進行させる。


beginUpdate

メソッド

解説

プレイヤー個別進行のまとめ処理

多数の EffekseerPlayer.progress() を呼ぶ場合、beginUpdate()〜endUpdate() で囲むと内部のバッファ入れ替えが 1 回で済む。 device.beginUpdate(); for (...) players[i].progress(tick); device.endUpdate();


endUpdate

メソッド


onLostDevice

メソッド

解説

GLリソースの破棄/再構築 (コンテキスト喪失への対応)


onResetDevice

メソッド


stopAll

メソッド

解説

再生中の全エフェクトを停止する


setCapacity

メソッド

引数

引数 既定値 説明
instanceMax   同時に存在できるパーティクル数の上限 (既定 4000)
squareMaxCount   1描画あたりのスプライト数の上限 (既定 8192)

解説

内部バッファ容量を設定する。内部のマネージャ/レンダラが作り直されるため、

※エフェクト読み込み前・プレイヤー生成前に呼ぶこと。 既存の EffekseerEffect / EffekseerPlayer は無効化される。


setPerspective

メソッド

引数

引数 既定値 説明
fovDegree   垂直画角(度) 既定 45
znear   近クリップ面 既定 1
zfar   遠クリップ面 既定 10000
カメラは「Z=0 の平面で 1 ワールド単位 = 1 ピクセル」になる距離へ自動配置される。

解説

透視投影に切り替えてパラメータを設定する


setOrthographic

メソッド

引数

引数 既定値 説明
znear   近クリップ面
zfar   遠クリップ面

解説

平行投影に切り替えて奥行き範囲を設定する


setCamera

メソッド

引数

引数 既定値 説明
px  
py  
pz  
tx  
ty  
tz  

解説

カメラを手動配置する (配置と同じ画面中央原点のピクセル座標)

既定では原点 (画面中央) を正面から見る位置に自動配置される。


resetCamera

メソッド

解説

カメラを自動配置へ戻す


getGLError

メソッド

解説

直近の GL エラーコードを取得する (読み出すとクリアされる。0 ならエラーなし)