[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 11/06 20:19 / Filesize : 173 KB / Number-of Response : 683
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【C++】 DirectX初心者質問スレ Part13 【C】



1 名前:デフォルトの名無しさん [2007/06/21(木) 00:03:46 ]
※回答する人も、質問する人も必ず読んでください

これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ

【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。

【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。


237 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 12:43:20 ]
アンカくらい付けれ

238 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 19:26:27 ]
DirectShowの質問もここでいいですか?

239 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 19:37:53 ]
悪くはないが、同じム版に専用スレがあって
詳しい住人が多いから、そっちの方がいい。

まあみんな似たようなスレ巡回してんだけどね


240 名前:デフォルトの名無しさん [2007/07/10(火) 17:22:09 ]
横170×縦250の
テクスチャー読み込んで、スプライトで表示したら、
勝手に255×255にされたんだけど、これは仕様なのかな?


241 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 17:42:19 ]
仕様でつ 170*250→256*256

242 名前:デフォルトの名無しさん [2007/07/10(火) 18:43:12 ]
DirectX8の時は自由なサイズ使えたんだけどなあ。
グラボとかによるのかな


243 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 19:53:59 ]
DX8から今でもスプライトなんか使い続けるなよな。
なんで重くて汎用性の無いものを何年も使うのか分からん。

244 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 20:44:10 ]
そもそもDirectXにスプライトなど無い。

245 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 20:51:00 ]
あるにはあるけど着飾ったものだからね。
だから重いし汎用性も薄い。



246 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 21:10:37 ]
だから無いって。

247 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 21:10:51 ]
スプライトで十分な用途ならわざわざポリゴン使うより生産性高くていいじゃん

248 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 21:17:07 ]
ポリゴンに最適化されてるGPUにそりゃないべ

つうか板ポリの方が汎用性たかくね

249 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 21:18:43 ]
無いものをどうやって使うつもりなんだ?

250 名前:デフォルトの名無しさん [2007/07/10(火) 21:23:25 ]
JPEGファイルで抜き色(透明にする色)を指定したいのですが、上手くできません。

現在、D3DXCreateTextureFromFileExを用いています。
BITMAPファイルなら上手くできるのですが・・・

どうしたらJPEGで抜き色を指定できますか?教えてください。

251 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 21:53:41 ]
マスクを作るとか、jpgなら思い切ってddsにするとか

252 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 22:11:14 ]
そういう用途にjpegは向いていない。
というわけで、jpegについて調べてみると勉強になると思う。

"jpeg ノイズ" とかで調べてみると情報が引っかかるだろう。

253 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 23:25:46 ]
でも別にしたい奴向けにできるようにしておいてもよさそうなもんだけどな
てか、むしろjpegだけ弾くとか器用だよなw
まあ、できるようにしておくとQ&Aで聞いてくる奴がいることを予想できるからあえて切ってるんだろうな

まあ、jpegなんかマスクにしたら結果はあきらかだがな

254 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 00:04:50 ]
>>250
テクスチャをロックして自分で該当部分のα値をセットすれば良いだけ。
悩む所など微塵もない。

255 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 00:09:30 ]
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
押してダメなら引いてみろ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<173KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef