「MonoGameの3Dモデルを管理描画するクラスを作る」の版間の差分
imported>Administrator ページの作成:「MonoGameでの3Dモデルの「表示」について解説しているサイトは多数あるが、「回転」や「位置」について記述しているサイト...」 |
imported>Administrator 編集の要約なし |
||
| (同じ利用者による、間の2版が非表示) | |||
| 16行目: | 16行目: | ||
{ | { | ||
public static Dictionary<string, Model> ModelsCache = new Dictionary<string, Model>(); | public static Dictionary<string, Model> ModelsCache = new Dictionary<string, Model>(); | ||
public Game Game; | public Game Game; | ||
public Model Model; | public Model Model; | ||
public Matrix[] Bones; | public Matrix[] Bones; | ||
| 24行目: | 27行目: | ||
/// </summary> | /// </summary> | ||
public Vector3 Rotation; | public Vector3 Rotation; | ||
/// <summary> | /// <summary> | ||
/// 位置 | /// 位置 | ||
| 47行目: | 51行目: | ||
// BasicEffectの基本設定をDrawメソッドの中で毎回やるのは非常に無駄なので事前に設定しておく。 | // BasicEffectの基本設定をDrawメソッドの中で毎回やるのは非常に無駄なので事前に設定しておく。 | ||
// Androidでは実質的にGeometry | // Androidでは実質的にGeometry Instancingの様な技法が使えないのでDrawコールの軽量化は重要になる。 | ||
// (ジオメトリシェーダーに対応したOpenGL ES 3. | // (ジオメトリシェーダーに対応したOpenGL ES 3.2対応端末が広く普及するのは10年後だろう) | ||
// これだけでもショボいAndroid(F-04G)では300モデルでフレームレートが20%くらい違ってくる。 | // これだけでもショボいAndroid(F-04G)では300モデルでフレームレートが20%くらい違ってくる。 | ||
foreach (var mesh in this.Model.Meshes) | foreach (var mesh in this.Model.Meshes) | ||