public int トゥーンを追加で読み込み現在の最後のトゥーンインデックスを返す(string path) { using (Stream stream = _サブリソースローダー.リソースのストリームを返す(path)) { if (stream == null) { return(0); } _シェーダーリソースビューのリスト.Add(MMFShaderResourceView.FromStream(RenderContext.Instance.DeviceManager.D3DDevice, stream)); return(_シェーダーリソースビューのリスト.Count - 1); } }
public void 初期化する(サブリソースローダー subresourceLoader) { _サブリソースローダー = subresourceLoader; // toom0.bmp ~ toom10.bmp を読み込む。 for (int i = 0; i <= 10; i++) { string path = Path.Combine(CGHelper.Toonリソースフォルダ + $"toon{i}.bmp"); if (File.Exists(path)) { _シェーダーリソースビューのリスト.Add(MMFShaderResourceView.FromFile(RenderContext.Instance.DeviceManager.D3DDevice, path)); } else { // プリセットのはずのファイルがないファイルがない Debug.WriteLine($"toom{i}.bmp が存在しません。無視します。"); } } }
private ShaderResourceView _サブリソースを検索して返す(string name) { if (_テクスチャキャッシュ.ContainsKey(name)) { return(_テクスチャキャッシュ[name]); } using (Stream stream = _サブリソースローダー.リソースのストリームを返す(name)) { var texture = (ShaderResourceView)null; if (stream != null) { texture = MMFShaderResourceView.FromStream(RenderContext.Instance.DeviceManager.D3DDevice, stream, out Texture2D textureResource); _テクスチャキャッシュ.Add(name, texture); _テクスチャリソースキャッシュ.Add(name, textureResource); } return(texture); } }