Beispiel #1
0
        public void Dispose()
        {
            乗算差分?.Dispose();
            乗算差分 = null;

            加算差分?.Dispose();
            加算差分 = null;

            初期値?.Dispose();
            初期値 = null;

            テクスチャ?.Dispose();
            テクスチャ = null;

            スフィアマップ?.Dispose();
            スフィアマップ = null;

            トゥーンテクスチャ?.Dispose();
            トゥーンテクスチャ = null;
        }
Beispiel #2
0
        public static エフェクト用材質情報 作成する(IDrawable drawable, MMDFileParser.PMXModelParser.材質 material)
        {
            var info = new エフェクト用材質情報()
            {
                材質名         = material.材質名,
                材質名_英       = material.材質名_英,
                環境色         = new Vector4(material.環境色, 1f),
                拡散色         = material.拡散色,
                エッジ色        = material.エッジ色,
                放射色         = new Vector4(1f),
                地面影色        = drawable.地面影色,
                反射色         = new Vector4(material.反射色, 1f),
                反射係数        = material.反射強度,
                トゥーン色       = new Vector4(0f),
                エッジ幅        = material.エッジサイズ,
                エッジが有効である   = material.描画フラグ.HasFlag(描画フラグ.エッジ),
                地面影が有効である   = material.描画フラグ.HasFlag(描画フラグ.地面影),
                Line描画を使用する = material.描画フラグ.HasFlag(描画フラグ.Line描画),
                乗算差分        = new エフェクト用材質情報(),
                加算差分        = new エフェクト用材質情報(),
                テッセレーション係数  = 1.0f,
            };

            info.初期値 = new エフェクト用材質情報()
            {
                環境色   = new Vector4(material.環境色, 1f),
                拡散色   = material.拡散色,
                エッジ色  = material.エッジ色,
                放射色   = new Vector4(1f),
                地面影色  = drawable.地面影色,
                反射色   = new Vector4(material.反射色, 1f),
                反射係数  = material.反射強度,
                トゥーン色 = new Vector4(0f),
                エッジ幅  = material.エッジサイズ,
            };

            info._リセットする();

            return(info);
        }