1 名前:デフォルトの名無しさん [2007/06/21(木) 00:03:46 ] ※回答する人も、質問する人も必ず読んでください これらに当てはまる人のための質問スレです。 1.C/C++は多少理解している。 2.最近DirectXを始めたばかり 3.SDKを見ても、Googleで検索しても、いまいち理解できない人 4.余計な雑談は不要ですよ 【 回答してくださる方 】 ・ できるだけ優しく質問に答えてあげてください。 ・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。 「ググれ」「SDK見れ」以外の回答でおながいします。 ・ 神ですら理解不能な質問は無視して下さい。 【 質問する方 】 ・ どんな事で躓いているのか明確にしよう。 ・ 長くならないなら躓いている部分のコードを晒してみれ。 ・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。 ・ 回答して貰ったら、出来るだけお礼もしよう。
256 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 06:17:12 ] このスレでスプライトっつったらD3DXのSpriteのことだべ。 誰も、厳密なスプライトアーキテクチャを指してなんてしゃべってないでしょ。
257 名前:デフォルトの名無しさん [2007/07/11(水) 09:30:50 ] D3DXのスプライト関数あるの知ってるくせに、自分の知識をひけらかしたいのか、したり顔で ____ / \ /\ キリッ . / (ー) (ー)\ / ⌒(__人__)⌒ \ <DirectXにスプライトはない! | |r┬-| | \ `ー'´ / ノ \ /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) ____ /_ノ ヽ、_\ ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ /⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒) | / / / |r┬-| | (⌒)/ / / // だっておwwwwwwwwwwwwwwwww | :::::::::::(⌒) | | | / ゝ :::::::::::/ | ノ | | | \ / ) / ヽ / `ー'´ ヽ / / プログラマーってこういう空気読めない奴多いよなあ・・・
258 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 09:45:47 ] >>244 も>>257 も十分言いたい事は分かるから・・・ お互い空気読みつつ穏やかにいこうよぜ
259 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 09:47:13 ] 間投助詞ダブった、スマソ
260 名前:デフォルトの名無しさん [2007/07/11(水) 09:57:01 ] >>258 でも、マイクロソフト自らスプライトっていう表現使ってるのに、わざわざ 「スプライトじゃない!!」って言う奴は馬鹿じゃん しかも、質問に答えるわけでもなく聞いてもいない事を偉そうに言ってさ ま、俺もD3DXのスプライト機能は使ってないけど
261 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 10:37:04 ] そもそもID3DXSpriteをスプライトとか言っちゃうから、 スプライトとポリゴンを比較する>>247 みたいな馬鹿が出てくるんだよ。
262 名前:デフォルトの名無しさん [2007/07/11(水) 11:21:01 ] >>247 だって別に間違えた事言ってないでしょ スプライト関数用意されてて、それを使ってすぐ表示出来るんだから生産性は高いでしょ インフォメーション程度に2D表示するだけなら、スピードなんて遅くたっていいし。 2DゲーでID3DXSprite使うのはどうかと思うけど、ID3DXSpriteをスプライトと言うのは間違いではないよ 昔のゲーム機についてた所謂”スプライト”なんて、過去の遺物なんだから2Dとして表示する物を”スプライト”と言ってもなんの問題もないじゃん どうして、どーでもいい細かい事にこだわる奴が多いのかなあ・・・ こだわってるというよりは、知ってるくせに認めたくないと言うか・・
263 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 11:35:36 ] ポリゴンを使うID3DXSpriteとポリゴンを比較している時点で大間違いなんだよ。 そうやって間違いを認めずに繰り返すから、それを見た初心者が勘違いをして意味不明な質問をすることになる。
264 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 20:46:00 ] もしかするとID3DXSpriteの中身がDrawPrimitiveだということを 分かってない奴がいるのかもしれん。
265 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 22:47:09 ] D3DXってソース公開されてんの?
266 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 22:59:01 ] ねえよ
267 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 02:58:17 ] ソースが公開されていなくてもPIX使えば必要な情報は十分わかるからなぁ。 頂点バッファ作成時の設定や更新頻度、DrawIndexedPrimitiveを呼ぶときのレンダーステート等。 「高レベル描画APIで十分ならわざわざプリミティブ描画APIを使うより生産性高くていいじゃん」 なら別に異論はないけど、元々スプライトってハードウェアのプリミティブ機能だっただけに、 「スプライトで十分な用途ならわざわざポリゴン使うより生産性高くていいじゃん」には違和感がある。 てか実際にDirect3DにはPoint Spriteって名のハードウェアスプライトが存在するし。 やっぱ誤解招きやすいと思うよ。
268 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 06:33:52 ] まあ、荒れるの承知で書くけど、PointSpriteはポリだぜ。 現在、ハードウェアスプライトを実装するメリットは無いし。 DirectXにはポリしかない。名前だけスプライト。 ただ、そんな事は100も承知で このスレでスプライト=DirectXの機能 or 自前の板ポリ の事なのは自明。 イチイチ「スプライトじゃない」とか言う意味は無い。
269 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 07:00:16 ] >>268 同意。 いちいちハードウェアスプライトの話をもってくる奴ウザスギ いくらなんでも空気読め無いにもほどがある
270 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 08:29:32 ] 間違っていることは明白なのに、素直に認められないのがプログラマのプライド。
271 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 12:58:13 ] >>268 >DirectXにはポリしかない。名前だけスプライト。 そういう意味で言ってるんじゃなくて、 「ポリゴンかスプライトか」という表現は、 プリミティブタイプにどっちを使うべきかみたいな議論でもありうるんだけど、 とにかく情報が欠落しまくりのネット上の議論だと 「スプライトってD3DXとプリミティブタイプのどっちのこと言ってる?」 と聞き直す羽目になることが多いという話。 ・点 + (ポイントスプライト) ・線分 ・三角形 のどれよ? と。まあ線分はありえんけど。 別に聞き直されるのがうざくなければD3DXのをスプライトと呼ぶのを止めはせんよ。 てか、ポイントスプライトって帯域圧縮効果はそこそこあると思うだけどな。 デモ用のパーティクルシステムとか結構ポイントスプライト使ってない? あれをハードウェアスプライトと呼びたくないなら別に構わんが。
272 名前:デフォルトの名無しさん [2007/07/12(木) 16:07:48 ] ここで 「DirectXのはスプライトじゃない」って言い張ってる馬鹿は、スプライトを狭義の意味で捉えてるだけなんだよね。 よーするに「ハードウェア機能としてのスプライトしかスプライト」しか認めないって言ってるだけ。 そもそも、スプライトって”表示画面のイメージパターン”っていう意味だから、DirectXでの表示もスプライトって言って構わない 古くさい考え方しか出来ない奴はファミコンとかX68000のゲームでも作ってろww
273 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 16:33:58 ] 誤解される表現をわざわざ意地になって使う奴って、何が楽しくてやってるんだろう?
274 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 16:37:51 ] いちいちスプライトという言葉に反応するやつは FM-TOWNSで「これはスプライトぢゃないっ!!!」とか言ってたやつだな
275 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 16:45:59 ] どうせ「スプライトっていうなー」言ってもみんな言うんだし、 ならD3DXのはスプライトでいいじゃんと思うんだけど、 >>268 のみたいに「ポイントスプライトはハードウェアスプライトじゃない」は違和感ある。 ドライバレベルで定義されてるんだしハードウェアでいいんじゃね? 何でそこだけやたら狭い定義を採用するんだと。
276 名前:デフォルトの名無しさん [2007/07/12(木) 16:48:34 ] >>273 だからさ・・・どう誤解するの? 今、ハードウェア機能のスプライト使っての開発なんてないだろ。板ポリかバッファにイメージデータの転送だろ。 2Dをスプライトって言って誰が困るのよ? くだらないこだわりしてる奴はただの老害
277 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 16:54:07 ] もう全部スプライトってことでいいよ。 DrawPrimitive使った板ポリ描画もスプライト。 BitBlt使った矩形転送もスプライト。 これで満足だろ?
278 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 17:08:46 ] >>275 そういやD3D10からポイントスプライト廃止だっけ。 まあGeometry Shaderでエミュレートできるからこその廃止とはいえ パフォーマンス大丈夫なんかいな。
279 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 17:17:00 ] アルファテストもシェーダで書けるからという理由でD3D10から廃止だしなぁ。 リセット感がすげえ。 【消えたもの】 ・固定機能頂点処理 ・アルファテスト ・ユーザークリッププレーン ・フォグ ・シェーダモードのGouraudとFlat ・D3DFILL_POINT ・TLVERTEX描画
280 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 17:29:56 ] >>277 背景と別レイヤーに見せかければソフトウエアスプライトと呼べるが、 単純に描画するだけではスプライトとは呼べない。 よって大間違い。
281 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 17:35:24 ] 初心者が関数とかインタフェイスをカタカナで書いて、 訳の分からない内容の質問をしているのを見かけるが、 結局こうやって勝手なカタカナ表記を使う奴がいるから真似をするんだろうな。 普通にインタフェイスの名前をそのまま書けばいいだけで、綴りに自信がなければ確認すれば済むのに。
282 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 17:54:33 ] >>280 あーBitBltでD3D9のStretchRectみたいなのを連想したんだな。 すまんね。 DirectDraw(+カラーキー)とかGDIのマスク描画みたいなのを想像してた。 当時もスプライト論争あったから。 GDIのBitBltでソフトウエアスプライトを実現する方法とか もはや古代技術になりつつあるけど。 でもこいつらも多分君の定義だとソフトウエアスプライトに入るはずなんで 広い心で入れてやってくれ。
283 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 19:40:36 ] おまえらスプライトの定義はよそでやれよ
284 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 20:36:16 ] 初心者が落とし穴にはまって騒いで本当うるさくて うざくてたまらないのがスプライトとカラーキーだ。
285 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 20:45:14 ] カラーキーはDirectX以前の問題な気もするが。 いくら初心者スレでもC(C++)をある程度理解してたら途中に画像描画も通ってそうだけどな。
286 名前:デフォルトの名無しさん [2007/07/12(木) 21:52:30 ] 質問失礼します。 ビルド時に error C3861: 'D3DX_SKIP_DDS_MIP_LEVELS': 識別子が見つかりませんでした と言われ、ビルドが通りません。 D3DX_SKIP_DDS_MIP_LEVELS の定義場所が知りたいです。 分かる方いらっしゃいますでしょうか? XP SP2 VS2005 DirectX 2007 April です。 よろしくお願いします。
287 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 01:21:28 ] >>274 なつかしいw
288 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 01:41:06 ] 質問失礼します。 新たに社内用開発ツールを作成したく、 そのツールにて高速な2Dの描画(アニメーション)を行いたいのですが、 現在まで使用していたAPI関数では表示が追いつかない可能性がある為 新たに高速に描画を行える物を学びたいを思っております。 現行の開発環境がVS2005 ツールを配布したいPCは OS:XP(SP2) .NexFramework2.0インストール済み なのですが、DirectX10はVista専用 2D描画は9.0以降WindowsSDKに引っ越したとのこと どれを学ぶのが賢いのか分かりかねています。 できるなら容易に関連書籍が購入できるとありがたいのですが 学ぶのに何が好ましいかどなたか教えていただけませんでしょうか。 言語はB,C/C++ができますがWindows上にてのプログラム経験は浅い為、 勉強する覚悟はできています。 宜しくお願い致します。
289 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 02:05:00 ] 2Dのあぬめーひょんって具体的にどんなーん? 単純にスプライトを大量に表示する必要があるってんなら兎も角、 ピクセルをゴリゴリ弄るような処理ではDirect3Dはなんの力にもなれないよー。
290 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 02:48:35 ] 抜き色無しのアニメーションならGDIでも十分高速。
291 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 06:57:00 ] Direct3D ○:抜き色有・無描画、拡縮、回転、それらの同時掛け X:ピクセル単位の処理 その他 グラフィックボードによって動作が違うことがある(大抵は大丈夫、ただ客が馬鹿だと苦労する) 1ドットに対して正確に色をおかなきゃいけないときに拘ると最悪(できないわけじゃないだろうけど・・・) デバイスのロスト等描画以外でかなり手間がかかる、復旧方法を全部知っておかないと苦労する GDI ○:抜き色有・無描画、拡縮、回転、ピクセル単位の処理 X:抜き色有・無描画、拡縮、回転の同時掛け その他 Direct3Dと比べるとかなり遅い、環境による差が少ない、面倒が少ない
292 名前:286 mailto:sage [2007/07/13(金) 11:52:44 ] 解決しました。 SDK 2007 April の d3dx9tex.h に //----------------------------------------------------------------------------- // D3DX_SKIP_DDS_MIP_LEVELS is used to skip mip levels when loading a DDS file: //----------------------------------------------------------------------------- #define D3DX_SKIP_DDS_MIP_LEVELS_MASK 0x1F #define D3DX_SKIP_DDS_MIP_LEVELS_SHIFT 26 #define D3DX_SKIP_DDS_MIP_LEVELS(levels, filter) ((((levels) & D3DX_SKIP_DDS_MIP_LEVELS_MASK) << D3DX_SKIP_DDS_MIP_LEVELS_SHIFT) | ((filter) == D3DX_DEFAULT ? D3DX_FILTER_BOX : (filter))) と定義してありました。 よって、SDKバージョンの相違でした。
293 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 12:59:54 ] 質問失礼します。 よくXFileを使うくらいなら独自形式を使え、といった話になるのですが 独自形式に変換するためには何のファイルから変換するのが分かりやすいでしょうか? アニメーション情報もキーフレームでファイル内に含むことが出来るように したいのですがよい方法はありませんか?
294 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 13:06:12 ] 自分が使っているモデリングソフト用のプラグインを作るだけ。 余計な形式から変換する必用は微塵もない。
295 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 13:34:43 ] なるほど、ではMax用のプラグインを制作してみます。 ありがとうございました。
296 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 23:42:23 ] Maxってフォーマット公開されてたっけ?
297 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 01:11:07 ] プラグインを作るのにフォーマットなんて関係ないだろ。
298 名前:デフォルトの名無しさん [2007/07/14(土) 15:30:59 ] m_pMesh->Release() ←こういうような Releaseし忘れを警告してもらえる方法ってありますか? 自分の環境だとリリースしなくても何にも警告でないんです…
299 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 15:40:01 ] テクスチャについて質問なのですが フォーマットD3DFMT_D24S8で生成されたIDirect3DTexture9を 状況によってD3DFMT_A8R8G8B8で扱うといったようなことはできないのでしょうか? なぜこんなことを、というとシェーダー内でサンプリングする際に D3DFMT_D24S8でセットされたテクスチャはtex2Dを使ったときに 深度比較としてあつかわれてしまうのですが、 (通常shadow mapとかであればそれを意図しているので問題ないのですが) あくまで通常のARGBとして扱いたい場合どうすればいいんですかね。 テクスチャは毎フレーム更新されるので、 あまりコストのかかる処理は避けたいです。
300 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 18:25:33 ] 上司か先輩か知らないが、デバッガ気取りのそのクソ野郎のPCを起動し、 コンパネのDirectXを開き、Direct3DのタブのUse Retail Version of Direct3Dのチェックを入れろ
301 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 18:30:59 ] >>299 Direct3DではデプスバッファをARGBとして読むことは不可能。 代替処理として、深度をカラー情報に格納するシェーダを書く必要がある。
302 名前:299 mailto:sage [2007/07/14(土) 20:00:03 ] >>301 ありがとう、 なるほど、じゃあ 通常レンダリング時に 通常ピクセル>COLOR0 深度値>COLOR1 みたいにマルチレンダーターゲットとかにして2枚つくるしかないのかな?
303 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 21:43:11 ] テクスチャについて質問なのですが Zオーダー指定の違うテクスチャを重ねると、上になったテクスチャの周りに、デバイスクリア色で縁が付きます。 これは、SetRenderState(D3DRS_ZENABLE, TRUE)でZオーダー指定すると回避できないのでしょうか? それとも、なにか他の指定方法で回避可能でしょうか? よろしくお願いします。
304 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 22:10:53 ] アルファブレンド(透過)がされていない訳じゃなくて?
305 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 22:45:24 ] >>304 透過されますが、絵の透明色と非透明色の境界にデバイスクリア色がでます。 文字のテクスチャを表示すると、縁取り文字みたいに表示されます。 他の透明色付きテクスチャも同じ現象が出ます。 Zオーダが同じならでません。 Zオーダーとアルファブレンドが相性の悪いのはわかってるのですが、 透過色を使用していない(上位ビットが0xFF000000)データでも出ます。 透明色側に縁が出ているような感じで、ずれているような表示ではなく 周りにデバイスクリア色が付いているような感じになります。
306 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 22:54:16 ] >>305 現象が何かも確認できていないうちに回避策もあったもんじゃないんだが。 1) 拡大表示か何かでアルファ値が補間されて、境界部分が半透明状態になる 2) サーフェイスクリア直後のサーフェイスに1)を描画したところ サーフェイスクリア色とブレンドされるようなレンダーステートになっていた。 さらにアルファテストもやっていたので、完全透明なところ以外はZ値が更新される 3) その上から背景(推測)を描画したところ、Z値が更新されていないところのみ描画された。 という状況なのかね?
307 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 23:26:28 ] >>306 まず、拡大縮小はしていません。 きっちりした透明色(0x00000000)と非透明色(0xFF??????)の境界、透明色側に デバイスクリア色がでます。 描画順番にかかわらず出ます。(あきらかに後から上書きしたZが0.0の画像にも縁が付く) テクスチャは手前も後ろもD3DXCreateTextureFromFile()で読み込んだpngファイル。 縁に半透明処理等はしていません。 背景Zオーダー1.0 前景Zオーダー0.0 → 縁が付く 背景Zオーダー0.0 前景Zオーダー0.0 → 縁が付かない 普通にDrawで描いてるんですけどね。
308 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 23:39:06 ] >>307 描画順序にかかわらずってのが謎だねぇ。 それ本当にサーフェイスクリア色? とりあえずよくわからんのでPIX for Windows使ってピクセルの色変化履歴見てみてみたら?
309 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 23:39:07 ] >>307 に補足 画像は既に256×256に切ったものなので、読み込み時に拡大縮小はかかっていません。
310 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 23:41:16 ] >>308 赤でクリアすると赤く、グレイデクリアするとグレイになります。 何かの影響だとは思いますが、デバイスクリア色が出ているのは間違いないと思います。 とりあえずご指摘のPIX for Windowsで変化を見てみます。 ありがとうございます。
311 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 23:43:40 ] z が 0.0 か 1.0 忘れたけど、丁度のやつは グラボによって表示されないことがあったりとか過去に聞いた気がする 0.01 や 0.99 くらいにしてみたらどうだろ
312 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 23:44:44 ] >>310 これね。まあがんばってちょ。 ttp://msdn2.microsoft.com/en-us/library/bb173103.aspx ttp://msdn2.microsoft.com/en-us/library/bb173120.aspx
313 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 23:48:18 ] >>311 文字表示に横着しまして、ID3DXFontを使用しています。 その表示がZ0.0なので、強制的にトップは0.0で表示(後ろの字が消えるように)しています。 あと、Z深度をいじってみたんですが、結果としては変わらなかったです。(Z値が違うと縁) 後ろのZ深度は変更してみます。 ありがとうございました。
314 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 23:49:09 ] >>312 リンク提示ありがとうございます。
315 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 02:16:35 ] >>303 ピクセルとテクセルが0.5ずれてる話は知っている? テクスチャの拡大縮小フィルタはどう設定している? D3DSAMP_ADDRESSU, Vは何に設定している?
316 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 12:40:05 ] なんかすげーちょっとした設定間違いのような気がする いままでそんな報告なかったし アルファの掛け合わす設定が間違ってるとか 下の色と混ざるように設定してはいるものの 設定が間違っててアルファが0のときに下の色が描画されてなくて 結果クリア色と混ざっちゃうとか テクスチャの色もデバイスクリア色と同じ色でクリアしてて実は・・・とか
317 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 12:42:23 ] とりあえず見てみんとしょうがないのは アルファの設定とブレンドの設定とZの比較設定とZの更新設定と テクスチャの色とテクスチャのフォーマットとポリゴンの色かな?
318 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 17:17:35 ] DXUTは今後も生き残れると思いますか? それともいつものごとく無かったことにされてしまいますか?
319 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 17:27:56 ] >>318 文章がおかしい。「それとも」の使い方を明らかに間違っている。 投稿する前に文章を読み直す癖をつけましょう。
320 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 17:39:02 ] 「それとも」の使い方を明らかに間違っている。
321 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 17:58:37 ] 「それとも」の使い方を明らかに間違っている。
322 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 19:33:44 ] 座標p,速度ベクトルv,上ベクトルuの物体を、 座標pp,速度ベクトルvv,上ベクトルuu へ変換する行列を作りたいのですが、どうすればいいのでしょうか? ヒントでも良いので御願いします。
323 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 19:50:51 ] D3DXUTって2ヶ月ごとに互換性なくなるものと いままで思ってましたがそうでもないんですか?
324 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 20:02:55 ] >>323 「それとも」の使い方がおかしい。
325 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 20:15:32 ] >>322 数学と物理を学びなおすのと、現実を見たほうがいいと思う。 とりあえず1つ1つの計算を行列にすればあとは掛け合わせて1つの行列にするわけだし。 まぁ、この例だと無理だが。 解釈によっては車が 東京(p)にあって 停車中(v)で 上方向(u)は空を向いている 何か色々あって車が 大阪(p)に移動し 地中方向に時速60km(v)で進みつつ 横転している(uu) とか訳の分からんことに。 例えば前へ進むとかじゃなく、どの方向に進むのかちゃんと決めてやらないとな。
326 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 20:19:31 ] ESP使ってやれよ。 ゲームキャラの移動か誘導弾じゃねえの?
327 名前:デフォルトの名無しさん [2007/07/15(日) 20:28:13 ] メッシュを白く点滅させたいんですがどういった方法が考えられますか?
328 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 20:36:38 ] 用途は? もしダメージ食らいエフェクトとしての点滅だったら、俺はその表現は嫌いだからな。
329 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 20:38:04 ] まさにそんな感じで使いたいんですが、なんかダメなんですか?
330 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 20:38:35 ] >>326 ESPって?
331 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 20:40:27 ] >>330 相手の意図を読みきってベストな回答を出す事
332 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 20:51:21 ] なるほど。トン。
333 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 21:04:36 ] >>327 やり方は無数にあるが、 「メッシュ全体に色を加算」を固定機能でやると仮定すれば D3DRS_TEXTUREFACTORに点滅色を設定して、 SetTextureStageState(1, D3DTSS_COLOROP, D3DTA_ADD); SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_CURRENT); SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_TFACTOR); のような感じか。
334 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 21:05:33 ] >>325 すいません。では、弾が 位置p(1,1,1)、速度v(0,0,1)、上(0,1,0)から 位置pp(3,3,3)、速度vv(1,0,0)、上(0,0,-1) に移動する時の、この姿勢を変換する行列の求め方を教えてください。
335 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 21:25:04 ] >>333 D3DTA_ADDというのはありませんでしたので、 代用として適当に見つけたD3DTSS_ALPHAOPでやってみました 他の色はいけるんですが、白を合成しても変化ありませんでした 白で点滅させることはできないんですかね?
336 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 21:32:17 ] >>334 4x4の行列の[0][0](._11)に何が入るか理解してる?
337 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 21:37:19 ] >>335 押してダメなら引いてみろ。
338 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 21:41:58 ] >>335 D3DTA_ADDの誤記の代わりとしてはD3DTSS_ALPHAOPはダメ。D3DTOP_ADDが正しい。
339 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 22:00:47 ] >>338 おお!白でも合成できました ありがとうございます
340 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 02:32:16 ] 内部でD3DXMatrixScalingを使わないで済むように Xファイルのサイズを変更したいんですがそういったソフトはありますか?
341 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 02:40:09 ] そういう計算を事前に済ましておくということも、 自前フォーマットを採用する理由の一つ。
342 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 06:23:23 ] 340のやりたいことと自前フォーマットは全然関係ないと思うが。
343 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 06:35:42 ] まあ最近の若いのには、質問には答えず どうでもいいチラウラばかり書きたがる人間が多いからな
344 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 07:05:57 ] 本来なら予めゲーム内の『1』という単位を決めるべきなんだよな。 例えば『1』を『1メートル』としていれば、人や車などをモデリンクソフトでどれぐらいの大きさで吐き出せばいいか分かりやすいし。
345 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 08:36:41 ] >>340 変更したかったら読み込んで書き替えて書き出せばいいだろ。 Direct3D自体に簡単に読み書きできるようにパーサが付いてるんだから。 なんでプログラムを作る人間なのにその程度のことをやろうとしないんだ?
346 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 11:30:57 ] おまえら 「そういうソフトはあるだろうけど俺はしらね。つうか自分で作った方が早くね」 と正直にいいなさい
347 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 16:41:59 ] だって他ツールはあまり信用できないよ。 ツール独自のフォーマットのほかにXファイルの読み書きが出来たとしても フレーム名を変えられたり、勝手に最適化されて頂点が入れ替えられるのが邪魔なこともあるし 自分でやるのがいいって。
348 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 20:59:09 ] >>346 >>347 に同意 みんな色々探したんだけど ホントにないんだよ ・細かいところで整合性があってない ・そもそも機能を満たしてない ・1つの機能の実現の仕方が普通の方法とは異なる(そのソフト独自のデータを持つ) ・無駄に最適化や圧縮がしてある とかありがちなのから、この他にもたくさん問題がある 3Dソフトでフォーマット→フォーマット変換はできないとさえ思う そもそも自社のフォーマットをサポートしつつ他のフォーマットまでサポートするってのが 作業量的に無理なんじゃないかと思う
349 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 23:50:59 ] 最終的にXファイルを出力したツールで(機能があればだけど)編集・調整すりゃ 整合性はとれるんじゃないの? わざわざ自分で作る必要あるんかね というかモデルツール用のマスターデータくらい用意しろよ、と
350 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 00:53:44 ] だから出力用プラグインぐらい自分で作れと。
351 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 07:26:18 ] >>349 >最終的にXファイルを出力したツールで(機能があればだけど)編集・調整すりゃ >整合性はとれるんじゃないの? そうやって物事の表面しかみてない発言やめろ 一口に出力っていったってフレーム名がめちゃくちゃだったり ちゃんとサポートできてなかったり、アニメーションがついてなかったり できてるように見えて微妙にUVの値が変だったり ロクなもんがねーのがいまの状況なんだよ モデリングツールのパッケに ○Xファイル出力 なんて書いてあったって騙されちゃ駄目 大抵、アニメーション、スキニングのサポートは無い してあってもどこか変。 多分、フレーム階層のもんとワンスキン構造のもんの整合性がとれてないのと その辺の整合性をとるのが面倒でどこもやってないっぽい 現状、出力プラグインを作るのが正解
352 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 10:46:37 ] >>351 すまん。俺が言ってんのは>>340 への内容。 希望通りの出力できてんなら他ツールなんて不要だろ、という意味 が、現状の話もよくわかった。つまり ○現状、出力プラグインを作るのが正解 ◎現状、出力プラグインを作って売るのが正解 か
353 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 11:15:38 ] そもそも一般的な3Dソフトは、レンダリングまでの過程をサポートしているだけで、 途中経過のデータを出力するのを考慮していない。 だからプラグインで無理矢理書き出す形をとっているわけだが、 中途半端なデータにどういう意味を持たせるかは、個々で決めるしかない。 しかも補助用のプラグインが途中経過のデータを引き出す方法を公開していなかったり、 標準機能のレンダリングに連動して初めてデータを生成するものまである。 結局エクスポート部分どころか、かなりの部分を自分で書かないとならない。 しかし趣味でプラグインを書いているレベルの人間はほとんどいない。 洋ゲーのカスタマイズツールはエクスポート用のプラグインとセットになっている場合がけっこうあるが、 日本では全く見かけられない。
354 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 18:37:13 ] プラグイン作るのが面倒だったらもうXファイルでいいんじゃねとか思うのは俺だけか。 趣味で作っている作品をさらに追求したいわけなんだし、プラグイン作成もその延長だろ。
355 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 19:52:42 ] まともなものを作ろうとすると、まずはソフトの購入に大金をはたく必用がある。 フリーで使えるものはスキニングやアニメーションを考えると、はっきり言って全く使い物にならない。
356 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 01:05:43 ] 中間ファイルなら調度いいのがあるじゃん ほら、有名なゲームハードメーカーが音頭をとってやってるやつが