鬱だ氏のう DirectX (Part 6)
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものでス
02/10/07 01:00ID:???初心者用相談室では扱わないような少し高度な話題も受け持つ。
■旧スレ(プログラム板)
http://piza.2ch.net/tech/kako/966/966655286.html (Part 1)
http://pc.2ch.net/test/read.cgi/tech/997101556/ (Part 2)
http://game.2ch.net/test/read.cgi/gamedev/1005119775/ (Part 3)
http://game.2ch.net/test/read.cgi/gamedev/1016276254/ (Part 4)
コピペスマソ
0102名前は開発中のものです。
02/10/14 01:10ID:???そうなるのは仕方ないような。
GetGlyphOutlineは駄目?
0103101
02/10/14 02:20ID:???SetTextureStageState(0,D3DTSS_MINFILTER,D3DTEXF_LINEAR);
SetTextureStageState(0,D3DTSS_MAGFILTER,D3DTEXF_LINEAR);
が、かかっているような状態になります。
0104名前は開発中のものです。
02/10/14 02:33ID:???俺は99ではないが同様の方法を取っている。
社内の複数のマシンで動かしているが特に>>101のような
問題はでていない。
座標-0.5の話が過去ログにあるが、それではない?
0105名前は開発中のものです。
02/10/14 09:55ID:???0106101
02/10/14 19:39ID:???ということは、私のコードが悪いということですね。
過去ログ読んだりして、もう少しいろいろいじってみます。
>>102>>104>>105
レスありがとうございました。
0107名前は開発中のものです。
02/10/15 00:01ID:394UiHGE光の残像ってどうやって表現しますか?
例えば、蛍が暗闇を飛び回る姿を想像してください。
蛍が光っているのを描くのは簡単ですが、その残像がうっすらと残るように
したいのです。
思いつくのは、光の球を、αブレンドで何度も直線状に描画することくらいですが…
みなさんはどうやっていますか?
0108名前は開発中のものです。
02/10/15 00:09ID:???0109名前は開発中のものです。
02/10/15 00:28ID:???蛇状の半透明ポリゴンを軌跡にそって動かす。
0110109
02/10/15 00:30ID:???光の部分を別サーフェースに書いて加算合成。
次のフレームにはそのサーフェースは暗くして(クリアはしないで)重ねて光を描画。
そーすりゃスーーッて光が伸びると思う
...まあオレもやってみてはいないんだけどね。イロイロやってみてくだせい...
0112名前は開発中のものです。
02/10/15 02:44ID:???Geforce2GTSで使えないのです。
これ以外のビデオボードでは今の所使えています。
0113名前は開発中のものです。
02/10/15 04:02ID:???2GTSでの IDirect3DDevice8::GetDeviceCaps() の結果のほうはどうなってる。
D3DPRASTERCAPS_ZBIAS のフラグは立ってるのに動作がおかしいという状態か。
0114名前は開発中のものです。
02/10/15 05:43ID:???GeForce2GTSのみならず
GeForce2 or 3 も正しく機能しません。
したがってZBIASは「使えない」ものと認識してしまったほうがいいと思われます。
0115名前は開発中のものです。
02/10/15 09:50ID:???0116名前は開発中のものです。
02/10/15 13:36ID:???どうすればよいですか?
0117名前は開発中のものです。
02/10/15 14:11ID:???あー前に作ったことあるな
ちょっと待ってろ
0118名前は開発中のものです。
02/10/15 14:35ID:???ほいよ
詳しくは、使い方.txtを見てくれ
0119116
02/10/15 14:36ID:???早速落としにいきます
0120118
02/10/15 14:50ID:???ごめんまちがえた
こっち
0121118
02/10/15 14:50ID:???ごめんまちがえた
こっち
0122名前は開発中のものです。
02/10/15 21:14ID:394UiHGEゲームとは関係のない画面まで色が変わってしまいました。
これって直すことはできますか?
0123名前は開発中のものです。
02/10/15 21:18ID:???0124名前は開発中のものです。
02/10/15 21:21ID:394UiHGE全体をだんだん暗くさせたいときとかは、真っ黒なテクスチャをαブレンドさせるのかな。
0125名前は開発中のものです。
02/10/15 21:21ID:???sageれなかった。ごめん。
0126名前は開発中のものです。
02/10/16 00:16ID:???レンダリング済みサーフェイスをテクスチャーにして
頂点色をいじるとおもしろいフェードアウトができるよ
0127112
02/10/17 01:23ID:???すいません。出先のマシンなので調べられないです。
>>114
ZBIASが使えない場合なにか変わりになる機能とかあるのでしょうか?
地面を描いてその上に影を落としているのですが、z値が同じになってしまうので、
影が出たり消えたりします。影をzバッファ非使用で描くことも考えたのですが、
地形に隠れる場合もあるので、zバッファを使用したいと思います。
0128名前は開発中のものです。
02/10/17 01:53ID:???影ポリゴンの頂点が、影を落としたい地形の頂点と
完全に同じなら消えないよ。
だから地形の一部を切り出してきて、テクスチャを投影するという手もある。
D3DTADDRESS_CLAMPでuvの範囲を0〜1に限定するのがポイント。
0129名前は開発中のものです。
02/10/18 05:29ID:Nk5vOGxBD3DXMATRIXA16で境界合わない元凶が
d3dx8math.inlのD3DXMATRIX::operator *の中の一時オブジェクトだった。
__declspec(align(16)) D3DXMATRIX matT;
にするだけで改善するのに。
しかたない。自前の構造体作るか。
0130名前は開発中のものです。
02/10/18 09:10ID:???0131名前は開発中のものです。
02/10/20 04:45ID:h2ye+Wzc全体を青っぽく見せたりとかって、どうやりますか?
0132名前は開発中のものです。
02/10/20 05:02ID:???0133名前は開発中のものです。
02/10/20 08:43ID:???0134名前は開発中のものです。
02/10/20 14:54ID:???「描画した後に、画面全体を覆う四角形ポリゴンを作成して、その上から
αブレンドで重ねる」
ということですか?
0135名前は開発中のものです。
02/10/20 15:18ID:???Yes Yes Yes!
0136名前は開発中のものです。
02/10/21 01:18ID:3IKbfs80テクスチャが見えなくなるのですが、気のせいですか?
0137名前は開発中のものです。
02/10/21 01:25ID:3IKbfs80Clear
BeginScene
sprite->Begin
SetVertexShader
DrawPrimitiveUP
sprite->End
EndScene
Present
の順に呼び出したら、描画されませんでした。何がおかしいのですか?
0138名前は開発中のものです。
02/10/21 03:10ID:???そんなときはたいてい頂点数指定ミスとか頂点バッファがおかしいとか
私はそういうことが多かったです。根気よくデバグせよ
0139名前は開発中のものです。
02/10/21 03:11ID:???0140名前は開発中のものです。
02/10/21 08:34ID:???その場合、FSAAどうするの?
0141名前は開発中のものです。
02/10/21 10:14ID:DC+a3Xmsいまいち不透明なんですが、一般にDirect3DをHardwereT&Lで処理するという事は
CreateDeviceでD3DDEVTYPE_HALとD3DCREATE_HARDWARE_VERTEXPROCESSINGを
指定するという事なんでしょうか?
D3DCapsにはD3DDEVCAPS_HWTRANSFORMANDLIGHTという
HWT&Lそのものズバリを指すフラグがあるのですが
肝心の初期化や各処理の引数を見てもHWT&Lという単語が出てこないので混乱しています
0142名前は開発中のものです。
02/10/21 10:24ID:???DirectX8ならデバイス作成時に指定すれば
UP系以外なら勝手に動作するので気にする必要は無い
0143名前は開発中のものです。
02/10/21 10:42ID:DC+a3Xmsそれが具体的に>>141であってるのか?という質問なのですが・・・
例えば市販のFPSなどで描画方式の選択肢が
DirectX・DirectX H/W T&L・OpenGL などとなっていますよね?
で、H/W T&Lが選ばれた場合、内部では具体的にどうしているんだろうという質問です
0144名前は開発中のものです。
02/10/21 10:48ID:???デバイス作りなおしているんでないの?
0145名前は開発中のものです。
02/10/21 10:48ID:???○>>143
×>>134
0146名前は開発中のものです。
02/10/21 12:06ID:DC+a3XmsHardwere T&Lって、ポリゴンの変形とライティングを
ハードウェアで処理するって事ですよね?
で、DirectXのリファレンスを見ても
「ポリゴンの変形とライティングをハードウェアで処理しろ」
っていうフラグが無いんです。
CreateDeviceでD3DDEVTYPE_HALとD3DCREATE_HARDWARE_VERTEXPROCESSINGを
指定することでポリゴンの変形はハードウェアで処理してくれそうなんですが
ライティングに関してハードウェアを使えと明示するフラグはなさそうだし
どうすれば「HardwereT&Lしてるぞ」っていう状態にできるのか悩んでいるのです。
0147名前は開発中のものです。
02/10/21 12:14ID:???(DrawPrimitiveに関係あるらしい事はわかった)
0148名前は開発中のものです。
02/10/21 12:52ID:???普通はデバイスを作成し直す
というよりはほとんどのゲームは実行前に指定するようになってる
それからT&LはTもLも一緒なので別々に指定する方法は無い
>(DrawPrimitiveに関係あるらしい事はわかった)
そこまで分かっていてヒットしないはずは無いんだけどもしかしてネタですか?
0149名前は開発中のものです。
02/10/21 13:21ID:???0150名前は開発中のものです。
02/10/21 13:25ID:???IDirect3DDevice8 のメソッドくらい全部調べとけよな>>147
0151名前は開発中のものです。
02/10/21 16:54ID:???質問の意味が分からん。もそっと詳しく説明しー
>>133の処理とFSAAに何の関連があるというのだ。
0152名前は開発中のものです。
02/10/21 20:14ID:3IKbfs80キーワードだけでもいいので教えてください。
0153名前は開発中のものです。
02/10/21 21:54ID:???グーグルで「DirectXGraphics」「画面全体」「ぼかす」をキーワードに検索しる!
0154名前は開発中のものです。
02/10/21 21:56ID:???DirectXGraphicsだと検索にヒットしないかもしれません
DirectGraphicsです。
Direct XのXはいろんな物(変数XとかプロジェクトXと同じ)という意味でして、
Xの中にGraphics Audio Inputなどが含まれていますです。
0155名前は開発中のものです。
02/10/21 23:08ID:???>>153に切れてもよいぞ!!
0156名前は開発中のものです。
02/10/22 00:11ID:???うそを言ってはいけない。
正しくは「DirectX Graphics」と「DirectX Audio」だ。
0157名前は開発中のものです。
02/10/22 00:29ID:???知ったかするのはヤメレ
DirectXGraphicsで正しい
0158名前は開発中のものです。
02/10/22 00:47ID:???http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=DirectXGraphics+%E7%94%BB%E9%9D%A2%E5%85%A8%E4%BD%93+%E3%81%BC%E3%81%8B%E3%81%99
DirectX Graphics 画面全体 ぼかす
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=DirectX+Graphics+%E7%94%BB%E9%9D%A2%E5%85%A8%E4%BD%93+%E3%81%BC%E3%81%8B%E3%81%99
DirectGraphics 画面全体 ぼかす
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=DirectGraphics+%E7%94%BB%E9%9D%A2%E5%85%A8%E4%BD%93+%E3%81%BC%E3%81%8B%E3%81%99
Direct Graphics 画面全体 ぼかす
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=Direct+Graphics+%E7%94%BB%E9%9D%A2%E5%85%A8%E4%BD%93+%E3%81%BC%E3%81%8B%E3%81%99
0159名前は開発中のものです。
02/10/22 01:16ID:???ダメじゃねえか。
つかワロタ。
画面全体は辞めて、エフェクトとか画面効果に変えてみたら?
0160名前は開発中のものです。
02/10/22 01:33ID:???directx8 full scene blur
0161名前は開発中のものです。
02/10/22 02:09ID:???ちょっと真面目に答えてみると.......。
いちど小さいサイズのテクスチャにレンダリングして、そのテクスチャをもう一度 元のサイズに
レンダリングしてみるってのはどう?
例) 欲しいサイズが640x480の場合
640x480 → 320x240 → 640x480
つまり、いちど縮小して、また拡大する......ってな具合に。
求めたい画像イメージとは違うかもしれないが、ボケたように見えるてっとり早い方法だと思うよ。
あとは、サーフェスをロックして、シコシコとピクセル単位でいじるとか。
処理コスト高いけど。
まずは、上記の方法を実装してみれ!がんがれ!
0162名前は開発中のものです。
02/10/22 02:17ID:???一般的にはDirect3Dで話は通るよ。
Direct3D ぼかす で再チャレンジだ。
0163名前は開発中のものです。
02/10/22 02:19ID:???教えてクンの愚痴日記がヒットしたら笑えるんだけどなぁ。
0164名前は開発中のものです。
02/10/22 21:48ID:cC1V2h4q640x480の画像を表示させたいのですが、どう分割したら効率よく無駄なく
表示できますでしょうか。
0165名前は開発中のものです。
02/10/22 22:20ID:???>2の累乗の大きさの正方形じゃないといけないんですよね。
それはビデオチップによって事情が違うぞ。
まず、D3DCAPS8.TextureCaps をチェックしたほうがええ。
富豪的サボり屋さんならD3DPTEXTURECAPS_SQUAREONLY ビットをチェック。
それが立ってなければ1024x512なテクスチャサーフェスをローカルメモリに
ドカっと確保。で完了。そこまで湯水のように使えないが小金持ちではある
ということならAGPメモリに確保。で完了。
それは困る、テクスチャサーフェスのムダは絶対省きたいんだよ。
だけどDEVCAPSなんかチェックしてらんねーよ。俺は横着でおまけにケチなんだよボケが。
という場合は、640x480の元画像をキャラクタチップデータと共用の256x256テクスチャ
サーフェス(複数)に分割配置。画像表示用のポリゴンメッシュを用意して完了。
0166名前は開発中のものです。
02/10/22 22:23ID:???サーフェースのプロパティで横幅とピッチってありますよね
ピッチは横ラインのバイト数だと書いてあったんですが、
初心者な自分にはよくわかりません
家の環境ではピッチが横幅の倍になります
このとき、サーフェースのメモリを+1するということは
どういう意味があるんでしょうか?
試しにメモリを一つ飛ばしで描画したところ、
元の画像と色が変わってしまいました
2バイトで一つのピクセルを表しているということなんでしょうか?
教えてもらえたらうれしいです
長くてすいませんでした
0167名前は開発中のものです。
02/10/22 22:24ID:???○ キャラクタやマップチップのデータと共用の
0168名前は開発中のものです。
02/10/22 22:24ID:4cmO9mq80169名前は開発中のものです。
02/10/22 22:36ID:???256色なら1バイトで1ピクセル
ハイカラー色(16ビット)なら2バイトで1ピクセル
フルカラー色(24ビット)なら3バイトで1ピクセル
フルカラー色(24ビット)なら4バイトで1ピクセル
これでわかるかな?
0170名前は開発中のものです。
02/10/22 22:44ID:???どうもです
それじゃあ、ピッチというのは
ピットマップの色数で決まるものなんでしょうか?
0171名前は開発中のものです。
02/10/22 22:45ID:???個々のビデオカードの仕様。
0172171
02/10/22 22:51ID:???http://www.microsoft.com/japan/msdn/library/ja/jpdx8_c/hh/directx8_c/_dx_width_vs._pitch_graphics.asp?frame=true
0173名前は開発中のものです。
02/10/22 22:51ID:???しつこくてすいません
今、フルカラーのビットマップを使っているんですが
ピッチが横幅の2倍という事は1ピクセルが2バイトということではないんですか?
そうすると、どうやって色を表しているんでしょうか?
0174名前は開発中のものです。
02/10/22 22:53ID:???読みます
どうもでした
0175名前は開発中のものです。
02/10/23 02:33ID:???ピッチはLock成功後のD3DLOCKED_RECT::Pitchの値以外にない。
幅×ピクセルサイズで決めうちが可能とはMicrosoftも誰も保障しないので
自己責任で。
0176名前は開発中のものです。
02/10/23 02:33ID:rAqnFbe+そういうもんですか?
0177名前は開発中のものです。
02/10/23 02:35ID:???0178名前は開発中のものです。
02/10/23 02:49ID:???んな仕様はない。
お前のコードが腐ってる可能性が99.9%。
0179名前は開発中のものです。
02/10/23 02:57ID:???残りの0.1%は愛と勇気
0180名前は開発中のものです。
02/10/23 03:04ID:???DirectX使用、かつマウスメッセージを自前処理している
ゲームにおけるマウス入力の有無を、外部からフックして
取得するみたいな事は、可能でしょうか?
0181名前は開発中のものです。
02/10/23 03:08ID:???DLL使えば普通に可能ですよ?
可能かどうかとウジウジ悩む前にまずやってみそ。
0182名前は開発中のものです。
02/10/23 03:29ID:???ああっと、お待ちを。もちろんグローバルフックは試し済みです。
うーん、ゲームやマウスドライバによるのでしょうか…よわりまくりん。
いずれにせよレスサンクスです。
0183180=182
02/10/23 04:01ID:???質問を限定させて下さい。DirectInputを使って、マウス制御を
排他処理にしているようなゲームのマウス状態を
外部から取得することは可能でしょうか?
座標についてはどうやら、絶望的なようで…。
せめてボタンの押し下げだけでも分かると嬉しいのですが…。
0184名前は開発中のものです。
02/10/23 04:04ID:???つまり、マウスの移動を自ら外部に通知する。
0185名前は開発中のものです。
02/10/23 04:15ID:???いつ頃出るんだ?
今、DX8使ったライブラリ組んでも
途中でDX9が出てきそうで嫌だ。
で、
いつよ?
IO別冊の本には
デッサン狂いまくりの猫耳の絵は載せないでください。
見てて恥ずかしいです。
0186名前は開発中のものです。
02/10/23 04:16ID:???そこまでやるならメモリ覗け。
0187名前は開発中のものです。
02/10/23 04:25ID:???DirectX9が出たとしても今更DirectX Graphicsで示した
グラフィック周りの統合を解除することは無いと予想して
拡張を見越しながらDX7からDX8に移行することを決心。
大幅に仕様変更されていたら撃沈。
個人的には、あのど土井たんの(?)ネコみみの絵を見ると
「この絵なら技術は信頼できそうだ」っていう印象を持ちます。
「天は2物を与えず」っていうか…。
0188180=182
02/10/23 04:30ID:???むむむ、逆転…理解できませんでしたがヒントサンクスです!
正直袋小路の今、ありがたい限りです(´Д⊂
ベッドで考えてきまつ((((((*´∀`)
>>186
私ですよね?いえいえマウスホイール上下に
キー入力を割り当てるだけの、ささやかなツールになりそうです…。
でも確かにメモリ…公開は諦めて逝っちゃおうかしら(*´∀`)
0189名前は開発中のものです。
02/10/23 05:37ID:???IDirectInputDevice8::SetCooperativeLevelを
callしているところを見つけ出して、push命令の
オペランドを6などに書き換えればいい。
0190名前は開発中のものです。
02/10/23 05:55ID:???そっから追ってけば所望の場所にたどり着くだしょ。
0191名前は開発中のものです。
02/10/23 05:56ID:???0192名前は開発中のものです。
02/10/23 11:25ID:???サンプルについてるDMBoidsの後ろで流れてる音楽が凄い好きなんですが、
ああいうのってなんてジャンルなんでしょうか。
0193名前は開発中のものです。
02/10/23 14:28ID:???テクノポップス・・・かなぁ?
0194名前は開発中のものです。
02/10/23 21:53ID:???0195名前は開発中のものです。
02/10/23 23:38ID:???うはー、ありがとうございます。
正直久しぶりにアセンブラ見て、うんざりしてたとこでした。
これで一気に進めそうです。大感謝<(_ _)>
0196名前は開発中のものです。
02/10/24 00:04ID:???0197名前は開発中のものです。
02/10/24 00:11ID:???0198名前は開発中のものです。
02/10/24 00:13ID:???DX8→DX9はあまり変わってないから安心してDX8で組んでいいよ。
異メジャーバージョン間での移行では今までで一番少ない変更で済むくらい。
一番修正が必要なのはシェーダー関係がハンドルからインターフェースに
変わったくらいで、それ以外は関数名が変わったとか、引数が変わった程度。
0199名前は開発中のものです。
02/10/24 00:19ID:???>>198見るに激変はなさそうだな。
今からDX8覚えて基礎固めるかなぁ
さてどうしよう?
0200名前は開発中のものです。
02/10/24 00:22ID:???http://www.beyond3d.com/forum/viewtopic.php?t=2854
0201名前は開発中のものです。
02/10/24 00:22ID:???なんでやねーん(;_;)
■ このスレッドは過去ログ倉庫に格納されています