[過去ログ]
SlimDXについて語ろうぜ (197レス)
SlimDXについて語ろうぜ http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
10: 名前は開発中のものです。 [sage] 2010/02/02(火) 18:05:14 ID:6T1hs+2r SampleFrameworkはXNA触った人がやるには入りやすい http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/10
11: 名前は開発中のものです。 [sage] 2010/02/02(火) 18:14:57 ID:C8VPblcf .NETでDirectXをやるならXNA、Managed DirectX、Windows API Code Packと他にも色々ある。 SlimDXは立場的に微妙な気がするけど実際どうなの? http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/11
12: 名前は開発中のものです。 [さ] 2010/02/02(火) 18:20:31 ID:+lJWZMUB >>11 Windows API Code PackはVistaや7移行でないと使えないからね XNAは3Dがややこしい、DirectXのMesh.DrawSubsetが使えないのが辛い その上effectの記述も面倒だし 何だかんだでSlimDXは使い易いよ オープンソースなのにMDX以上に安定してるし http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/12
13: 名前は開発中のものです。 [sage] 2010/02/02(火) 19:14:58 ID:C8VPblcf SlimDXを使ったゲームやアプリケーションで有名なものって何があるんでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/13
14: 名前は開発中のものです。 [sage] 2010/02/03(水) 01:17:47 ID:SBy6WAi8 有名なものはぶっちゃけ無いよ。 不安をぬぐいたいならソースでも読んで見れば? MDXやCode Packを使うよりはマシだと思えるようになるから。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/14
15: 名前は開発中のものです。 [さ] 2010/02/03(水) 02:00:18 ID:g/HVJ6AF これからSlimDXで同人ゲー作って有名になりたいとこだ MDXも長いこと使ってたけど不具合目立つ もっと簡単にゲーム作りたいならDarkGDK(.NET版)もある、有料だけど 暇あったら手を出そうかなんて思ったり http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/15
16: 名前は開発中のものです。 [] 2010/02/03(水) 06:46:28 ID:hKhRhaG2 おとといからslimSDKをいじくり回してたんだけど 俺の作りたいゲームが作れそうなメドがたったから 移行しようと思う これかなり良いよ http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/16
17: 名前は開発中のものです。 [sage] 2010/02/03(水) 21:24:28 ID:y42hZeU6 良いんだけどDirectInputだけが糞なんだよなあ http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/17
18: 名前は開発中のものです。 [さ] 2010/02/03(水) 23:32:46 ID:g/HVJ6AF >>17 基本的にMDXと同じ機能が使えるけど JoyStick初期化のとき、ゲームパッド刺さっていないとエラーになったりするのが辛い 後バージョン上がる度にDirectInput部分だけクラス名・メソッド・プロパティ名が変わったりするから 少々困惑させられる、他はほとんど名前固定で変更ないのに 次のバージョンではもう変えないで欲しい http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/18
19: 名前は開発中のものです。 [sage] 2010/02/07(日) 13:43:07 ID:NXDiksat 今月DirectX SDKの最新が出たんで近いうちSlimDXも対応版が出ると思う。 それでどうなってるかだねえ http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/19
20: 名前は開発中のものです。 [] 2010/02/09(火) 18:28:57 ID:rOpCrrSS Direct3Dでは頂点の構造体すら用意されてないくらいなのに SlimDX.DirectInput.SoccerOffenseControlsとか頭おかしいとしか思えない どこがslimなのかと http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/20
21: 名前は開発中のものです。 [sage] 2010/02/13(土) 10:00:53 ID:gk9dzd2/ スレ発見&応援で SlimDX関連 いろいろ http://code.google.com/hosting/search?q=label%3ASlimDX&projectsearch=Search+projects 視差遮蔽マッピング ( Parallax Occlusion Mapping ) http://jldoty.com/geek/mdx_pom/MDX_POM.html ↑がよくわからん奴は 3Dグラフィックス・マニアックス 18 バンプマッピングの先にあるもの(2)〜視差遮蔽マッピング http://journal.mycom.co.jp/column/graphics/018/index.html つうかこのコラム一通りみれ http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/21
22: 名前は開発中のものです。 [] 2010/02/13(土) 10:24:19 ID:mqqbM8pa 半透明処理の方法を教えてほしいっす http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/22
23: 名前は開発中のものです。 [sage] 2010/02/13(土) 11:39:39 ID:gk9dzd2/ Samples ソリューションの中の Direct3D9の Water の WaterEntity.cs の59行目、 device.SetRenderState(RenderState.AlphaBlendEnable, true); んで、67行目 末尾がfalseになっとるな? アルファブレンドを有効にして、描画、アルファブレンド無効としてるわけだ http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/23
24: 名前は開発中のものです。 [sage] 2010/02/16(火) 06:28:27 ID:lwpkWEcJ ほんたまさんのスリムドカンのスレかと思った http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/24
25: 名前は開発中のものです。 [] 2010/02/25(木) 19:31:57 ID:F3d7kXlA PresentParameters.Windowed=falseからPresentParameters.Windowed=trueに切り替えると ウィンドウが最大化されるのはなんで? FormのLocationもSizeもWindowStateもFormBorderStyleもウィンドウ時と変わらないのに(なので当然サイズ変えても意味なし) http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/25
26: 名前は開発中のものです。 [sage] 2010/03/03(水) 19:09:28 ID:kC+oOCRK >>25 MDXの話で申し訳ないが、MDXならば勝手にTopMostとFormBorderStyleとClientSizeは変わってるよ。 多分ネイティブのDirectXがそうなってるんじゃないのか? http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/26
27: 名前は開発中のものです。 [sage] 2010/03/09(火) 11:14:28 ID:/qSOVn5X Developer SDKだけDLすればDirectXSDKは不要ですか? 参照の追加にSlimDXだけ追加すれば使えそうに書いてあるけど SDKもバージョンあわせなきゃいけないってのも>>1の日本語解説に書いてある あとMicrosoft .NET Framework 2.0 SDK以降も必要? 32bitマシンだしD3D9以上のこと使わないなら不要でしょうか? どちらも500M近くあって気が遠くなる・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/27
28: 名前は開発中のものです。 [sage] 2010/03/09(火) 21:08:29 ID:SHDHNGTO .NET Framework SDKはVSExpressがあれば不要 DirectX SDKは必須ではないけどいずれサンプルを見るために確実に必要になる C++のサンプルしかないけど読むくらいはできないときつい http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/28
29: 名前は開発中のものです。 [sage] 2010/03/14(日) 09:10:06 ID:Ob77Xb8B これ使ったエロゲがでたな http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/29
30: 名前は開発中のものです。 [sage] 2010/03/18(木) 19:02:29 ID:sAIb3WQr SampleにWPFを使う為のフレームワークあったのね 自分で作ったのより使いやすそうだわ http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/30
31: 名前は開発中のものです。 [sage] 2010/03/21(日) 20:18:08 ID:CzRwkR6A >>27 SlimDXの再頒布パッケージは完全なDirectX再頒布パッケージを 収録してない嘘パッケージであることに注意。 インスコ直後のXPにこれ入れてもゲームは動かんぞ。 28の言うようにサンプルはC++で書かれているからそれを逐一C#に移植していくことになる。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/31
32: 名前は開発中のものです。 [sage] 2010/03/21(日) 20:21:40 ID:CzRwkR6A >>30 Direct3DでレンダリングかけてるというWPFとSlimDXの組み合わせは一番面白そうだよな。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/32
33: 名前は開発中のものです。 [sage] 2010/03/21(日) 20:57:09 ID:BNf6aD+I 実際には組み合わせられないのが残念 別々に動かしてサーフェス転送してるだけ コントロールのウィンドウハンドル取れるWinFormsの方がまだ親和性は高い http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/33
34: 名前は開発中のものです。 [] 2010/05/14(金) 15:50:38 ID:Agn9QNYG http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/34
35: 名前は開発中のものです。 [] 2010/10/09(土) 21:42:28 ID:nr26u1G7 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/35
36: 名前は開発中のものです。 [] 2010/10/23(土) 17:36:44 ID:dH4nrlFp SlimDXでDirectX初めてやってるんだけどいいねコレ。 今はHLSLでシェーダを触り始めた辺り。 しかし、2Dゲーの為に苦労してるなぁ〜…って思うw GPU! GPU! GPU! http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/36
37: 名前は開発中のものです。 [sage] 2010/10/23(土) 17:41:32 ID:dH4nrlFp 俺が使いたいのはピクセルシェーダなんだよぅ、おぅ http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/37
38: 名前は開発中のものです。 [sage] 2010/10/23(土) 19:02:57 ID:NYvWtI7E 2005は対象外かよー http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/38
39: 名前は開発中のものです。 [sage] 2010/10/23(土) 21:01:27 ID:dH4nrlFp ソースのコンパイルの話っすか http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/39
40: 名前は開発中のものです。 [] 2010/10/24(日) 14:49:27 ID:41k51lwY 頂点変換済みの板ポリをウィンドウのクライアント領域に描画して、 それをHLSLで弄るスケルトンがようやく完成したぜ… in D3D9 今度はピクセルシェーダでテスクチャにモザイクかけてみるよ(よ!) GPU! GPU! GPU! http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/40
41: 名前は開発中のものです。 [sage] 2010/10/24(日) 16:07:26 ID:0z3YDA8C そんなもんC++やXNAのサンプルでいくらでもあるじゃん だいたいそのまま移植すればいいだけ http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/41
42: 名前は開発中のものです。 [] 2010/10/24(日) 16:39:37 ID:41k51lwY >>41 ちょうどXNAのを拾って読んでる所w 理屈で考えたら移植で動く筈なんですよね 勉強がてら中身の理解も進めます http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/42
43: 名前は開発中のものです。 [sage] 2010/10/24(日) 16:49:12 ID:0z3YDA8C 2次元エフェクトならWindows Presentation Foundation Pixel Shader Effects Libraryがお勧め 一通りまとまっててWPF使わなくても参考になる http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/43
44: 名前は開発中のものです。 [sage] 2010/10/24(日) 17:13:50 ID:41k51lwY >>43 thx! まさにそれ落として読んでましたw サンプル動画も見たんですが、どう考えても宝の山ですww ただHLSLの基本がまだまだなので理解力がヤバイですorz ティーカップの人の本を買って熟読するしかないですね。 P.S. SlimDXの2DゲームエンジンってGorgonってのしかなさそうですね。 まぁ、自分用の作るから別にいいんですが、参考にしてみようかと。 SDL.netのスプライト周りが面白かったんで、その変も参考にしたいですね。 つーかGorgonはWin7(x64)だと何故かインストールで弾かれるw .Net3.5は最初から入ってる筈なのにインストーラーが馬鹿なのかな? だからあれほどzipでくれと言ってるのに。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/44
45: 名前は開発中のものです。 [] 2010/11/13(土) 09:04:43 ID:snFVsDxl TextLayoyt:SetDrawingEffect()に渡すIClientDrawingEffectの実装の仕方がさっぱりわからん C#での実装の仕方を教えてほしい http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/45
46: 名前は開発中のものです。 [sage] 2010/11/13(土) 12:26:45 ID:qup/FXee DirectWrite使ったことないけど見てみたらComPointerに吹いた COMのIDWriteTextRendererをC#のCOM相互運用で実装して返せばいいのかな できなくはないんだろうけど俺には無理というかやりたくない http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/46
47: 名前は開発中のものです。 [sage] 2010/11/14(日) 13:07:09 ID:VAytE0MM TextLayoutでクラスを実体化させたあとGetDrawingEffect()で取り出せる。(嘘) http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/47
48: 名前は開発中のものです。 [] 2010/12/15(水) 17:22:05 ID:W0ff0zj1 visualstudio2010でslimdxsamplesのSimpleModel10をデバッグすると DXGI_ERROR_UNSUPPORTEDって出て途中で止まるんだけど理由わかりますか? http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/48
49: 名前は開発中のものです。 [sage] 2010/12/15(水) 17:31:36 ID:D5FJhaCt >>48 ハードウェアがサポートしてないから。 ただ、サポートしてないと言っても色々あって、 プログラムが必要としてない機能をデバイスに要求してて失敗してるだけなら、 それを外すことで他の部分は動かせるようになる。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/49
50: 名前は開発中のものです。 [] 2010/12/15(水) 21:24:32 ID:q2iTm1kx >>49 やっぱりハードの問題だったか。 ありがとうございます http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/50
51: 名前は開発中のものです。 [sage] 2010/12/18(土) 01:42:46 ID:4XOJBpRQ SlimDX使ってる人少ないなぁ。 やっぱりC#でDirectX使うのは少数派なんだろうな。 MicrosoftはなぜDirectXサポートを止めたのだろうか。 無理矢理XNAに引きずり込みたかったのだろうけど。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/51
52: 名前は開発中のものです。 [sage] 2010/12/18(土) 09:57:31 ID:JWorHuxc DirectX生で使うような人の多くは速度やらGCやらでC#は避けるんだろうなぁ あとドキュメントもほぼ全てC/C++向けに書かれてるし。 まぁ何だかんだ言ってC#の手軽さとXNAはよくあってると思う。 MSが作ってるだけあってよく作り込まれたフレームワークだし。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/52
53: 名前は開発中のものです。 [sage] 2010/12/18(土) 11:43:06 ID:NqdLgtTb 悪い意味で他にライバルが居ないんだよな C++は別格としても、それ以外ではC#のほかに現実的な選択肢が無い http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/53
54: 名前は開発中のものです。 [sage] 2010/12/18(土) 20:11:14 ID:4XOJBpRQ やっぱりC++が現実的だよね。 DX10以降になればWindows API Code Packが使えるのかな。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/54
55: 名前は開発中のものです。 [sage] 2010/12/18(土) 21:50:41 ID:K2tyzowz 俺はアプリやゲーム自体はC++で作りたいんだけど エディタとかは簡単にC#で作りたいんだよね そこで困るんだよなぁ DirectXを使用しないC#なんて描画が遅くて話にならないし 使うにしても現状XNAしか選択肢が無いけれどXBOXの仕様にひっぱられて DirectX9までの中途半端な物しか使えない やっぱりC#から普通にDirectXを呼び出せるManagedDirectXの存在は 必須だったと思うんだが、なぜ開発をやめてしまったのか・・・ だからSlimDXには超期待している http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/55
56: 名前は開発中のものです。 [sage] 2010/12/18(土) 21:53:45 ID:JWorHuxc エディタなら配布のこともあまり考えなくて良いからSlimDXは良い選択だと思う http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/56
57: 名前は開発中のものです。 [sage] 2010/12/18(土) 22:23:40 ID:4XOJBpRQ けどC#+SlimDXだと、DirectX+Net Framework+SlimDXが必要だからね。 SlimDxは添付できるし、DirectXもNet FrameworkもXP以降は最初から入って いるけど、今の最新にする場合はやっぱりインスコ必要だし。 そこが一番面倒なとこ。 SlimDxはDirectXの薄いラッパーだから、変に集約してなくて使いやすいので 選択肢としてはいいとは思う。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/57
58: 名前は開発中のものです。 [sage] 2010/12/18(土) 22:56:19 ID:5bWq6Od2 まあD言語とかの選択肢がないではないけどな。 WPFとの組み合わせが確立できるといいんだけどなぁ。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/58
59: 名前は開発中のものです。 [sage] 2010/12/18(土) 23:58:01 ID:4XOJBpRQ WPFはゲームには使えないだろ。 ブラウザゲー程度かと。 D言語は昨日サイト見てたけど、言語仕様がガラパゴスな感じ だったね http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/59
60: 名前は開発中のものです。 [sage] 2010/12/19(日) 09:49:54 ID:+uUW/+wM D言語って言語仕様だけ見ればかなり良い言語だと思うんだけど。 基本はC系だしガラパゴスな感じってのがよく分からん。 ただ、これでゲーム作るとなるとC#なんて目じゃ無いぐらいドキュメントが少ないっていう。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/60
61: 名前は開発中のものです。 [sage] 2010/12/19(日) 14:39:17 ID:tZJ4XwZS Dは互換性のない言語仕様変更をしょっちゅうやってるから実用言語としては話にならない C#も言語仕様は拡張しまくってるけど、MSだから上位互換は絶対に保たれる http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/61
62: 名前は開発中のものです。 [sage] 2010/12/19(日) 14:55:42 ID:tl1Xfhrg >>61 D言語ってそんなに互換性のない仕様変更多いのか。 自作ゲームで採用するのを見送ってよかったぜ。 >>60 基本C系だけど、色んな言語のいろいろな機能を取り込んでいるから 機能多すぎと言った方がいいかもしれない。 まあ、基本だけ覚えて後は使わなければいいのだけど、それだとD言語 をわざわざ選択する必要はないし、ある機能を使ってこそ意味があると 思う。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/62
63: 名前は開発中のものです。 [sage] 2010/12/19(日) 16:50:41 ID:+uUW/+wM なんかD言語スレ見たくなってしまったなw http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/63
64: 名前は開発中のものです。 [sage] 2010/12/19(日) 17:15:07 ID:tl1Xfhrg あー、変な話降ってすまない。 元のSlimDXの話をどうぞ。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/64
65: 名前は開発中のものです。 [sage] 2010/12/19(日) 19:59:21 ID:oIwD3nP1 優越決まっても、別に最初から最後まで それしか知らないそればかり使えない事は無い ゲハ板の住人でもあるまいし C言語わかってもDirectX SDKのDXUT読める奴はそう居ない シェーダーとか使いこなせるようになるまでは C#でもDでもいいんじゃないか http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/65
66: 名前は開発中のものです。 [sage] 2010/12/19(日) 20:34:24 ID:+uUW/+wM むしろシェーダーとか使うようになるまでが言語の差が出てくると思うんだが 3Dの基礎はどの言語でも変わらない訳だし http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/66
67: 名前は開発中のものです。 [sage] 2010/12/19(日) 21:34:42 ID:oIwD3nP1 曖昧な書き方して、意味を取り違えられたかな? CやC++で初めるのは良いよ 後々PIXを使えないと死ぬので、どのみちCヘッダーぐらい 読め無いと生き残れない だけど、DXUTをガチで相手したら駄目 Cがこういう糞言語という訳でない http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/67
68: 名前は開発中のものです。 [sage] 2010/12/19(日) 22:36:29 ID:EYwGO04p DXUTはそれ自体が大規模化しちゃって、 DirectX(3D)の使い方を調べるのはやや不向きになっちゃってるのが残念だよね。 その点はSlimDXのサンプルのほうが簡潔で分かりやすい。 そいや、C#でプリミティブのVertexBuffer用のデータを作成するのって 皆はどうやってる? やっぱりstructを定義して1個ずつインスタンスを初期化していくんですかね。 この部分、ジェネリックがうまいこと動かずにすごく苦労する。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/68
69: 名前は開発中のものです。 [sage] 2010/12/19(日) 22:48:47 ID:2VEpyIA3 unsafeでポインタ使いまくり SlimDXなんか使ってる時点で安全性なんか関係ない http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/69
70: 名前は開発中のものです。 [sage] 2010/12/20(月) 22:37:09 ID:YK+Rc81C ポインタ使いまくりなら最初からC++でやればいい気がするが? http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/70
71: 名前は開発中のものです。 [sage] 2010/12/20(月) 23:00:57 ID:Ml895Bvs なんでそういう極論になるかな。 速度的にクリティカルなところとか、どうしても低レベルな処理をしたいところはあるだろ。 そういう箇所って言うのは一般にはほんの一部なんで、 そこのためだけに面倒なC++を使う必要がないのは大きなメリット。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/71
72: 名前は開発中のものです。 [sage] 2010/12/21(火) 00:32:03 ID:N/+0RCBN ところで結構作り進めて今更気がついた。 DirectX9でのロスト対策がどうしようもないんだけどどうすればいい? Device.Resetかけた時点でInvalidCallを吐き出して進まん・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/72
73: 名前は開発中のものです。 [sage] 2010/12/21(火) 01:17:54 ID:FsRX6CKW >>72 Direct3D9以前のデバイスロスト対策は、それはもう大変なんだよ。 今からやるならおすすめしないね。 仕事上、どうしてもやらないとというなら頑張れ。 >>69-71 ちょっと違うんだな。VertexBufferは速度面に問題があるのではなくて、 ジェネリックが使えない部分で困ってるんだよ。 C++のように何でもかんでもテンプレート化ということはできないから。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/73
74: 名前は開発中のものです。 [sage] 2010/12/21(火) 05:58:42 ID:UFi6vgUK わからん。専用のstruct定義して配列流しこむ以外に何かあるの? もしかしてC++でいうTMPとか駆使してFVFや頂点宣言を自動で解決したいとかいう話? http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/74
75: 名前は開発中のものです。 [sage] 2010/12/21(火) 08:52:18 ID:FsRX6CKW >>74 MemoryStreamにバイト単位で書き込んでいく方法もある。 どうもこのあたりの部分をジェネリックでうまく一般化出来ないんだよね。 C#相談室あたりで質問したけど無理、という結論になったことが。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/75
76: 名前は開発中のものです。 [] 2010/12/21(火) 10:07:33 ID:IUyb5141 なんだコイツ? 会話する気が無いのか? VertexBufferの作成やSetFVFが簡単にできる C++の構文で、C#にはできないのはな〜だ? ってwなぞなぞかよw 聞きかじった知識があるだけで、何も理解してない だろコレ http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/76
77: 名前は開発中のものです。 [sage] 2010/12/21(火) 11:45:06 ID:FsRX6CKW >>76 書かれてるレスをなぞなぞ呼ばわりしてるんだったら、 理解してないのはお前じゃないか。 SlimDXはC#でDirectXを扱えるようになる便利なライブラリだが、 VertexBufferのフォーマットを色々と弄りたい時に C#の文法上の制限から扱いにくい場合があるという話をしているだけ。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/77
78: 名前は開発中のものです。 [sage] 2010/12/21(火) 11:59:41 ID:IUyb5141 じゃあ、C++文法上だとどんな書き方ができる? http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/78
79: 名前は開発中のものです。 [sage] 2010/12/21(火) 13:40:09 ID:589aNUur 頂点扱うメソッドやクラスはなんでもかんでも<TVertex>と書きたいということ? インターフェイス使って interface IPosition3D { Vector3 Position3D { get; set; } } interface ITexCoord2D { Vector2 TexCoord2D { get; set; } } where TVertex : struct, IPosition3D, ITexCoord2D みたいな感じで可能 構造体の場合は実行時に特殊化されるのでインターフェイス経由のメンバアクセスでもボックス化は発生しないけど プロパティ経由だからインライン展開されたとしてもコピーは消えないのでどうしても遅くなるのは仕方ない MemoryStreamとか使っていい程度なんだったら別に問題にはならんでしょ http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/79
80: 名前は開発中のものです。 [] 2010/12/21(火) 14:33:36 ID:IUyb5141 ガキはほっといて、C#のメタプログラミングで VertexDeclarationの自動化を解決させちまおうぜ C++の静的じゃなくて、AttributeとReflectorを使った動的メタプログラミング 定義部 struct HOGEVertex { [VertexElement(type = DeclarationType.D3DDECLTYPE_FLOAT3 ,usage = Decl arationUsage.D3DDECLUSAGE_POSITION)] Vector3 Position; [VertexElement(type = DeclarationType.D3DDECLTYPE_FLOAT2 ,usage = Decl arationUsage.D3DDECLUSAGE_TEXCOORD)] Vector2 UV; ... 読み込み部 VertexElement[] ReadFVFAttribute<T>() where T : struct { var vertexElements = new List<VertexElement>(); foreach(var fi in typeof(T).GetFields()) { foreach(var attr in fi.GetType().GetCustomAttributes(false)) { if (attr.GetType() == typeof(VertexElementAttribute) ) vertexElements.add(new 略); ... result = vertexElements.ToArray(); } http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/80
81: 名前は開発中のものです。 [sage] 2010/12/21(火) 15:10:37 ID:FsRX6CKW >>80 なんじゃこりゃw すごい動的なコードだなぁ。 VertexBuilder的なクラスの階層でジェネリックにすればいいのかなと 思って色々試したんだけど、うまくいかなかったんだよね。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/81
82: 名前は開発中のものです。 [sage] 2010/12/21(火) 16:03:41 ID:589aNUur それだったら別にリフレクションなんか使わなくても VertexElement[]を返すプロパティを宣言したインターフェイスをHOGEVertexに実装させて whereで要求すればいいだけじゃないの? http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/82
83: 名前は開発中のものです。 [sage] 2010/12/21(火) 16:08:34 ID:IUyb5141 それC++でやってたソースみた事あんのか? なんだかな C++もC#も知らない その自分が未熟なことも知らない しまいには人を見下すだけで会話もできない http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/83
84: 名前は開発中のものです。 [sage] 2010/12/21(火) 16:10:35 ID:IUyb5141 >>82 うん 俺もこんなの使って無い http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/84
85: 82 [sage] 2010/12/21(火) 16:15:24 ID:589aNUur 直接関係ないけどGetCustomAttributesがフィールドの宣言順に返ってくる保証は無いよ。 順番が保証されてるフィールド情報の列挙方法はリフレクションAPIには無いので、 VertexElement属性には明示的にインデックスを付ける必要がある。 どうせリフレクション使うんだったら、staticプロパティとしてVertexElement[]を返すプロパティを定義してしまって そっちに属性を付けた方がいいかもしれない。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/85
86: 名前は開発中のものです。 [sage] 2010/12/21(火) 17:09:39 ID:IUyb5141 >>85 >宣言順に返ってくる保証は無いよ 本番では使って無くてよかったw 後の継承設計を考えると、staticなVertexDeclarationを 渡す、IVertexDeclarationProvider{ GetDeclaration(); }じゃないかな。 たぶん、みんなこういうことしてるのではないかなぁ DrawableObj<T> where T: struct , IVertexDeclarationProvider { Draw() //毎フレーム { gd.VertexFormat(T.GetDeclaration()); vb.SetData(T_array); } } class HogeEffectedObj : DrawableObj<HogeVertexA> リフレクション使うとしたら、ゲーム開始やLoading中に、 プロジェクト中のstaticな要素をパラメータ付けて初期化するとか(破棄&GCするとか) 。 ゲームのメインループ外に処理にできないと設計の意味が無い。 http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/86
87: 名前は開発中のものです。 [sage] 2010/12/21(火) 18:38:36 ID:Xai41NPW インターフェイスのstaticメンバはサポートされてないので staticフィールドを返すインスタンスメンバとして実装してdefault(T).GetDeclaration()かな http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/87
88: 名前は開発中のものです。 [sage] 2010/12/21(火) 20:51:48 ID:N/+0RCBN >>73 亀レスすまぬ 普通にロスト起こした時にSpriteやらのリセットをしてなかっただけだった。無事に対策できたっぽい 失礼しました http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/88
89: 名前は開発中のものです。 [sage] 2010/12/21(火) 23:09:44 ID:IUyb5141 >>87 ゴメンtypo × T.GetDeclaration() //コンパイルできません ○ T_array[0].GetDeclaration() //こんなもんかな それから型パラメータは TVertex とかにしないとスゲー読みづらい http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/89
90: 名前は開発中のものです。 [sage] 2010/12/21(火) 23:25:18 ID:Xai41NPW いやdefault(T).GetDeclaration()のほうがいい 構造体なのでdefault(T)でインスタンスが作れる http://mevius.5ch.net/test/read.cgi/gamedev/1264902081/90
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 107 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s