SlimDXについて語ろうぜ
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2010/01/31(日) 10:41:21ID:uYVfFOYkhttp://slimdx.org/
日本語の解説
http://mainori-se.sakura.ne.jp/slimdxwiki/
SlimDX は、.NET Framework に対応した言語(C#、VB.NET など)を使って
DirectX アプリケーションを開発することができるオープンソースのライブラリ(DLL)です。
0128名前は開発中のものです。
2011/04/23(土) 18:42:03.05ID:0CpVWLj4普通は頂点に位置とかUVとかと一緒に法線ベクトルそのものが入ってるよ。
0129127
2011/04/23(土) 19:33:02.95ID:H3hA0vRVありがとうございます、法線ベクトルも取れました。
でも、せっかく取れた法線ベクトルですが、Xファイルから独自形式の(FVFで定義した)もので描画しようと思ったのですが、
法線ベクトルを頂点データに入れてもライティング効果がありませんでした。
struct VertexTex
{
public const VertexFormat Format = VertexFormat.Position | VertexFormat.Diffuse | VertexFormat.Normal;
public Vector3 Position; public int Color; public Vector3 Normal;
}
VertexTex[] vert = new VertexTex[N];
vert[n].Position = 取得した位置
vert[n].Color = 取得した色
vert[n].Normal = 取得した法線ベクトル
こんな感じで取得した情報をそのまま頂点バッファに入れています。
Xファイルから法線情報を引き継ぐにはどうしたらいいのですか?
0130名前は開発中のものです。
2011/04/23(土) 19:55:21.49ID:0CpVWLj4Mesh.FromFileで読み込んだMeshに、独自のVertexFormatを
後から定義したいということ?
とりあえず下の例ではXファイルから生成したMeshにNormal追加してるので参考に。
chsarpgamedev - Xファイルの描画
http://www21.atwiki.jp/csharpgamedev/pages/32.html
デバッガで法線ベクトルが正しそうな値が入っているのを確認して、かつ
固定パイプラインを使っての描画なら、ライトが正しく設定されているかを
確認したほうがいいかも。
シェーダ使ってるならシェーダ自体が間違ってる可能性も。
ちょっとこれだけでは様々な原因が推測されるので、Mesh.CreateTeapot使って
どうなるかとか、問題の切り分けが必要だと思われる。
0131127
2011/04/25(月) 10:49:59.48ID:xz94dpYm削除した所
//VertexFormat.Diffuse
//vert[n].Color = 取得した色
//public int Color
原因は、頂点データに色を付加してたからみたいです。
色は、別途マテリアルを適用させないといけなかったんですね。
0132名前は開発中のものです。
2011/04/26(火) 08:04:30.89ID:cWfiSBLoネイティブのDirectXとSlimDXの相関についてよく分かってなかったので検索しても把握できてなかった・・・
レベル低い話だけど、今後同じところで引っかかる人がいたときのために書いときます
つっこみ所あったら是非つっこんでください
@DebugViewダウンロード(VisualStudio Expressの場合。上位版は要らないらしい)
ADirectX SDKと一緒にインストールされるUtilitiesのDirectX ControlPanel起動
BDirectX 10.x/11タブのEdit Listにデバッグしたいプロジェクトのbin\Debug\フォルダあたりにある「.vshost.exe」拡張子のファイルを追加
CDebug LayerをForce On
DDebugView起動
EC# Expressで普通にビルド→DebugView確認
…でもWpfとSlimDX連携させたプロジェクトはこれでもちゃんとデバッグが出力されなかった…
なのでSlimDXのSampleを改造してデバッグ時に引っかかる問題の箇所だけ再現してデバッグしてます
0133名前は開発中のものです。
2011/05/16(月) 10:40:24.35ID:XD0rb09KObject of type SlimDX.Direct3D9.Mesh was not disposed. Stack trace of object creation:
・・・
Total of 11 objects still alive.
0134名前は開発中のものです。
2011/05/16(月) 10:52:18.79ID:vb2M0wfDDispose忘れ
0135133
2011/05/16(月) 11:28:05.55ID:XD0rb09Kありがとうございます。
0136名前は開発中のものです。
2011/05/16(月) 15:04:59.03ID:SgNiWRkk対応するDirectX再頒布パッケージが強制的に新しくなっちゃうから、
長らく更新してないわ……。
0137名前は開発中のものです。
2011/05/16(月) 22:48:14.86ID:pYSUjBPJImmediateContext.ComputeShaderにはSetMatrix()のようなメソッドがなく、
コンピュートシェーダの.hlslファイルからfx_5_0プロファイルで無理やりEffectを作ってそこに渡してもシェーダー側には渡っていないようです。
0138137
2011/05/16(月) 23:23:29.97ID:pYSUjBPJ0139名前は開発中のものです。
2011/05/20(金) 13:29:58.03ID:GMn5NHik0140名前は開発中のものです。
2011/07/11(月) 12:42:43.89ID:piNnRBf/PresentParameters pp = new PresentParameters()
{
BackBufferWidth = FormWidth, // フォームの幅と高さ
BackBufferHeight = FormHeight,
};
device.Reset(pp);
で実行したら、
D3DERR_INVALIDCALL: Invalid call (-2005530516)
というエラーが出ました。
ウィンドウモードでリサイズをするにはどうしたらいいのですか?
0141名前は開発中のものです。
2011/07/11(月) 14:51:54.45ID:ZpoF+bdPリソースの開放忘れ。
0143名前は開発中のものです。
2011/08/07(日) 18:11:18.22ID:XCPITJXM0144名前は開発中のものです。
2011/08/15(月) 13:06:42.87ID:dzreDaU2むしろVista以降をターゲットにした開発および開発環境整えた猛者はいますか?
0145名前は開発中のものです。
2011/08/16(火) 16:45:27.23ID:7U3gvwlZサポートされる範囲も多いし。
0146名前は開発中のものです。
2011/08/18(木) 14:49:10.00ID:u3BnXhrZ0147名前は開発中のものです。
2011/08/18(木) 16:52:55.02ID:Hrsxw23Eなぜ公式以外がアプデートする必要がある?
0148146
2011/08/18(木) 17:23:27.29ID:u3BnXhrZWeb上にslimdxで作成されたサンプルが無いのかなと思ったのです。
0149名前は開発中のものです。
2011/08/28(日) 15:01:11.18ID:EyimipZI付属のサンプルを動かそうとしたらInitializeDeviceの行のところで決まって
D3DERR_INVALIDCALL: Invalid call (-2005530516)やSEHExceptionのエラーが出るんですが
0150名前は開発中のものです。
2011/08/28(日) 15:56:23.92ID:QGmHgfHf0152名前は開発中のものです。
2011/09/03(土) 11:47:13.02ID:vPbwbx1g■ このスレッドは過去ログ倉庫に格納されています