コード例 #1
0
ファイル: PMXModel.cs プロジェクト: superowner/MikuMikuFlex
        protected virtual オブジェクト用エフェクト管理 エフェクト管理を初期化して返す()
        {
            var effectManager = new オブジェクト用エフェクト管理();

            var defaultEffect = エフェクト.リソースをエフェクトとして読み込む(エフェクト.既定のシェーダのリソースパス, this, this.サブリソースローダー);

            effectManager.エフェクトをマスタリストに登録する(エフェクト.既定のシェーダのリソースパス, defaultEffect, これを既定のエフェクトに指定する: true);

            return(effectManager);
        }
コード例 #2
0
ファイル: PMXModel.cs プロジェクト: superowner/MikuMikuFlex
        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"); // 読み込みにかかった時間をログ表示
        }
コード例 #3
0
ファイル: PMXModel.cs プロジェクト: superowner/MikuMikuFlex
        public virtual void Dispose()
        {
            サブセット用エフェクト管理?.Dispose();
            サブセット用エフェクト管理 = null;

            バッファ管理?.Dispose();
            バッファ管理 = null;

            トゥーン管理?.Dispose();
            トゥーン管理 = null;

            サブセット管理?.Dispose();
            サブセット管理 = null;
        }