protected virtual オブジェクト用エフェクト管理 エフェクト管理を初期化して返す() { var effectManager = new オブジェクト用エフェクト管理(); var defaultEffect = エフェクト.リソースをエフェクトとして読み込む(エフェクト.既定のシェーダのリソースパス, this, this.サブリソースローダー); effectManager.エフェクトをマスタリストに登録する(エフェクト.既定のシェーダのリソースパス, defaultEffect, これを既定のエフェクトに指定する: true); return(effectManager); }
public void モデルを初期化する() { var sw = new Stopwatch(); sw.Start(); // 読み込み時間の計測開始 if (!_初期化済み) { // PMXファイルからのPMXモデルの読み込み → しない // シェーダーの読み込み トゥーン管理.初期化する(サブリソースローダー); サブセット管理.初期化する(トゥーン管理, サブリソースローダー); サブセット用エフェクト管理 = エフェクト管理を初期化して返す(); // サブセット管理より後。 // 定数バッファ _ZPlotPass = サブセット用エフェクト管理.既定のエフェクト.D3DEffect.GetTechniqueByIndex(1).GetPassByIndex(0); バッファ管理を初期化する(); // スキニング スキニング = スキニングを初期化して返す(); // モーフ管理 モーフ管理 = new PMXモーフ管理(this); _初期化済み = true; } // モーション管理 モーション管理 = モーション管理を初期化して返す(); // その他 その他の初期化(RenderContext.Instance.DeviceManager.D3DDevice); sw.Stop(); // 読み込み時間の計測終了 Trace.WriteLine(sw.ElapsedMilliseconds + "ms"); // 読み込みにかかった時間をログ表示 }
public virtual void Dispose() { サブセット用エフェクト管理?.Dispose(); サブセット用エフェクト管理 = null; バッファ管理?.Dispose(); バッファ管理 = null; トゥーン管理?.Dispose(); トゥーン管理 = null; サブセット管理?.Dispose(); サブセット管理 = null; }