DirectX9テクスチャメモ

----------------------------------------

多分どっちも書いてある事は基本一緒

テクスチャ(固定機能パイプライン)
http://msdn.microsoft.com/ja-jp/library/cc373021.aspx

Direct3D のテクスチャー (Direct3D 9)
http://msdn.microsoft.com/ja-jp/library/ee417849(v=vs.85).aspx


----------------------------------------

テクセルからピクセルへの直接的なマッピング (Direct3D 9)
http://msdn.microsoft.com/ja-jp/library/bb219690(v=vs.85).aspx

テクスチャー アドレッシング モード
http://msdn.microsoft.com/ja-jp/library/cc373073.aspx

ミップマップによるテクスチャー フィルタリング (Direct3D 9)
http://msdn.microsoft.com/ja-jp/library/ee422498(v=VS.85).aspx

----------------------------------------

圧縮テクスチャー リソース (Direct3D 9)
http://msdn.microsoft.com/ja-jp/library/ee415203(v=vs.85).aspx

Direct3D のテクスチャー (Direct3D 9)
http://msdn.microsoft.com/ja-jp/library/ee417849(v=vs.85).aspx

基本的なテクスチャ処理の概念
http://msdn.microsoft.com/ja-jp/library/cc373072.aspx

----------------------------------------

DDS ファイル リファレンス
http://msdn.microsoft.com/ja-jp/library/cc372287.aspx

Moggさんのところ(DDSについて)
https://sites.google.com/site/moggproject/tips

圧縮テクスチャの使い方(主にDDS詳細)
http://msdn.microsoft.com/ja-jp/library/cc373051.aspx

----------------------------------------
以下雑談


MMMは画像のメモリが描画速度のネックになってるのは間違いないから
DDS使った方がいいのかも、かもだけど

あとtoonとかスフィアで小さい画像扱うときようにテクセル関連
とはいえtoonはもう左下だけの考慮でいいかぁ、一応ちゃんと塗ってはいるけど

DirectXテクスチャ基本
画像サイズは2の累乗で収める
500x500の場合512x512に「拡大して」展開される(隅っこに寄せられない)
その分のメモリが必要、拡大は色を補間された拡大(結局関係ないかも)
512x512ならそのまま512x512
550x550にすると1024x1024分のメモリが食われる、かなりの無駄
(各辺が倍になるとメモリ消費は4倍、その倍だと16倍)
グラボによって画像サイズが2の累乗x2の累乗でない場合に読み込めない可能性あり
(ただしMMD側で解決されてる可能性も、そういうグラボ持ってないから不明)
512x128とか縦横の比率は違ってもok(正方形の必要はない>MSDNに書いてある)

だったような気がする


MMMのセルフシャドウマップが3072x3072に出来るけど意味があるのか不明
4096x4096のマップを用意した上で3072x3072分書き込んでるのか
その場合余った分は寄せられてるのか拡大されてるのか
それともそもそも3072x3072領域分だけで処理されているのか
気にはなるけどモデルに関係ないのでとりあえず気にしない方向で

個人的にはシャドウボリュームが好きです、きっちり出るのがいいよね
MMMは設計として再現性あるんだから最後の一発だけびしっと
シャドウボリュームで出せるようにすれば時間も気にならないんじゃないのかな
でもそれにソフトシャドウ組み込んだりとかなると大変なのかな


よく言われるけど、MMDはお手軽動画作成ソフトなんだから~って言い分
「だから思ったとおりにすぐできると思ったらダメだよ」って言うのはわかる
たとえばpmdのスフィアは便利だけど球面の反射は出来ないし屈折とかも出来ない
でもMMEのおかげで潜在的に出来る事の幅はとても大きいし配布されてるものも多い
だから「お手軽ソフトなんだからこの程度の出来でいいや」って言う
考えは捨てた方がいい気がする
「とりあえず今の自分にはここまでしか出来ない」って考え方ならともかく
そういう人は「こういうことやりたいけどMMDだとこの辺が限界でしょ」となりがちなので
もっとがんばっていいと思う
新しい手法や表現をいろいろ考えてる人はすごいと思ってます
でもいい加減「沼が~」ってのは耳タコです


MMDユーザーって「なんか変だな」と思っても「ホントに変なのか」
「何でその変な状況になってるのか」を調べない人が多い
調べないから同じ状況で何度もあれ?あれ?って言ってる
ほとんどの場合、一度ちゃんと調べれば解決する事なのに
自分の勘違いかもしれないけどソフトの間違いかもしれない
少し調べれば同じケースにはまった人や解決法が出てくるかもしれない
とはいえどこで調べたらいいのかわからない人も多いと思う

とりあえずその関連で(ソフトのバグを視野に入れる場合)一番メジャーなのは
http://jbbs.livedoor.jp/music/23040/
したらば掲示板の各ソフト「不具合報告スレ」だと思います

「不具合検証スレ」みたいなのも各ソフトあって
バグだ!と騒ぐ前にまずそちらのログを合わせて漁ってみましょう
それでもわからない場合は先に検証スレで聞くのが良いと思います
不具合報告スレに書き込んでる人のほとんどは正直、調査、検証が甘いです
不具合とは言えない物が多すぎてホントの不具合が埋もれがちなので
ちゃんと検証スレで詰めてから報告するようにしたらいいと思います

MMDは樋口さんがそもそも閲覧できない状況が多い
MMMはMoggさんの場合、メールでの不具合報告を主に考えてるっぽいので
(配布ページで誘導はしてるけど)ここに書いてもすぐ解決される可能性は実は低いです
が、PmxEの場合、極北さんはわりと積極的にそのあたりチェックしてるっぽいので
他のツールと比べたら拾ってもらえる確率は高いと思います

報告する場合は自分の環境と起こった現象だけでなく
この手順で操作すると(出来れば確実に)再現できるという状況も
あると直してもらえる確立が跳ね上がると思います
現状の設定が絡んでる事もあるので一度まっさらな状態のソフトを用意して
一度手元でチェックしてからの情報が望ましいでしょうね
忘れがちですが「どういう動作が正しいのか」までしっかり示してあると
直すときの誤解が生じにくくなるので良いと思います


あとは単純な知識不足ですね

例えばたまに言われるモデルの顔に縦線が~ってのは多くの場合uvやミップマップのせいです
ミップマップのことが多いですが単純にuvが原因になっているときもあります
これはどちらが原因でも上記URLにある、テクセルからピクセルへのマッピング
テクスチャアドレッシングモードおよびミップマップの所を読めば原因と解決方法が見えてきます
ここで言う解決方法とはモデリングソフトなどがなくても出来るtexのわずかな修正です

これは本来モデラーさんが把握して対処しておく問題だと思いますが
ユーザーさんでも簡単に対処できるという典型的な例ですね~


MMDおよびDirectXの描画を利用した動画を作る場合は
このぐらいは抑えていると問題の対処が楽ですね~
たださらに細かいところは全部覚えていられないので、
やっぱりメモは必要になってきます

上記の情報、URLはモデル作成を進めてるときに気になって調べたりしたものだったりします