1 名前:デフォルトの名無しさん [2007/10/29(月) 06:05:00 ] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 DirectX使いが優しくコメントを返しますが、 お礼はDirectXの布教と初心者の救済をお願いします。 DirectX Home Page www.microsoft.com/japan/windows/directx/ 前スレ pc11.2ch.net/test/read.cgi/tech/1173535400
237 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 17:37:25 ] 超初心者ですが、教えてください。 フルスクリーンで表示されているゲームの上に◎や目盛りをつけたいのですが、 どうすればよいか判りません。 よろしくお願いします。
238 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 18:24:32 ] スプライト
239 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 20:17:43 ] コカコーラ
240 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 20:27:23 ] 外部からって話だと難しいな。方法は238
241 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 02:56:06 ] >>237 他人の作ったゲームに表示したいというなら、あと3年勉強したら できるというレベルの話。
242 名前:デフォルトの名無しさん [2008/04/04(金) 07:33:32 ] DirectX9で3Dのイメージを作って、その画像をBitmapで取得してAVIで出力したい。 どうすればいいのだろうか?
243 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 08:12:31 ] 何が分からないか考えてみよう
244 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 08:33:36 ] 3Dのイメージが生成されるタイミング。 画像の取得はバックバッファのGetDCかLockRectを考えている。
245 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 11:18:39 ] >>242 テクスチャにレンダリングすれば便利な関数で画像は保存出来たはず aviにするならロックで取得したほうがいいかな ただしレンダーターゲットはロックできない問題があったような… レンダーターゲットに書き込み→普通のテクスチャにコピー→ロックして取得 →取得したデータをAVI作成ソフトに転送(この辺はよく分らん) こんな感じじゃね?
246 名前:デフォルトの名無しさん [2008/04/04(金) 11:42:11 ] IDirect3DDevice9::EndSceneって、具体的には何やってるの?
247 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 11:46:52 ] ドライバ依存
248 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 16:09:27 ] >>244 読み出そうすれば画像のレンダリングが終わってなければ待機が行われる。タイミングは基本的にいつでもいい。
249 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 17:36:53 ] WindowsXP+DirectX9 でウィンドウモードとフルスクリーンモードで 切り替えできるようにゲームを作ってみたのですが、フルスクリーンから ウィンドウモードに戻ると他のいくつかのアプリ(WindowsMediaPlayer11/ PowerDVD)の映像がブラックアウトしてしまいます。 以下の手順で切り替えを行っているのですが、何か他に必要な処理があるのでしょうか。 リソース開放→TestCooperateLevelを確認→PresentationParameterを設定→ Reset→ウィンドウの再設定
250 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 17:48:20 ] ブラックアウトしたアプリケーションがデバイスロストから復帰していないだけだから対処方法はない。 再生や描画を開始しはじめれば勝手にリセットするんじゃないかな。
251 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 18:54:07 ] 例えば背景を消す関数で 色の指定が0xffffffffだったら消さないってのは違法ですか?
252 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 19:28:00 ] そんな法律は聞いたことがないな。
253 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 02:16:25 ] >>250 どうもコメントありがとうございます。 WMP側のオプションをいろいろ設定してビデオアクセラレーションを切ると WMPが落ちたり(汗)ゲームを2つ実行するとなぜかブラックアウトしなかったりと なかなかカオスな状況であります。うーん。DirectX 難しいです。。
254 名前:デフォルトの名無しさん [2008/04/05(土) 23:00:06 ] このスレの住人なら知っていますね、あの糞開発ツールのことを ・自分のプログラムのバグなのかコンパイラのバグなのかわからない ・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している ・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている ・糞開発ツールを批判すると「性格が悪いから糞ツールを批判するんだ」と言われる 糞だけど、政治的な理由で無理やり使わされているんですよね。 もう、あんな厨の作った糞ツールを我慢して使うのはやめましょう。 ・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。 ・糞開発ツールを使わせる上司の下では働けません、と上司の上司に直訴しましょう。 ・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。 バグレポートなどしてはいけません。改善要求などもってのほかです。 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。 ・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」 なんて話が出たら力強く机を叩き、会議室を出ましょう。 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。 糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。
255 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:06:02 ] Eclipseのことだな
256 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:17:34 ] javaで作られた大きなものは大概糞
257 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:21:35 ] RenderWareのことかぁぁぁぁぁ!
258 名前:デフォルトの名無しさん [2008/04/05(土) 23:29:17 ] RenderWareは大きな糞
259 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 06:51:11 ] 254-255はセットなのか、これ?
260 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 15:45:04 ] openglとdirectxのスプライト描画だとどっちが2D描画が早いですか
261 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 15:59:08 ] それは、OpenGLとDirectXのどっちが速いですか?って質問だな。
262 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 16:03:27 ] 実装の仕方にもよるんだし一概には言えないような気もする。 グラボが同じなら大差ないと思うけどな。
263 名前:デフォルトの名無しさん [2008/04/08(火) 13:46:02 ] テクスチャがあるのに、スプライトを使うメリットって何?
264 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 14:05:35 ] そもそもスプライトなど存在しない
265 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 15:03:30 ] DirectDrawの方がメモリーを食わないとか
266 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 03:14:24 ] 初心者スレはここと統合でいいのかい?
267 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 09:14:00 ] すみませんManaged DirectX 板にも書いたのですが、こちらの方がふさわしいので こちらに書きます。 Direct3Dのフルスクリーンゲーム画面をキャプチャしたいんでうが どのようなjコードでできますか? どっかのサイトで「Deviceを作ってGetBackBuffer()でおk」っていうのを 見つけたんですが、フルスクリーンゲーム画面のDeviceを取得するとこ からつまっています。 簡単なサンプルなどあげてもらえると助かります。
268 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 12:05:17 ] IDirectSoundBufferからIDirectSoundBuffer8を作るのがうまくいきません。 hr に E_NOINTERFACE が返されて失敗してしまいます。 IDirectSoundBuffer *pDSBuffer8 ; HRESULT hr = pDSBuffer->QueryInterface( IID_IDirectSound3DBuffer8 , (LPVOID*) &pDSBuffer8 ) ; どこが問題点か分かりますでしょうか。
269 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 12:14:58 ] >>267 外部アプリのゲーム画面をキャプチャしたいのか?だったら俺には分らん >>268 勘だがそっち向きは無理じゃね? IDirectSoundBuffer8からIDirectSoundBufferの取得ならわかるが…
270 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 13:24:04 ] >>268 The IDirectSound3DBuffer8 interface is obtained from a secondary DirectSound buffer that has been created with the DSBCAPS_CTRL3D flag in the dwFlags member of the DSBUFFERDESC structure. You can retrieve the IDirectSound3DBuffer8 interface by calling QueryInterface method on the buffer, as in the following sample code, where lpDsbSecondary is an IDirectSoundBuffer8 interface.
271 名前:268 mailto:sage [2008/04/09(水) 14:29:04 ] ありがとうございます。解決できました。
272 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 09:29:56 ] DirectXはダウングレード出来ないと聞きました。 今、PCに入っているDirectXのバージョンより下のバージョンに対応した ソフトを作るって無理なんでしょうか・・・ 例えば、今私のPCにはDirectX9が入っていますが このPCでDirectX5に対応したソフトを作るとか・・・ 出来ませんか?
273 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 10:12:43 ] >>272 DX5 SDKを入れれば作れる ランタイムは最新のままでオッケ 俺も仕事にあわせて複数のSDK入れてるよ DX5、DX7a、DX8、DX9c
274 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 21:49:19 ] 5とか7の仕事なんて今時あんのか・・・エロゲ?
275 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 21:57:08 ] エロゲと付録ゲ あとはDX嫌がるところはOS標準のDXにあわせてる
276 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 22:08:36 ] あんまり古いと逆に問題多いんじゃないか
277 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 15:51:24 ] 古すぎるとGDIでいいんじゃね
278 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 17:22:03 ] >>272 DirectX 9.0b SDK 今公開されている一番古いSDKで開発ができる これ以降のやつはDirectX8のヘッダが削除されているので開発できない ただ、古いバージョンでコンパイルしたいなら以下の指定が必要 // DirectX 5 を使用する #define DIRECTDRAW_VERSION 0x0500 #define DIRECTSOUND_VERSION 0x0500 #define DIRECTINPUT_VERSION 0x0500 今でもエロゲ開発には必要なのさ。。。
279 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 17:26:05 ] 動画プレーヤーを作りたいのですがDirectShowの質問って どこで受け付けてくれるのでしょうか。 自分の利用している開発環境はVC#2008expressionです。 プログラミング経験はなくC#もロクに理解してないので C++とかはいじれる気がしません。
280 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:44:55 ] DirectShowのスレあったけど落ちちゃってるんだよね。 てか経験無いようだから、取りあえずWMPコンポーネントとか使った方が良いと思うけど・・・
281 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:59:34 ] 動画再生よりむしろ静止画保存が目的なんで… サンプルながめてもフィルタやピンがどうのと なかなか素人の手に負えない状況です
282 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 19:29:38 ] >>281 じゃあ最初から最後まで教えろってこと?
283 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 19:35:07 ] ちゃんとヘルプ嫁 DirectShowはとっつきにくいが、意外と理路整然としてて使いやすいぞ 他のDirectXコンポーネントとは大違い
284 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 19:47:32 ] プッ
285 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 20:25:13 ] ゴチャゴチャやってたら偶然再生できるようなとことまで来たのですが 現在時間を取得しようと思ってもIMediaSeekingのGetCurrentPositionから どうやって数字や文字列をもらえればいいのかさっぱりです。 HRESULT GetCurrentPosition( LONGLONG *pCurrent);で NULL ポインタ引数が戻り値がとかいわれても、 C#だとどう記述したものやらと途方にくれてしまいます
286 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 20:45:55 ] サンプル読めばわかるだろ。 ちなみに、DirectShowはDirectXに今は含まれていないからスレ違いなんだ。
287 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:12:35 ] 60fpsで1フレームごとにキーボードの状態取り込むと 押したキーが何フレームにも渡って補足されるです。 どうすればいいですか?
288 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:17:54 ] 無視する
289 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 02:12:30 ] Async使えよ馬鹿
290 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 08:12:25 ] i8042のクロックで取り込む
291 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 08:24:10 ] 補足しないで捕捉する。
292 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 10:58:12 ] テクスチャAをテクスチャBにコピーしたいのですが どのような手段があるのでしょうか?
293 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 11:25:36 ] copy textureA.dds textureB.dds
294 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:11:03 ] ・テクスチャBをRenderTargetにしてレンダリング ・CopyRects ・Lock/Unlock どれでもお好きな方法を
295 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 16:38:01 ] >>294 d 助かりました
296 名前:デフォルトの名無しさん [2008/04/27(日) 19:31:06 ] DirectXの構造体の解説やマニュアルのみをただただ乗せてるだけってサイトないですか?
297 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 19:35:48 ] 本家は?
298 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 21:05:17 ] SDK落として嫁
299 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 23:39:05 ] 読めってあの大量のサンプルをか? それがめんどいんだが
300 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 23:49:31 ] ならやめろw
301 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 00:09:03 ] いやだ ぜってぇあきらめねぇ
302 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 00:51:48 ] ┌─┐ |も.| |う | │来│ │ね│ │え .| │よ .| バカ ゴルァ │ !!.│ └─┤ プンプン ソンナツメタイコトイウナヨ!! ヽ(`Д´)ノ ヽ(`Д´)ノ (`Д´)ノ ( `Д) ナイナラナイッテイッテクレヨ! | ̄ ̄ ̄|─| ̄ ̄ ̄|─| ̄ ̄ ̄|─□( ヽ┐U 〜 〜  ̄◎ ̄ . ̄◎ ̄  ̄◎ ̄ ◎−>┘◎
303 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 00:54:29 ] ┌─┐ |も.| |う | │来│ │ね│ │え .| │よ .| バカ ゴルァ │ !!.│ └─┤ プンプン ソンナツメタイコトイウナヨ!! ヽ(`Д´)ノ ヽ(`Д´)ノ (`Д´)ノ ( `Д) ナイナラナイッテイッテクレヨ! | ̄ ̄ ̄|─| ̄ ̄ ̄|─| ̄ ̄ ̄|─□( ヽ┐U 〜 〜  ̄◎ ̄ . ̄◎ ̄  ̄◎ ̄ ◎−>┘◎
304 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 08:27:59 ] >>296 どうみてもヘルプのことです ありがとうございました
305 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 18:58:41 ] 2次元で、 頂点V0〜V3で作られた四角形の中に点Pがあるかどうかって 四角形を構成する4つの線分の裏にPがあるかチェックで 調べているんですけど、もっと高速な方法ってありますか?
306 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:04:09 ] x>left&&x<right&&y>top&&y<bottom
307 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:23:13 ] 長方形じゃないです
308 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 08:37:24 ] マトリックスによる行列変換で直方体から変形可能なら逆行列使えば簡単。 でなければ305のやり方でいいんじゃない? ただ、線の裏側にあるかの判断方法によってだいぶ変わるはず。 ポリゴンなら点Pから一方向(例えば右)に線を引いて何回交差するかを調べる。
309 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 09:21:29 ] >>305 すべての角が180度以下であることが保障されるなら簡単だが、 180度以上の角がある場合は面倒。
310 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 17:15:12 ] ここのヘルプファイルをDLしてインストールしたんだけど、VSから参照できないのですか? ttp://www.microsoft.com/downloads/details.aspx?FamilyId=4B9B1752-6F6C-440E-816C-35D247570AE4&displaylang=ja
311 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 17:42:56 ] >>310 VSのバージョンくらい書けよ まあ、普通にIncludeとLibのパスを通せば使える ただ、VS2008とかだと、一部ファイルが新しいから、パスの参照優先順位を一番下にするのが吉
312 名前:デフォルトの名無しさん [2008/05/02(金) 22:03:41 ] VisualStudio2005、VC++でDirectSound (DirectX9)を使ったWaveプレーヤを作ってます。 再生ポジションの通知を行うためにIDirectSoundNotifyを使って数箇所SetNotificationPositionsして、、 という流れで書いていたのですが、↓のようなリンクエラーが出ちゃいます。 エラー 35 error LNK2001: 外部シンボル "_IID_IDirectSoundNotify" は未解決です。 Player.obj エラー 36 error LNK2001: 外部シンボル "_IID_IDirectSoundBuffer8" は未解決です。 Player.obj なぜでしょう。 ちゃんと #include <dsound.h> しているんですが。。
313 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 22:18:32 ] lib
314 名前:デフォルトの名無しさん [2008/05/02(金) 22:30:21 ] >313 あすみません、libも #pragma comment (lib, "dsound.lib") しております、書くの忘れてました。
315 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 23:11:42 ] dxguid.lib
316 名前:デフォルトの名無しさん [2008/05/02(金) 23:18:53 ] >315 ; ̄口 ̄]ナオッタ ありがとうございます、コンパイル通りました!! ありがとうございます!
317 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 04:33:07 ] 外部シンボル 〜 は未解決です てのはコンパイルエラーじゃなくてリンクエラーの事なのでライブラリの参照をすれ
318 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 09:16:59 ] Lightサンプルの真似してライト設置してるんだが、 自分で作った六面体がノッペリ同じ色で塗りつぶさてしまう。 こんな減少の場合、何を見落としてると思う? とりあえず、Lightサンプルの中に自分で作った六面体をぶち込んでみるわ
319 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 11:27:25 ] 法線データが入ってないってオチは?
320 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 16:49:09 ] C言語の知識だけでDiectXはできますか?
321 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 16:59:16 ] 全てのAPIがC言語からでも呼び出せる。
322 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 17:56:24 ] MSDNから日本語ドキュメントがごっそりなくなってるじゃねえか!市ね!! 改悪にもほどがある!!
323 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 06:59:12 ] >>321 クラスで出来てるんだからCだけで使えるわけないだろ
324 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 10:42:45 ] 法線データ入ってませんでした。 LightサンプルにD3DFVF_NORMALがあったので真似して、 D3DFVF_DIFFUSEも消したらうまくいった。 頂点にデフューズ色指定するとライトがうまく働かないの?
325 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:19:44 ] >>322 勘弁して欲しいよね。本気で。
326 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:20:10 ] >>320 できるけど面倒い。 C++ 使った方がよっぽどか楽。
327 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 18:18:21 ] ぐーぐるから見ようとすると「ないっす」って言われるんですよね
328 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 19:39:15 ] blogs.msdn.com/hiroyuk/archive/2008/04/30/msdn-directx-sdk.aspx これか?
329 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 19:50:19 ] ちょっと皆さん聞いてくださいよ。 さっき僕すごいもの見つけたんですよ本当に。 これ見てください。 fatalita.sakura.ne.jp/3DLib/ これ使えばもうわざわざDirectX覚える意味がなくなりますね^^V
330 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 19:53:42 ] これからは2004octの時代
331 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 20:24:03 ] >>329 のライブラリ使おうとするとブルースクリーンが出るんですけど^^; Init関数で死ぬとかドンだけー
332 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 12:44:07 ] >>329 なつかしいな まだアクティブなのか
333 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 14:59:30 ] 本家じゃなくて3D機能を強化してる互換版 ベータとはいえ開発環境依存、互換中途半端、重い 開発に付き合うほど暇ではないので1年後また見てみる
334 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 19:55:41 ] DirectXにはディスプレイ出力を取得するようなAPIはありませんよね? FrapsとかDxtoryはどうやってるんでしょうか? グラフィックのドライバレベルではディスプレイ出力の取得が可能?
335 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 20:49:32 ] 表示しているものは何であるか考えれば答えは出るよ
336 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 01:30:19 ] Frapsを見たことがないのでどうやってるのかは知らんが、 Presentにフック仕掛けてるだけじゃない?
337 名前:デフォルトの名無しさん mailto:saage [2008/05/07(水) 07:22:42 ] ヘタレな質問です。現在、DX8使用して背景に3D、キャラに2Dを表示しようと 考えております。 まず、セオリー通りテクスチャで表示したのですが微妙に歪み、 暗く表示されてしまいます。 そこで、backsurfaceというのがあると聞きつけたのですが、どのように使えば良いか、 コードでみせて下さると嬉しいです。 そもそも、LPDIRECT3DDEVICE8は、3D作成時の物で良いのか、 そして、表示先のバックサーフェイスをどうやって取得すれば良いのでしょうか。
338 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 10:00:08 ] 答える前に、一度でも検索したのかと問いたい
339 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 11:52:33 ] >>337 0.5ピクセルずらした? 詳しくはテクセルあたりでぐぐれ
340 名前:デフォルトの名無しさん mailto:saage [2008/05/09(金) 15:15:22 ] >>338 &339 無事解決しました。 backsurfaceに書き込み成功しました。 しかし、これだと3Dマテリアルの裏側に表示されてしまい、 テクスチャで前面にキャラクタを表示しようとすると、pngとかddsなら良いのですが、 オリジナルフォーマットだと対応できません。 spriteを使うと、数回はうまくいくのですが、不正終了を起こしてしまいます。 試しに何もないspriteを使ってもダメで、もちろんboundschkerにもかかりません。 単純な話し、GetPixelみたいなローレベル命令が書き込み画面に使えないのでしょうか。 backsurfaceはLockRectできたのですが、 テクスチャ書き込み済みの画面からの画面情報の拾得は出来ないのでしょうか。
341 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 15:22:57 ] backsurfaceなんぞよくわからんもの使うより 当初の予定通りできちんと表示される方法を考えたほうがいいんじゃないのか?
342 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 16:03:10 ] >>340 DX8はステートブロックでバグが発生する。そのためのエラー。DX9以上を使え。 Zオーダー無効で描画すれば、常に最前面だったような。 つーか普通にポリゴンの描画しかた覚えろ。簡単だぞ。
343 名前:デフォルトの名無しさん mailto:saage [2008/05/09(金) 16:07:36 ] >>341 いや、backsurfaceだときちんと表示されて、textureで表示すると、 0.5とかどう合わせても半ドットずれたり、暗くなったりする。 何枚かのビデオカードでチェックしたけどダメだった。 肝心の文字表示だけど、32*32ドットのpngでα抜きテクスチャ作って、 それをD3DXCreateTextureFromFileでロードして、 LockRectして、1文字ずつ文字を書き込むことに成功。 D3DXCreateTextureでD3DFMT_A8R8G8B8で作ってもだめ。成功した人いる?
344 名前:デフォルトの名無しさん mailto:saage [2008/05/09(金) 16:11:58 ] >>342 情報サンクス。一応D3DRS_ZENABLE,D3DZB_FALSEでやってます。 DX8.1は仕事の仕様でDX9にはできんのよ(TT XPSP1以降なら素直にDX9なんだけど、まだ初代XPの人が何人もいて(^^;
345 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 16:12:59 ] 四の五の言わずにソースだせと 日本語が下手すぎて何いってるかわからん
346 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 16:21:46 ] >>343 のソースが可笑しいことだけは伝わった。 世間のDX8で作られたゲームはちゃんと表示されてるだろ。
347 名前:デフォルトの名無しさん mailto:saage [2008/05/09(金) 16:24:46 ] 日本語ヘタでスマンのう。 ソース長いし、一応自己解決したし、 商用ソフトなんで、フォーマット変えてUPしなくちゃならんのでそれは勘弁。 とりあえず、D3DXCreateTextureでD3DFMT_A8R8G8B8指定した空のテクスチャで αブレンドをかけた文字を表示するのは失敗したけど、 元々1文字分32*32ドットのα付きのPNG作り、動的に書き換えながら、 画面中にαブレンドした文字を表示するのは成功しました。 日本語難しいな。ホント。
348 名前:デフォルトの名無しさん mailto:saage [2008/05/09(金) 16:27:29 ] >>346 ヘタレでスマン。どうしても歪んでしまう。 ttp://richa850.hp.infoseek.co.jp/programming/dx8_01.html 歪みは上記のURLを参考にさせていただきました。
349 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 16:30:45 ] ひょっとしてテクスチャのサイズは元のデータと同じにならない事を知らないおちか
350 名前:デフォルトの名無しさん mailto:saage [2008/05/09(金) 16:31:01 ] >>347 日本語間違えてる(^^; 1個だけ32*32のPNGを作り、D3DXCreateTextureFromFileで1個だけ読み込み、 こいつを1文字ずつLockRectで書き換えて画面にαブレンドで表示する事に成功しました。
351 名前:デフォルトの名無しさん mailto:saage [2008/05/09(金) 16:34:04 ] >>349 いや、800*600が1024*1024に拡大されてるのは知ってる。 だから困ってたんだけど、3Dモードと2Dモードで使い方を変えて、 3Dモードでの時の歪みはCGに怒られながら勘弁してもらう事にしたヘタレ。スマソ
352 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 16:43:22 ] 800x600の画像を1024x1024の左上に展開して描画すればドットバイドットになるわけだが・・・
353 名前:デフォルトの名無しさん mailto:saage [2008/05/09(金) 16:49:07 ] >>352 その方法も試したんですが、微妙に歪むところと暗くなるところがあり、 自分的には気にならないのですが、CGから見たら違う物だと言われて…。 >>348 の方法なら大丈夫なんですが、 テクスチャにするとどうしても微妙に違うらしくて、 CGにうとい自分だったら気にしないのですが、 プログラマ1人とCG5人だと発言力が(^^;
354 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 16:51:59 ] いったいどんな組み方してんだよと小一世紀・・・
355 名前:デフォルトの名無しさん mailto:saage [2008/05/09(金) 16:54:14 ] 3D部分も自力で組んでるんですが、色々と言われて落ち込んでます。 自分の実力だとLWと全く同じ結果に出来るはずもなく……orz 人生あきらめが肝心なので、ダメプログラマの烙印を押されても粘ります。 今までスレ汚し、スマンかった。
356 名前:デフォルトの名無しさん mailto:saage [2008/05/09(金) 16:55:59 ] >>354 雑誌のサンプルを実行しても、どうしても歪んでしまうんですよ。 ビミョーにですが。 逆にテクスチャで歪まないサンプルがあったら教えてもらえると嬉しいですm(__)m
357 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 17:02:50 ] いちいちロックして描画なんて阿呆なことするくらいなら 素直にDirectDraw使おうよ。
358 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 17:25:13 ] Direct3Dを全くわからない俺が思うに、 ・バックサーフェイス->OK ・テクスチャ->NG ・微妙に歪むところと暗くなるところがあり からして 色はシェーディング、拡散光、スペキュラ辺りに関連していることを 言っている気がする。 歪みは遠近法(平行投影とか透視投影)かと。
359 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 18:17:32 ] シェーダー切るの忘れているだけのような気がするけど・・・ ↓俺の汎用スプライトコードからの抜粋 Device->SetTexture(0, texture); Device->SetVertexShader(D3DFVF_TXVertex3); Device->SetStreamSource(0, m_VertexBuffer, sizeof(TXVertex3)); Device->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE); Device->SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID); Device->SetRenderState(D3DRS_ALPHATESTENABLE, FALSE); Device->SetRenderState(D3DRS_CULLMODE, D3DCULL_CCW); Device->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); Device->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); Device->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); Device->SetRenderState(D3DRS_FOGENABLE, FALSE); Device->SetRenderState(D3DRS_SPECULARENABLE, FALSE); Device->SetRenderState(D3DRS_CLIPPING, FALSE); Device->SetRenderState(D3DRS_LIGHTING, FALSE); Device->SetRenderState(D3DRS_VERTEXBLEND, D3DVBF_DISABLE); Device->SetRenderState(D3DRS_CLIPPLANEENABLE, FALSE); Device->SetRenderState(D3DRS_BLENDOP, D3DBLENDOP_ADD); Device->SetRenderState(D3DRS_TEXTUREFACTOR, Color);
360 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 18:18:36 ] Device->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE); Device->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE); Device->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TFACTOR); Device->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE); Device->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE); Device->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_TFACTOR); Device->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_DISABLE); Device->SetTextureStageState(1, D3DTSS_ALPHAOP, D3DTOP_DISABLE); Device->SetTextureStageState(0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_DISABLE); Device->SetTextureStageState(0, D3DTSS_ADDRESSU, D3DTADDRESS_CLAMP); Device->SetTextureStageState(0, D3DTSS_ADDRESSV, D3DTADDRESS_CLAMP); Device->SetTextureStageState(0, D3DTSS_ADDRESSW, D3DTADDRESS_CLAMP); Device->SetTextureStageState(0, D3DTSS_MAGFILTER, D3DTEXF_POINT); Device->SetTextureStageState(0, D3DTSS_MINFILTER, D3DTEXF_POINT); Device->SetTextureStageState(0, D3DTSS_MIPFILTER, D3DTEXF_NONE); Device->SetTextureStageState(0, D3DTSS_MIPMAPLODBIAS, 0); Device->SetTextureStageState(0, D3DTSS_MAXMIPLEVEL, 0); Device->SetTextureStageState(0, D3DTSS_MAXANISOTROPY, 1);
361 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 18:31:58 ] まともに組めば絶対に歪まないはずだから頑張れよ。 とりあえずウィンドウ一個出してそこにテクスチャ表示するサンプルなら 30分で書けるでしょ。それうpすりゃいいじゃん。
362 名前:デフォルトの名無しさん mailto:saage [2008/05/09(金) 20:33:02 ] ありがとう>ALL 1ドットの歪みが出るのが直らないのですが暗いのはシェーダのせいでした。 背景が3Dのせいで、その上に重ねるキャラが1ドットどうしても歪んでしまいます。 もう一度、切り分けをして単純化してプログラムを組んでみます。 それと、D3DXCreateTextureでD3DFMT_A8R8G8B8指定した空のテクスチャでも ちゃんとαブレンドが効きました。ありがとう御座いました。
363 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 21:03:14 ] 商用ソフト作ってる人間がこの程度のことを自己解決できないなんて
364 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 21:20:38 ] え?俺は同人かと思ってレスしてたんだが・・・・
365 名前:デフォルトの名無しさん mailto:saage [2008/05/09(金) 22:15:10 ] 初めて一週間でして……。 昔、PC-DOS時代にDOOM系のFPSゲームを作った事があったので、 3Dダンジョン部分はすぐ出来たのですが、2D表示にはまってた次第です(^^; ピクセルのズレも切り分けでき、どうにかCGに怒られずに済みそうです。 一時はCreateDIBでやって、ブレゼンハム3Dで作った方が…と考えたところ、 皆さんのおかげでD3DXにとどまれました。 レンダリングステート関連って、知ってないと分からないことばかりで、 WIN-APIを覚えた時を思い出しました。覚えることが多くて大変です(@@
366 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 22:54:13 ] ちなみにドットズレの原因は背景3D表示のViewFromの問題で、 精密に計算して、3D表示の方もすこしずらしたら起きなくなりました。 >>358 さんの遠近法で当たってました。 皆様、ありがとう御座いました。
367 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 23:15:57 ] >>363 商用でこんなとこで質問してるなら軽蔑するわw
368 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 23:42:38 ] あれ・・・? てっきりテクスチャを2Dで描画してるのかと思ったら3D空間に1枚絵を描いてたのか
369 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 04:30:06 ] >>367 同人より実力のないプロでゴメンm(_)m >>368 そのとおりです〜。
370 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 08:47:43 ] プロ崩れの同人もいるわけだし仕方ないんじゃね?
371 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:26:25 ] 3Dダンジョン、フルサイズ背景表示、ラスタキャラ表示、手前にメッシュ表示、 そして文字表示エンジンが完成しました〜。 Intelチップで不具合が出たのですがステートを直したらどうにかなりました。 一週間でどうにか出来たのはひとえに皆様のおかげです。ありがとうm(__)m
372 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:29:11 ] これで月曜日の納品に間に合います。 なにげにサンプルメッシュを作るのに時間がかかってしまいました。 LWの解説サイト様、ありがとう御座いました。m(__)m あとはゆっくり寝てバグだしをします。 おやすみなさい〜zzz
373 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:37:14 ] だからここに日記を書くなよ…
374 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:43:32 ] ボーンの処理どうやった?
375 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 12:08:25 ] 初心者隔離スレだからいいんじゃねぇの? 本スレ汚されるよりな。
376 名前:デフォルトの名無しさん mailto:age [2008/05/11(日) 00:20:17 ] テクスチャは256x256以下で2^nサイズの正方形にすると良いって暗黙の了解があるが やっぱり今時のハードでも256x256以下の方が良いのかな? というか今時ので512x512で表示が乱れるとかぼやけるとかってやつある?
377 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 00:30:12 ] >>376 >というか今時ので512x512で表示が乱れるとかぼやけるとかってやつある? ハードウェアの問題と 自身のプログラミングの問題を混同してるうと思う… 512x512のテクスチャでも、貴方のコードがおかしければ 表示が乱れるとかぼやける事は十分あるかと
378 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 03:11:29 ] >テクスチャは256x256以下で2^nサイズの正方形にすると良いって暗黙の了解 何年前の話だ・・・ぶーどぅーとかの時代だろ。 テクスチャのサイズ、正方形、2^nの制限などは全てCAPSで取れるので それを起動時に見て作るテクスチャや作り方などを判断すればいい。 ぼやけるかどうかはプログラムの問題でハードの問題ではない。
379 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 16:08:46 ] 広大なMAPを作るとして、みなさんはラップアラウンド問題はどうしてますか? 1画面分移動したら0に戻すとかで対応ですか? そもそも、広大なMAPは作らない方針ですか?
380 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 16:41:55 ] 4bitで -2147483648〜2147483647 だから DbD単位で数値持ってても左右で100万画面分以上あるから悩んだことないな どんだけ広大なマップを作る予定なのさ 世界一周でも足りる気がするが… それより俺は3Dゲーの広大なマップでfloatの制度をどう解決してるかが知りたい
381 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 16:42:33 ] すまん4byteだw
382 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 20:14:03 ] >>380 ああ、ごめん、おれもfloat制限の事、ききたかったんだ。すまそ。
383 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 22:14:22 ] 位置に関するオフセットだけ別にもって描画に使うギリギリまで原点基準の座標で計算するようにする。 ビューの行列生成に対して逆移動を適用して描画における計算上だけ整合性をとって、 通常の計算は精度の高いローカルのまま計算をする。
384 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 22:27:16 ] メッシュを拡大(ScalingMatrixかけて)して描画すると 真黒になるのは何故なんだぜ?
385 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:27:35 ] 法線
386 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 08:29:56 ] >>383 そうやっても、原点から遠ざかっていくとだんだんずれてこないか? たとえば時速10000キロで飛行機を原点から遠ざかるように飛ばし続けて その後ろをカメラが追従するようにするとそのうちブルブル振動し始める >>384 法線を正規化するレンダーステートかなんかがあった気がする 調べるのはめんどい
387 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 12:42:19 ] D3DRS_NORMALIZENORMALS
388 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 01:31:55 ] DirectX9にて、テクスチャを描画すると画像がぼやけてしまい困っています。 各座標-0.5fやSetSamplerStateでPOINT/NONE(一応バイキュービックなども試しました)を指定など、調べて出てくること・考えられることは試してきたので、 最初のぼやけっぷりと比べればある程度見れるような状態にはなってきているのですが、それでもまだぼやけています。 今は、とりあえず倍の解像度のテクスチャを使って凌いでいます。(これなら、ぼけないように見えます) 高精細の画像を用意することなく、画像のそのままをDirectXで描画するにはどうすればいいのでしょうか? ご教授をよろしくお願いします。
389 名前:388 mailto:sage [2008/05/14(水) 01:34:37 ] 書き忘れました。 使っている画像はPNG(透過)、解像度は640x480です。
390 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 02:08:41 ] トランスフォーム済み頂点かい?
391 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 02:09:10 ] フルスクリーンでアスペクト違いとかだったら殺すぞ?
392 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 02:11:43 ] FAQ過ぎるんだが確認事項が多すぎて一々レスしてくのめんどくせ。 再現コードうpして頂戴。
393 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 02:39:35 ] FAQすぎるけど、ここってそういうスレだろうw >>388 D3DXCreateTextureFromFileでテクスチャ作ってるだろ? この関数では2のn乗のサイズのテクスチャしか作れない。 D3DXCreateTextureFromFileExを使えば解決。 引数は自分で考えるかググってくれ。
394 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 06:09:43 ] 頂いたご意見を検証しましたところ、読み込みの時点で2の乗数のサイズになってしまっていたようです。 D3DX_DEFAULT_NONPOW2を指定したところ、綺麗に描画することができました。 >>390 様、>>391 様、>>392 様、>>393 様、どうもありがとうございました。 半年間続いた気持ち悪さも抜けました。これで気持ちよく眠れます。 本当にありがとうございました。
395 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 15:29:58 ] その後、>>394 は半年のあいだ目覚めることが無かったという めでたしめでたし
396 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 15:57:25 ] >>395 どっかいけ 二度とくんな
397 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 12:46:59 ] >>396 おまえもくんな
398 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 12:48:21 ] >>394 NONPOW2できないデバイスもあるかもしれないんだぜ D3DX_FILTER_NONE
399 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 15:56:30 ] D3DX_FILTER_NONE使った場合、実際は2のべき乗のテクスチャが作られても画像は拡大されない つまり、DbD表示は可能だけどそのためにはUVを調整する必要があるんだな 俺もハマったなぁ…
400 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 16:41:35 ] info.width/dest.width
401 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 16:41:56 ] destじゃないdescだ
402 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 19:13:56 ] ヘルプ嫁よ
403 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 08:52:34 ] >>402 誰に言ってるんだ?
404 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 14:44:19 ] 自分に言い聞かせてるんだろ
405 名前:デフォルトの名無しさん [2008/05/18(日) 02:43:39 ] ユニビーム
406 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 21:34:00 ] >>405 おまえのお陰でアイアンマンが映画化されている事を知った しかも大ヒット
407 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 14:16:42 ] リパルサー
408 名前:デフォルトの名無しさん [2008/05/21(水) 03:01:54 ] ∧_∧ ♪ ∧_(∧ω^ ) ∧ ^∧^ ) > ( ^∧^_∧>/ ♪ ( ^∧^__∧ ヽ( ^∧^_∧ ♪ < ( ^ω^ ) 過疎るな | < > (_/ /ヽヽ (_) (__)
409 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 08:24:43 ] これってDirectxで動いてんの? www.nicovideo.jp/watch/sm989934
410 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 08:37:55 ] >>409 知らない映像も交じってるが知ってるプリレンダー映像に関してはCPU処理かな リアルタイム処理だったらDirectXでもできるだろうけど…
411 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 14:34:14 ] DirectXで作ったとしても DirectXの知識1割ぐらいだな
412 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 15:16:02 ] てかDirectXだろうがPS3だろうがリアルタイムレンダリングできるわけないだろ 水はサンプリング粒子が多すぎる
413 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 16:39:04 ] 数年後には実現できていたりする
414 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 17:20:43 ] DX11はリアルタイムレイトレーシングを見据えているんだっけ? それともあれはIntelのプレゼンか何かだったかな?
415 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 18:41:08 ] これ以上バージョンを出すな!
416 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 19:50:49 ] 高性能はおなか一杯だから マイクロソフトは、軽快なOSを出してくれマジで
417 名前:デフォルトの名無しさん [2008/05/21(水) 21:20:03 ] 昨日からDX勉強してる超初心者なんですが、 画面に立方体のポリゴンを表示してみたんですが なんか全体的に絵が硬い感じがします。 もう少しやわらかくぼやけた感じに描画したいんですが どうすればよいですか?
418 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:38:46 ] 一番手軽なのはあくび
419 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 21:41:43 ] 生理現象を待つよりも目薬がおすすめ
420 名前:デフォルトの名無しさん [2008/05/21(水) 21:54:28 ] >>418 >>419 意地悪いわんでおしえてくれ〜 とりあえず調べてみたけどアンチエイリアスだけで何とかなる?
421 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 22:04:23 ] あんたの言うぼやけた感じってのがわかんねぇから意地悪したくなるんだけどなw アンチェリかけただけで良いのか? DOF的なカメラフォーカスのぼやけが欲しいのか? HDRシーンのようなぬったりぎっとり画面が欲しいのか? アンチェリだけならデバイス作成のフラグ変えるだけなんだからまずは試してみれ (ビデオカードが対応していることが前提だが)
422 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 08:30:21 ] アンチェリかけてダメならHDRとグレア処理やって ダメならDOFやってだめなら空気遠近法ってとこか 立方体を平らな板の上に載せてAOテクスチャでも張れば案外柔らかくなるんじゃね?
423 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 09:48:23 ] 単にライティングしてないってオチじゃね?
424 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 11:12:42 ] >>409 これはリアルタイムっぽいな www.nicovideo.jp/watch/sm2449118
425 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 16:28:03 ] >>420 スナップショットうp
426 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 17:36:36 ] XY平面上にポリゴン等のモデルオブジェクトを配置した状態で、カメラの視線はZ軸に平行にしています。 この状態でマウスドラッグでカメラの水平座標(X,Y)をOffsetするようにしています。 また、マウスホイールでカメラの鉛直座標(Z)をOffsetしています。 カメラ座標Zによってマウスドラッグ時のカメラの水平移動量を調節したいです。 具体的に言いますと、スクリーン座標(10,10)から(510,10)までマウスドラッグした場合に、 500ピクセル分のカメラ移動をするのですが、一律のOffsetでは当然カメラ高度が高ければ高いほどオブジェクトの 見かけの移動量が少なくなってしまいます。これを上手く調節して、500ピクセル分の移動であれば現在のカメラ画像の高さにおいて 見えているオブジェクトの500ピクセルに相当する分の座標でOffsetしたいのですが、その計算方法が分かりません。 DirectXで使っているPerspectiveCameraではFieldOfViewを設定していますが、カメラ焦点距離に当たるものが 見つけられませんでした。焦点距離と画角とZさえわかれば求まると思うのですが。 説明が下手で申し訳ありませんが、参考になるサイトかアドバイスがあれば宜しくお願いいたします。 環境: VisualC#2008、WPFアプリケーションのViewport3Dを利用しています。 スレ違いと言われるかもしれませんが、WPFスレではWPFのGUI関連のスレに見受けられまして、 カメラのOffset等こちらのスレで質問した方が良いのではないかと勝手に判断いたしました。
427 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 17:58:10 ] 焦点距離はFOVから算出するものだろ。 フィルムサイズによっても変わるものだし。
428 名前:426 mailto:sage [2008/05/22(木) 18:22:05 ] >>427 フィルムサイズとFOVが分かれば確かに焦点距離が求まるのですが、 フィルムサイズってどこで分かりますか?
429 名前:426 mailto:sage [2008/05/22(木) 18:26:21 ] あ、なんか分かったかも。 Viewport3Dコントロールがリサイズされれば当然オブジェクトの見た目も変わりますね。 ちなみにFOVって水平画角であってますか?そうであればフィルムサイズはViewport3Dコントロールの 水平方向のサイズから求まると思います。 鉛直画角ではないですよね?
430 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 18:27:47 ] 好きに決めろ。 「FOVがXならフィルムサイズnの時の焦点距離がYです」という言い方しか出来ない。 通常は35mmがメインっぽいけど別に決まってるものではなく仮定するものだと思うが。 さらに言うならマウスでドラッグしたスクリーン上の移動を見かけ上一致するように 3D空間でも移動を行なうのに焦点距離はまったく必要ない。
431 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 18:31:01 ] >>430 >さらに言うならマウスでドラッグしたスクリーン上の移動を見かけ上一致するように >3D空間でも移動を行なうのに焦点距離はまったく必要ない。 そのやり方についてヒントだけでも教えてもらえませんか?
432 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 18:51:28 ] スクリーン座標に変換する->マウスの位置へ移動する->ワールド座標に戻す。 スクリーンからワールドに戻すときにzはどうするんだって話になるが、 元々ワールドに存在するオブジェクトならそのままのzをもってきて計算すればいい。
433 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:14:53 ] Xファイルがなぜか1ファイルしかロードできない。 原因として考えられるのは何でしょうか。 変数もグローバルで[MAX_MESH]を付けているのに、 最後にロードした物しか見れません。 変数の上書きも考えて、いろいろグローバルにして{MAX_MESH]をつけてもダメでした。 ご教授、お願いしますm(__)m
434 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:15:44 ] // メッシュ関連 LPD3DXMESH pMeshApp[MAX_MESH]; LPD3DXBUFFER pMeshAdjacency[MAX_MESH]; LPDIRECT3DTEXTURE8* ppTexture[MAX_MESH]; D3DMATERIAL8* pMaterial[MAX_MESH]; DWORD meshSubsets[MAX_MESH];; D3DXVECTOR3 meshCenter[MAX_MESH]; float meshRadius[MAX_MESH]; float meshfx[MAX_MESH],meshfy[MAX_MESH],meshfz[MAX_MESH]; // 移動位置 float meshax[MAX_MESH],meshay[MAX_MESH],meshaz[MAX_MESH]; // 回転 float meshsx[MAX_MESH],meshsy[MAX_MESH],meshsz[MAX_MESH]; // スケーリング float nummesh[MAX_MESH];
435 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:19:01 ] /*--------------------------------------------- X-Fileの読み込み ---------------------------------------------*/ int LoadXFile(int n,float d,char* filename) { LPD3DXMESH pMesh; LPD3DXBUFFER pMatBuf = NULL; D3DXMATERIAL* pMat; DWORD n,i,c,e; nummesh[n]=d; if(FAILED(D3DXLoadMeshFromX(filename,D3DXMESH_MANAGED,pD3DDevice,&pMeshAdjacency[n],&pMatBuf,&c,&pMesh))) return FALSE; DeleteMeshObject(n); pMeshApp[n] = pMesh;
436 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:19:37 ] //マテリアルとテクスチャの設定 pMat = (D3DXMATERIAL*)pMatBuf->GetBufferPointer(); for(i=0;i<c;i++){ ppTexture[n] = (LPDIRECT3DTEXTURE8 *)malloc( 4*c ); pMaterial[n] = (D3DMATERIAL8 *)malloc( 4*c ); } meshSubsets[n] = c; for(i=0;i<c;i++){ pMaterial[n][i] = pMat->MatD3D; pMaterial[n][i].Ambient = pMaterial[n][i].Diffuse; ppTexture[n][i] = NULL;
437 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:20:22 ] //テクスチャ読み込み if(pMat->pTextureFilename) if(FAILED(D3DXCreateTextureFromFile(pD3DDevice,pMat->pTextureFilename,&ppTexture[n][i]))) return FALSE; } RELEASE(pMatBuf); LPDIRECT3DVERTEXBUFFER8 pVB; BYTE* pV; pMesh->GetVertexBuffer(&pVB); pVB->Lock(0,0,&pV,0); pVB->Unlock(); pVB->Release(); if(pMeshApp[n]->GetFVF() != (D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX1)){ pMesh = NULL; pMeshApp[n]->CloneMeshFVF(pMeshApp[n]->GetOptions(),D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX1,pD3DDevice,&pMesh); pMeshApp[n]->Release(); pMeshApp[n] = pMesh; D3DXComputeNormals(pMesh,NULL); } return TRUE; }
438 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:21:43 ] //------------------------------------------------------------------------ //メッシュ表示 //------------------------------------------------------------------------ void dispMesh( int n ) { // 表示位置を球体1へ移動 //メッシュの描画 D3DXMATRIX matWorld,matTrans; if(n==0)meshfx[n]=-400;meshfy[n]=20;meshfz[n]=200; if(n==1)meshfx[n]=-400;meshfy[n]=20;meshfz[n]=-200; meshaz[n]=90; for(DWORD i=0;i<meshSubsets[n];i++){ D3DXMatrixIdentity(&matWorld); D3DXMatrixScaling(&matWorld,meshsx[n],meshsy[n],meshsz[n]); D3DXMatrixRotationX(&matWorld,(meshax[n]*3.14f/180)); D3DXMatrixRotationY(&matWorld,(meshay[n]*3.14f/180)); D3DXMatrixRotationZ(&matWorld,(meshaz[n]*3.14f/180)); D3DXMatrixTranslation( &matTrans,meshfx[n],meshfy[n],meshfz[n]); matWorld*=matTrans; pD3DDevice->SetTransform(D3DTS_WORLD,&matWorld); pD3DDevice->SetMaterial(&materialApp); pD3DDevice->SetMaterial(&pMaterial[n][i]); pD3DDevice->SetTexture(0,ppTexture[n][i]); pMeshApp[n]->DrawSubset(i); } pD3DDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE); pD3DDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE); pD3DDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TFACTOR);
439 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:22:27 ] // 表示位置を元に戻す(表示位置と視点位置は同じっぽい) D3DXMatrixIdentity(&matWorld); pD3DDevice->SetTransform(D3DTS_WORLD,&matWorld); pD3DDevice->SetStreamSource(0,NULL,0); pD3DDevice->EndScene(); }
440 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:38:40 ] とりあえずメッシュを一つだけ管理するクラスを作ってそれらを複数持てば解決するんじゃないかな
441 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:44:25 ] バッファって普通はメインメモリに取られてるんですか?それともGPU?
442 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 20:15:37 ] やっぱりクラスにするしか内ですかね……。 C++はあんまりよく知らないのですよ。頑張ってみます。
443 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:45:12 ] 別にC++つかってクラスにする必要はない。 単におたくのソースが見づらくてよくわからんってだけだろう。 バッファがメインメモリかビデオメモリかは「自分で指定する」ものだ。 DirectXのリファレンスを暗唱できるまで読むがいい。
444 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:04:51 ] 本に載ってたソースなのですが、見づらいですか。 本も選びようですね。
445 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:18:42 ] とりあえず、LoadXFile内で ローカルに宣言されてる LPD3DXMESH pMesh; の値をいくらグローバルに入れようとしても無駄だと思う
446 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 02:05:25 ] DirectX End-User Runtime Web Installerをインストールしたら、DXのバージョンが10になった DX9.0Cにはもう戻せないのかな?
447 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 02:35:18 ] 10.0入ってるなら9.0c含んでるし
448 名前:433 mailto:sage [2008/05/24(土) 07:06:08 ] 自己解決しました。 pMaterial[n] = (D3DMATERIAL8 *)malloc( 4*c ); を pMaterial[n] = (D3DMATERIAL8 *)malloc( sizeof(D3DMATERIAL8)*c ); にしたらちゃんと複数体表示できました。 ありがとう御座いました。
449 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:40:32 ] DirectX SDK March 2008のインストーラを実行すると、 DirectX Runtime Setup Failed(-9) An internal system error occured. Please refer to DXError.log and DirectXlog in your Windows floder to determine problem. と出ますが、Vistaじゃないとだめだとかありますか?
450 名前:449 mailto:sage [2008/05/24(土) 18:43:10 ] DXError.logを見ると、何らかのライブラリが必要みたいなのですが・・・ -------------------- [05/24/08 18:31:16] module: DSETUP(Mar 5 2008), file: dsetup.c, line: 442, function: LoadDSetup32 Failed API: LoadLibrary() Error: (126) - 指定されたモジュールが見つかりません。 -------------------- [05/24/08 18:31:16] module: DSETUP(Mar 5 2008), file: dsetup.c, line: 155, function: DllMain Failed API: CloseHandle() Error: (6) - ハンドルが無効です。 (略)
451 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:34:45 ] ファイルがこわれてたんじゃねーの
452 名前:449 mailto:sage [2008/05/24(土) 21:21:39 ] 3回ダウンロードしてみて、解凍されたファイルを比較しても全部同じでした 既にWindowsにあるファイルが正常か検証する方法ってあるんですかね
453 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 21:41:34 ] WindowsXPでも問題なくインスコできてるが・・・
454 名前:デフォルトの名無しさん [2008/05/25(日) 09:25:28 ] 著作権フリーのXファイルがたくさんおいてあるページないですか?
455 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 09:38:35 ] ありません 比較的数の多いメタセコイアからコンバートすれば?
456 名前:デフォルトの名無しさん [2008/05/25(日) 11:25:57 ] direct xってそもそも何?
457 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:06:02 ] >>456 各種ハードウェアアクセラレータを利用するためのインターフェース。 DirectX以前からアクセラレータはあったが、各製品ごとに専用のコードを 書く必要があった。 それらに統一されたアクセス手段を提供するものがDirectX。 いつの間にか立場が逆転して、DirectXが先に仕様を決めてハードウェアで それを実装するという関係になったけどね。
458 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:06:51 ] ゲームが作りたかったビルゲイツの夢 のはずだった
459 名前:デフォルトの名無しさん [2008/05/25(日) 13:11:02 ] >>457 dクス
460 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:15:47 ] Windows3.1の時代に、カンファレンスかなんかだったかな? ビルゲイツがゲームをWindows上でプレイするのが当たり前になるって言って 会場が失笑の嵐に包まれたけど、ほんとに当たり前になっちゃったね ビルゲイツはすごいね
461 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:16:34 ] GDIなんざ使ってたら遅くてゲーム作れねぇよ! とDOSでブイブイ言わしてたゲーム開発者達に怒られたから
462 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:24:56 ] 古きよき時代という奴だな・・・ 当時のブイブイ言わせてた人間は今どれほど残ってるのだろうか・・・
463 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:38:19 ] 処理リソース占有させろッ!
464 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:53:42 ] 今じゃWindows上どころか、ブラウザ上でゲームしてるしな。
465 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:54:38 ] 携帯上でJavaVM動かしてゲームとか想像の範疇外だったな
466 名前:デフォルトの名無しさん [2008/05/25(日) 14:27:09 ] VBなんですが 透過色をメッシュに設定する方法がわかりません どなたか教えてください CだとD3DXCreateTextureFromFileExって関数で設定できるみたいなんですが・・・
467 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 11:45:59 ] >>462 30代後半だけど、同じ会社でまだ生き残ってる
468 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 13:28:15 ] 工画堂乙 ファルコム乙 チャンピオンソフト乙 ・・・もう思いつかねえや
469 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:20:15 ] ゲームパッドのボタンをフックしたいんだけど、どうすればいい?
470 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:11:25 ] DirectInputとマルチメディアAPIにフック仕込むだけだろ
471 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:36:26 ] >>470 ごめん、よくわかんない.. 参考URLorサンプルコードplz
472 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:24:23 ] 偽装カーネルでフックすればいいだろ
473 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:23:00 ] >>471 470の説明で分からないなら無理。 API一発でできるようなものではない。 数百行程度のコードが必要。
474 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 09:42:05 ] >>472 kwsk
475 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 09:47:58 ] >>474 がわが違うだけで結局>>473 と同じ事だよ
476 名前:デフォルトの名無しさん [2008/05/27(火) 11:42:08 ] Core2Quad Q9450でPS2エミュをやると、実機と違い処理オチせず、激ムズになることが判明 namidame.2ch.net/test/read.cgi/news/1211740649/l50
477 名前:デフォルトの名無しさん [2008/05/27(火) 21:41:16 ] どなたか>>466 お願いします
478 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:01:32 ] 多分、DirectX使いでVB使いな人は希少なんじゃね?あくまで直感だが。
479 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:28:59 ] VBからDirectXなんて、どうやって使うのかも知らないしな。 Managed DirectXは無くなったんだよね?
480 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:41:51 ] 非公式だけどSlimDXなんてのもあるよ .NETでDirectX触るならC#の方がまだポピュラーだね XNAやWPFではVBはお呼びでないし
481 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:44:09 ] DirectX10をダウンロードしようとすると「Internet Explorer ではこのページは表示できません」の画面になります そもそもDirectXのHPに行くだけでその画面になったりします どこか一つくらいエラーにならず落とせる場所はないかと探してたら ここで ttp://jp.brothersoft.com/ DirectX 9.22.1284は落とせました しかしインストールしようとすると 「ファイルをダウンロードできませんでした」と失敗します DirectXに嫌われているんでしょうか。
482 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:47:31 ] MSに嫌われてるんじゃね? 割れ使ってるとかさ
483 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:58:19 ] 割れとかは使ってませんが、マイクロソフトのページ行ってみたら見れませんでした MSに嫌われたようです
484 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 00:00:38 ] そういえばMSのダウンロードセンターは、正規のOSのチェック通らないと 落とせないな。
485 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 08:46:07 ] >>466 透過色をメッシュに設定するってことはテクスチャじゃなくてマテリアルの話では?と突っ込んでみる そもそもVB6なのかVB.netなのか… VB6だともう資料が少なすぎるな
486 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 15:57:13 ] >>483 ブラウザは何? IE5.5とか?
487 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 19:12:00 ] 割れって言葉を理解できてないゆとりかもしれない
488 名前:デフォルトの名無しさん [2008/05/28(水) 19:17:31 ] >>485 .NETです マテリアルに透過色を指定する方法教えて下さい
489 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 20:17:29 ] ハッピーマテリアル
490 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 20:37:09 ] >>483 VISTAじゃねぇとか?
491 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 08:48:29 ] 1.メタセコイアかなんかでマテリアル設定の透明度を設定してXファイル作成 アルファ情報が出力できないようなツール使ってるんならテキスト出力して手動で書き換え 2.普通にメッシュロード 3.普通にテクスチャロード 4.アルファブレンド関連の設定 5.レンダリング つーか基本的な流れはManaged(.net)だろうがVB6だろうがC++だろうが変わらない 気をつけるのはテクスチャ張る場合はカラーとの合成方法か 後はmanagedのリファレンス嫁 つ ttp://www.microsoft.com/downloads/details.aspx?displaylang=ja&familyid=1419557b-95cb-475e-9ed1-6817b3b9cb0a これもダウンロードできないとか言うなよ
492 名前:デフォルトの名無しさん [2008/05/29(木) 11:17:19 ] ディスク上のPNG画像からテクスチャを読み出すときはD3DXCreateTextureFromFileExを使うが すでにPNG画像ファイルがメモリ上に読まれていて開始位置ポインタとサイズを持っている場合 どうすればいいだろう?わざわざ読ませるだけのために一時ファイル作るのもどうかと思うし……
493 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:20:14 ] >>492 自己レス。 D3DXCreateTextureFromFileInMemoryExってのがビンゴかな?
494 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:24:31 ] 質問です。 DX9とC++でゲームを作っているのですが、 二十枚程度のpng画像(アルファつき・VGA以下)をテクスチャとして読み込むと、 メモリ使用量が80MBほど上昇してしまいます。 画像は全部あわせてもせいぜい4〜5MBなのに、どこで20倍になってるんでしょうか? ミップマップは、1つしか作ってないはずなのですが・・・。
495 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:30:18 ] >>493 ビンゴ! >>494 pngは圧縮かかってるからな 全部BMPに変換して合計容量*1.33すると80MBになるんでね? 圧縮状態で読み込みたいならddsファイルにするといい
496 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:30:56 ] ミップマップ1つなら1.25か
497 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:38:24 ] >>495-496 音速レスありがとうございます。 なるほど・・・考えてみれば、元が何だろうとテクスチャにした時点では無圧縮に揃ってしまうのですね。 計算したら大体合っていたので、これからddsを試してみます。
498 名前:デフォルトの名無しさん [2008/05/29(木) 17:21:05 ] 質問です。 VS2005+DirectX9.0cSDKでWeb見ながら学習開始したのですが、 わかりやすい本が一冊欲しいなと感じています。 ・ポインタ、参照、STLが普通に使える程度のC++使い ・DXライブラリでマインスイーパ、テトリス、インベーダー、ペンゴが作れる。 ・ペンゴが完成して、次は3Dに行きたくてDXライブラリ卒業 ・Seleneをインスコしたが、DirectXの基礎を理解していないので「出来合いを使わされてる」感が嫌 ・DirectX9.0cSDK学習開始←いまこのへん こんな程度のレベルですが、お薦めの書籍はありましたら教えてください。
499 名前:デフォルトの名無しさん [2008/05/29(木) 17:24:02 ] 498です。 「普通に使える」とかいって偉そうな表現になってすいません(涙) なんと表現して良いのか分かりませんが、とりあえず、意味を分かって使えるという程度です。 ホントすんません。 今後気をつけます。
500 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 17:45:58 ] >>498 入門は、みんな大体、I/O別冊シリーズかもしれない Amazon.co.jp: 書籍版 DirectX9実践プログラミング (I・O BOOKS): 第二I O編集部: 本 www.amazon.co.jp/%E6%9B%B8%E7%B1%8D%E7%89%88-DirectX9%E5%AE%9F%E8%B7%B5%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-I%E3%83%BBO-BOOKS-O%E7%B7%A8%E9%9B%86%E9%83%A8/dp/4875934998 入門に使えるか知らないけど 個人的には、これがお勧め。 Amazon.co.jp: DirectX逆引き大全500の極意―Visual C++2002/2003/2005対応: 鎌田 茂雄: 本 www.amazon.co.jp/DirectX%E9%80%86%E5%BC%95%E3%81%8D%E5%A4%A7%E5%85%A8500%E3%81%AE%E6%A5%B5%E6%84%8F%E2%80%95Visual-C-2002-2003-2005%E5%AF%BE%E5%BF%9C/dp/4798013161 まあ、たくさんありすぎるので 書店で立ち読みしまくってしっくり来るやつ買えばいいんじゃね。 DirectX関連書籍たくさん買ってしまったって人多そう
501 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 17:52:18 ] 逆引き発売から2年もたってたのか… 最近時間の流れが速すぎる
502 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 00:24:11 ] リファレンスが書籍で売られてたときから DirectXに触ってるけどちょっと前と比べて 最近は関連書籍の数が増えて恵まれすぎだろう これ1冊でOKみたいな本は相変わらずないが 部分部分みれば面白いこと書いてある本がいっぱいある この前本屋であまりの数に吹いたぜ
503 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 02:08:23 ] シェーダの深い使い方とか解説してる本が欲しいな ヘルプ見ればわかる事を延々買いてある本の多い事
504 名前:デフォルトの名無しさん [2008/05/30(金) 02:34:17 ] >シェーダ t-potさんの本ぐらいかな。 あー、でも最近、エフェクト系の本 シェーダで書いてるな
505 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 08:23:27 ] 最終的にはGame Programming Gemsあたりか
506 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 09:45:04 ] GPU gems1とCg Tutorialがweb公開されたからそれで何年か前のシェーディングはなんとかなりそう
507 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 10:33:26 ] 英語よめねーorz
508 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 10:35:41 ] 日本語版見つけました ページ数が半端ねぇw
509 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 10:39:06 ] 日本語は途中まででしたorz 英語で頑張るか
510 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 14:50:39 ] 初心者はそんなもん読まんでええ 普通に使えるようなってから出直せや
511 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 17:15:24 ] シェーダプログラムでエラー内容とかでないんだけど, Cのコンパイラみたいにエラー内容出すこととかできないでしょうか?
512 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 18:04:26 ] コンパイラつかえよ
513 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 18:11:31 ] D3DXCreateEffect系ならエラー文字列受け取るためのインターフェイス指定するだろ
514 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 19:31:36 ] >>513 見落としていましたorz 解決しました。ありがとうございます。
515 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 15:08:11 ] xファイル(テキスト)から座標系などの数字情報を取り出して 独自フォーマットとして出力する場合はテキスト解析プログラム で処理するよりはDXの関数で読み込んで、情報を取得して からの方が楽ですかね?
516 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 15:13:39 ] んだんだ xファイルは面倒だ
517 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 17:37:48 ] >>516 レスどうもです。 そういえばメッシュ読む関数って特に初期化はいらないんですよね?
518 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 17:47:14 ] どの初期化だ? D3DXMeshだっけか?ならいらないけど デバイスは初期化しとけよ
519 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 17:49:27 ] >>518 あーすみません。 メッシュ読んでそこから座標データなんかを抜き出したいだけで 表示はしないプログラムになるんですが、メッシュ読むだけに わざわざ画面周りの初期化もいるのかな・・・と思いまして・・・
520 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 19:24:20 ] >>515 どんなXファイルからも読み込めるフルスペックの実装をするとなると面倒だが、 特定のツールが出力するフォーマット限定なら、自分でパーサ書いても 大したことないかと。 メッシュ読み込む関数がD3DXLoadMeshFromXのことなら、Direct3Dの 初期化が必要。DirectXFileCreateなら必要ない。
521 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 19:24:22 ] おまんこだよ
522 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:51:24 ] VS2005 C#なので Managed になるのでだいぶ違うんですかね・・・^^; 一応読み込み部分はネットで調べてできたんですけど そこから頂点情報とかの読み出しがさっぱりわかりませんorz
523 名前:515 mailto:sage [2008/06/02(月) 20:54:20 ] >>522 は私です^^;
524 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:17:00 ] Managed使うとしてもアンマネージC++のサンプルくらいは読めるようになったほうがいいよ
525 名前:515 mailto:sage [2008/06/02(月) 22:22:39 ] >>524 あ、読めなくはないです。 もしかしてアクセス方法は変わってないです?
526 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 05:08:42 ] 勝手版拾ってみた。 モニカだけ、裸になっても、 グラフィックが変わらないんだけど 何か足りない?
527 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 05:19:09 ] すごく・・・誤爆です
528 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 11:00:39 ] >>526 くわしく。どのスレにいけばいい?
529 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:24:31 ] 先日xファイルを読み込む件を相談した者です。 頂点情報を拾ってくることができたのですが、今度は読み込んだ情報が xファイルの中の情報と違っているという現象が起きました。 テストで使っているサンプルxファイルはメタセコイア付属のサンプル meka.mqo 使っています。 meka.mqoは四角ポリゴンで作られていますので三角ポリゴンに変更したあと 標準の出力機能よりxファイルを指定して出力しています。(法線、UV、頂点カラーすべて出力) このとき、xファイルの情報では面の数は752 頂点数は1098となっています。 これをこのたび作ったxローダーで読み込むと面の数は752のままですが 頂点数が1171と増加しております。 また、x座標データだけをリストボックスに出力してみると 増加している部分だけNaN(非数値)となっています。 これは何が原因なんでしょうか
530 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:31:14 ] 「このたび作ったxローダー」とやらがバグってるのでは
531 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:33:48 ] >>530 ローダーそのものはDirectxのMesh.FromFileで読み込んで NumberVerticesから数字を得ているだけで自前では何もやってないんですけどね^^;
532 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 15:00:46 ] 同じ座標で法線の異なる頂点が分割されてるとか、そういうことではないかな 1つの頂点に複数の法線を持つことは出来ないから NaNの方はよくわからないけど・・・
533 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 15:15:58 ] uproda.2ch-library.com/src/lib029676.jpg これはメタセコの基本図形の四角を三角ポリゴンに で分割後xで出力し、今回のロダで読み込んだ状態です。 こっちがメタセコが出力したx uproda.2ch-library.com/src/lib029677.x
534 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 16:22:23 ] >>533 法線の異なる頂点を分割したとすれば24という頂点数は計算が合う 表示されてる座標値がおかしいのはそのプログラムのバグでは
535 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 16:24:44 ] 単純な線の描画はLineToで大丈夫でしょうか?
536 名前:529 mailto:sage [2008/06/03(火) 16:39:05 ] そんな凝ったことはしてませんのでバグでは無いはずなんですけどね・・・ ソースです。 uproda.2ch-library.com/src/lib029678.cs 法線の話がでたのでメタセコから出力する際法線無しにして ローダー側で計算ロジックを入れてみました。 問題なく1098となりました。 ということはメタセコの出力した法線に不都合がありMeshが 分割して増やしたと考えるのが妥当でしょうか?
537 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 16:45:23 ] >>536 NumberBytesPerVertex=36バイトだから、 PositionNormalColored (position=12, normal=12, color=4, 合計28バイト) ではサイズが合わなくないか 不都合というか・・・ Xファイルは同じ頂点に異なる法線を指定できるフォーマットだから、仕方ないのでは そう考えるのが妥当でしょう
538 名前:流石だ mailto:sage [2008/06/03(火) 16:56:00 ] 小前提:結果が違う。 大前提:俺は正しい。 結論:ツールがおかしい。
539 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 17:03:16 ] OSのバグに違いない
540 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 17:47:25 ] >>538 けなしてくれてありがとうw >>539 茶化してくれてありがとうw >>537 おかげさまで解決しました。 ちなみにCustomVertexでアクセスしようとすると36バイトで見る方法がないのに メッシュに座標、法線、UV、頂点カラー入ってると全部読み込む変な仕様なんですね。 あとメタセコも頂点カラー出力しない設定にしても出力しちゃうってのもはまる原因でしたorz
541 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 18:11:26 ] CustomVertex.PositionNormalColored -> position=12,normal=12,color=4 合計28バイト CustomVertex.PositionNormalTextured -> position=12,normal=12,UV=8 合計28バイト CustomVertex.PositionNormallColorTextured or CustomVertex.PositionNormalTexturColored (36バイト) という構造体は無いのにMesh.FromFileは読むのね・・・・
542 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 18:11:49 ] >CustomVertex.PositionNormalTextured -> position=12,normal=12,UV=8 合計28バイト CustomVertex.PositionNormalTextured -> position=12,normal=12,UV=8 合計32バイト
543 名前:デフォルトの名無しさん [2008/06/03(火) 18:25:03 ] DirectX9.0の日本語ヘルプの「ステップ 1 : ワールド トランスフォーム行列の定義」 で三角形が回りません。これは回らないものなのですか? 文章もソースもどう見ても回しているようにしか見えないのですが、何故か回りません。 しかしタイトルが定義とあるので、定義だけしているとも解釈できます。 回す部分のソース D3DXMATRIX matWorld; D3DXMatrixRotationY( &matWorld, timeGetTime()/150.0f ); g_pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld ); 何故回らないのか、教えてください><
544 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 18:38:02 ] >>533 NaN以前に、立方体で-1,0,1と3種類の座標値が出てくる時点で おかしいだろう。そこで気づかないと駄目。
545 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 18:45:36 ] >>544 おかしいのは気がついてましたが、法線の分割とかいうのが出てきたので その関係で勝手に生成されたポイントかとも思ってましたので・・・ まだプログラミング経験浅いものですみません^^;
546 名前:543 mailto:sage [2008/06/03(火) 19:19:15 ] 自己解決しました
547 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:18:26 ] >>528 モニカといえばロマサガしか思いつかなかったので 「勝手版」とそれっぽいので検索してみたら案の定だった
548 名前:デフォルトの名無しさん [2008/06/05(木) 04:55:23 ] DirectX9.0c/Direct3Dで単純な四角形を二つレンダリングしてみましたが、 ワールド変換で向きを変えると、表示が異常になります。深度バッファは有効にしてます。 ↓イメージ www-2ch.net:8080/up/download/1212608395511744.IUtNbz どうすれば、正常に表示されるのでしょうか?
549 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 09:33:18 ] 絵を見る限りZファインティングっぽい。 Z座標がかぶってるんじゃね?
550 名前:548 mailto:sage [2008/06/05(木) 12:22:41 ] なるほど。AutoDepthStencilFormat を D3DFMT_D16 から D3DFMT_D32 に変えたら、 とりあえず正常に表示されるようになりました。
551 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 13:16:12 ] あとは、カメラのminZとmaxZを必要最小限にすると解決する場合もあるかな
552 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 18:25:58 ] DirectXを利用し製作されたゲームが起動しないor画面が真っ暗か灰色ですぐ落ちる 状態です。 「モノポリー2」では、「お読みください」テキストに対処法があったので 今は普通にプレイできているのですが、 その他多数のゲームが起動できません。 「お読みください」によると 「Direct3D ハードウェアのドライバに問題がある可能性がある」ようなのですが、 どのように対処すればよいのでしょうか?
553 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 18:32:53 ] >>552 ここはプログラム「技術」に関する板でございますので、 購入したゲームのメーカーにお問い合わせくださいませ。購入したお客様には親切に対応してくれます。
554 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 18:39:53 ] >>552 OS再いんすとーる
555 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:14:34 ] www.nicovideo.jp/watch/sm147113
556 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 06:42:38 ] >>552 素直に新しいパソコン買った方が早い
557 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 19:57:50 ] ジョイスティックのキーストロークを送信できるAPIってありますか?
558 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 20:02:41 ] BOTを作りたいならWin32APIスレでいじめられてくるといいよ
559 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:23:46 ] DX8.1でサーフェスの内容をテクスチャにCopyRectsしようとしています。 しかし、どうしても出来ません。設定内容になにか追加する物がありますでしょうか。 FPSで重さを量ってみると、 CopyRects無し -> 400FPS サーフェス->テクスチャのCopyRects有り -> 350FPS ( 実行されている? ) テクスチャ->サーフェスのCopyRects有り -> 400FPS ( 実行されていない? ) 以上の結果になりました。何か抜けている物などがありましたらご指定下さい。m(__)m ●D3D初期化 ZeroMemory(&d3dppApp,sizeof(d3dppApp)); d3dppApp.BackBufferCount = 1; d3dppApp.Flags = D3DPRESENTFLAG_LOCKABLE_BACKBUFFER; d3dppApp.Windowed = TRUE; //ウィンドウモード d3dppApp.SwapEffect = D3DSWAPEFFECT_DISCARD; //垂直同期でフリップ d3dppApp.BackBufferFormat = dmode.Format; d3dppApp.BackBufferFormat = D3DFMT_X8R8G8B8; // フォーマット d3dppApp.EnableAutoDepthStencil = TRUE; // ステンシルバッファ作成 d3dppApp.AutoDepthStencilFormat = D3DFMT_D16; // 16bit Zバッファ作成 d3dppApp.BackBufferWidth = 800; d3dppApp.BackBufferHeight = 600; pD3D->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,hWnd,D3DCREATE_HARDWARE_VERTEXPROCESSING,&d3dppApp,&pD3DDevice);
560 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:25:01 ] ●テクスチャ初期化 D3DXCreateTexture(pD3DDevice,1024,1024,1,D3DUSAGE_RENDERTARGET,D3DFMT_X8R8G8B8,D3DPOOL_MANAGED,&pTexture0[MAX_CRTA]); ●メインルーチン pTexture->GetSurfaceLevel( 0, &pTmpSurface ); pMainSurfaceへ描画 pD3DDevice->CopyRects(pTmpSurface0,&rc,1,pMainSurface,NULL); pTmpSurfaceへ描画 pD3DDevice->CopyRects(pMainSurface,&rc,1,pTmpSurface0,NULL); ●テクスチャ表示 pD3DDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE); pD3DDevice->SetRenderState(D3DRS_CULLMODE,D3DCULL_NONE); pD3DDevice->CreateVertexBuffer(sizeof(D3DVERTEX) * 4,0,D3DFVF_VERTEX,D3DPOOL_MANAGED,&pTextureVB0); pTextureVB0->Lock(0,0,(BYTE**)&pV,0); pvを設定 pD3DDevice->SetStreamSource(0,pTextureVB0,sizeof(D3DVERTEX)); pTextureVB0->Unlock(); pD3DDevice->SetTexture(0,pTexture0); pD3DDevice->DrawPrimitive(D3DPT_TRIANGLEFAN,0,2);
561 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:52:30 ] 画面は最終的に、黒にpTmpSurfaceへ描画したものになっております。 pD3DDevice->CopyRects(pMainSurface,&rc,1,pTmpSurface0,NULL); と ●テクスチャ表示 では、どちらを行っても同じ結果になっております。
562 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 23:29:55 ] デバッグランタイムにすれば、何が悪いのか教えてくれるかと
563 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 03:15:41 ] >>562 ご指摘、ありがとう御座いました。 ランタイムはデバッグで行い、D3DSpyを使ったりしてみても変化が御座いません。 pD3DDevice->CopyRects(pTmpSurface0,&rc,1,pMainSurface,NULL); が、TextureとpMainSurfaceの型違いで、Copyされていないっぽいです。 ためしに、CreateImageSurfaceで、pMainSurfaceから複製したサーフェスには、 CopyRectsが出来ています。(双方向) テクスチャになにかの型が足りないのかと思いますが、思いこみかもしれませんので、 ご指摘、お願いいたします。
564 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 05:15:49 ] >>563 pMainSurfaceとrcのコードがないから、それだけでは何とも言えない。 っていうか、本当にデバッグランタイムで何も言われない? 失敗してるなら必ずデバッグメッセージ出てると思うが。
565 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 12:20:49 ] >>564 ご指摘ありがとう御座います。 デバックメッセージは何も言ってきません。 デバックモードは、スタートメニューから[DX9]->[Install Debug]で設定してます。 RCは、rc.top=0;rc.bottom=600-1;rc.left=0;rc.right=800-1; と定義しました。NULLにすると、pTmpSurfaceが1024*1024なのでハングしてしまいました。 pMainSurfaceの方は確実に描写されていました。 別のコクパチブルサーフェス(Bs)へCopyして、Bsへ描画して、pMainSurfaceへ書き戻した場合、うまく行きました。 最後のCopyRectsを無くすと、Bsへ描写した分は、ちゃんと描写されなかったです。 LPDIRECT3DSURFACE8 Bs; pD3DDevice->GetRenderTarget(&Bs); D3DSURFACE_DESC Desc; Bs->GetDesc( &Desc ); pD3DDevice->CreateImageSurface(800,600,Desc.Format,&pMainSurface); pD3DDevice->CopyRects(Bs,&rc,1,pMainSurface,NULL) Bsへ描画 pD3DDevice->CopyRects(pMainSurface,&rc,1,Bs,NULL)
566 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 16:37:11 ] 自己レスですみません。テクスチャに直接描画する様にしたら問題なくなりました。
567 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 10:36:27 ] スプライトの上下反転表示って、出来る人いる? 自分の使ってるGF7600GSだとダメみたい。 rect.top=480 rect.bottom=0 でもダメで、 rect.top=0 rect.bottom=-480 もダメ。 データその物を反転して持たなくて甚目なのかな。
568 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 11:01:00 ] ID3DXSprite使ってという意味? 行列のスケーリングに反転指定すりゃできんじゃねーの
569 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 12:26:01 ] UVをいじるとか・・・
570 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 15:28:35 ] >>568 ありがとさん。スケーリングの方をつかうんですね。ちゃんと動きました。 >>569 こっちもレスさんきゅう。
571 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 00:59:24 ] >甚目 「はだめ」なのね。
572 名前:誰か一緒に考えてください [2008/06/13(金) 22:45:22 ] もしプロトコルを開発するならどんなプロトコルにしますか??
573 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 23:52:45 ] TCP/IPみたいなやつ でもちょっと高速なやつ
574 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 23:55:30 ] 要求仕様を明らかにせよ
575 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 00:02:17 ] 自前で作って 良くわからんバグチェックに時間費やすくらいなら すでにあるもの使ったほうがいいと思うが
576 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 00:02:37 ] >>572 まずは他人に何をしたいのか伝える程度のプロトコルを身につけろ。 開発云々以前の問題。
577 名前:デフォルトの名無しさん [2008/06/14(土) 00:28:54 ] フルスクリーンでげーむをやろうとしたところ、起動できなかったので、 DirectX診断ツールのDirectDrawでテストしたところ DirectDraw テスト結果 : エラー - ステップ 17 (SetDisplayMode を 640x480x16 に): HRESULT = 0x80004001 (未実装) とでました解決策などありますか?
578 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 09:48:44 ] >>577 プログラムを開発する事に対する関連性を述べよ
579 名前:デフォルトの名無しさん [2008/06/15(日) 03:22:14 ] 低レベルですが失礼します。 directX 9.0のウェブセットアップをダウンロードしたのですが、 セットアップをしようとすると、インターネットに接続している状態 でも「ネットワーク接続を確認してください」と出てしまいます。 原因等、よろしければお願いします。 あと、directX 9.0はSP1の状態でも大丈夫でしょうか?
580 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 03:24:55 ] >>579 >>578
581 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:04:57 ] 文字表示なんですが、リアルタイムでフルカラーで表示出来るようにするには、 LockRectしか無いでしょうか。 指定された8色とかでしたら、文字は抜きのテクスチャにして、 ベースの色テクスチャを抜き出すという方法が使えると思いますが、 フルカラーでしたらどんな方法がありますでしょうか。
582 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:22:06 ] >>581 ID3DXFontはどうかね
583 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:25:33 ] >>581 αで文字を描いて、色は頂点カラーで与える。
584 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:44:07 ] ピクセルシェーダーでおけ
585 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:33:19 ] カメラにレンズ効果を付け加えるにはどうしたらいいですか?
586 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 09:45:46 ] フレア、収差、立体視、どれ?
587 名前:585 mailto:sage [2008/06/16(月) 09:52:28 ] たとえば魚眼レンズみたくしたいです。
588 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 10:22:28 ] 単純に視野角を広げればいいんじゃね?
589 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 10:24:08 ] ひずませたいんじゃね?
590 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 14:11:05 ] >>587 シェーダーつかうNE t-pot『Fish Eye』 tpot.jpn.ph/t-pot/program/128_FishEye/index.html
591 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 15:02:37 ] >590は対角魚眼だな。全周魚眼にしたいならパラメータを調整して、更に範囲外の処理もしなくてはいけない。
592 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 15:27:06 ] で、でたー
593 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:05:55 ] バックバッファサイズ640*480のフルスクリーンで動作するアプリケーションを作ったのですが アプリを終了してフルスクリーンから復帰すると他のウィンドウのサイズが 640*480に強制的に変化してしまう現象に悩まされています 原因に心当たりがある方いらっしゃいませんでしょうか SDKはDirectX9/December 2004を使ってます
594 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:18:02 ] ごく希に、他のウインドウの表示位置がずれたり、640*480になるときがある。 しかし、常時なら、 バグで終了してないか? ちゃんとリリース処理をしているか? QuitMessageを使っているか? 細かくプログラムを切っていって、原因を突き止めないと何とも言えない。
595 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:10:50 ] DirectDrawにその問題あった気がすんな。 アプリ終了前にちゃんとAPIを通してウィンドウモードに戻してみ?
596 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:15:24 ] きちんと戻したければ、各ウインドウのサイズを記憶しておいて、自己責任できっちり戻せ。 大して手間のかかる処理じゃない。
597 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:12:31 ] 画面モードを元に戻さずReleaseしてる例ならよく見る罠。 SetCooperativleLevelな。
598 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:17:00 ] 効率の良い線や四角形の描画方法ってありますか?
599 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:23:42 ] ありません
600 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:34:21 ] ブレゼンハムのことか?
601 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:50:59 ] アニメーションや親子関連の情報が入ってるXファイルの フォーマット解説しているサイトとかありませんかね?
602 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:07:41 ] >>596 可能です。 以上。 ↓次どうぞ
603 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:09:54 ] あて先を間違ったレスって恥ずかしいよね
604 名前:デフォルトの名無しさん [2008/06/18(水) 23:32:18 ] テクスチャーを張ったポリゴンの色を変えたいんだけどどうすればいいんだろう? マテリアルのディフューズ色を変えても変わらなかった 具体的には灰色のテクスチャーを張っていて、色々、色を変えたいなと思って 誰か教えてくだせえ
605 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 00:34:43 ] 頂点カラーでぐぐれ。 それ以前にデフューズいじって変わらないのはおかしいが。
606 名前:デフォルトの名無しさん [2008/06/19(木) 08:44:51 ] 言葉がたりなかったんだけど、ポリゴンっていうかXファイルのモデルの色を変えたかったんだ。 モデルにしても頂点カラーで色を変えられそうだけどコストかかりそうだね なんか良い方法ないかなあ
607 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 10:00:40 ] >>606 シェーダーパラメーターでやればほぼノーコストだろう
608 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 10:32:51 ] >なんか良い方法ないかなあ 他の方法を模索する前にちゃんとマテリアルのデフューズで 変えられるようになるのが先です
609 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 10:52:14 ] いいこというね
610 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 13:23:31 ] 低レベルな質問で申し訳ありません カメラの回転のトラブルなんですが カメラ中心の回転とカメラの移動を同時に することができません ソースがおかしいのでしょうか?どなたかご教授お願いします D3DXMATRIXA16 matView,matCameraPosition,matHeading,matPitch; D3DXVECTOR3 vecEyePt( fCameraX,fCameraY,fCameraZ ); //カメラ(視点)位置 D3DXVECTOR3 vecLookatPt( fCameraX,fCameraY-1.0f,fCameraZ+3.0f );//注視位置 D3DXVECTOR3 vecUpVec( 0.0f, 1.0f, 0.0f );//上方位置 D3DXMatrixIdentity(&matView); D3DXMatrixRotationY(&matHeading,fCameraHeading); D3DXMatrixRotationX(&matPitch,fCameraPitch); D3DXMatrixLookAtLH( &matCameraPosition, &vecEyePt, &vecLookatPt, &vecUpVec ); D3DXMatrixMultiply(&matView,&matView,&matHeading); D3DXMatrixMultiply(&matView,&matView,&matPitch); D3DXMatrixMultiply(&matView,&matView,&matCameraPosition); pDevice->SetTransform( D3DTS_VIEW, &matView ); fCameraXで移動、fCamerapitchでカメラの回転です
611 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 13:54:41 ] >>610 そこでD3DXMatrixLookAtLHを使う意味がワカンネ
612 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 14:11:48 ] >>611 ご回答いただいたのにすいません。どこをどう直せばいいか 教えていただけたらありがたいです。
613 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 14:42:21 ] SetCooperativleLevel に一致する日本語のページ 約 件中 - 件目 ( 0.098231 秒) SetCooperativleLevel に該当するページは見つかりませんでした。
614 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 14:44:08 ] クォータニオン?
615 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 15:35:07 ] ×>SetCooperativleLevel ○>SetCooperativeLevel
616 名前:610 mailto:sage [2008/06/19(木) 16:14:55 ] 原点中心の回転ならわかるのですがカメラ中心の回転がわかりませんでした、 調べ方が悪いのか書いてるページも見つからないのでどなたかご教授お願いします
617 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 17:02:37 ] At=Eye+向きたい方向ベクトル
618 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 17:04:25 ] DirectX7じゃないっすか
619 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 17:17:32 ] >>616 610のLookAtが余計。 あるいはLookAtだけで十分。(注視点を回転させる) それと、View行列は概念上はカメラの位置や向きを設定する行列だが、 実際の計算ではカメラが動くのではなく世界を回転させてカメラの位置に 合わせるので、回転や平行移動に関する考え方が逆になる。 変換の順番も普通とは逆で、まず平行移動させてから回転させる。 移動量も回転角もマイナスを賭けた値で。 (View行列をかけた後の原点がカメラの位置になる)
620 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 18:44:41 ] みんなはクォータにオンバリバリ使ってるの?
621 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 21:18:46 ] Xファイルのアニメーションはクォータニオンだし 最低限の回転や補間や行列への変換くらいは理解してるじゃろ。
622 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:04:25 ] 俺は理解してないけど使えるからいい 難しいことは頭のいい数学屋さんにお任せ
623 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 04:20:46 ] テクスチャを左右反転して表示させるにはどうすればいいのでしょう? ポリゴンの裏表を逆にしたり、uv値をいじったりはしてみましたが寸でのところでうまくいきません。 2の乗数の大きさのテクスチャでなら、u値を負にしたらできたのですが…。 ご教授くださいませ。
624 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 04:33:23 ] 頂点座標に対するuvが 左上uv 0,0 左下uv 0,1 右上uv 1,0 右下uv 1,1 だった場合 こうすれば 左上uv 1,0 左下uv 1,1 右上uv 0,0 右下uv 0,1
625 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 10:42:46 ] u = 1.0 - u かな
626 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 05:49:10 ] >>624 ,625 ありがとうございます、できました! uv値がポリゴンの頂点に対応しているということをいまいち理解できていなかったようでした…。
627 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 18:08:27 ] DX8.1でIMEを制御、入力するにはどうしたらよいでしょうか。 参考URL等を教えていただけると幸いです。
628 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 19:19:16 ] >>627 DX9のSDKにIME制御のソースあるよ。 描画にID3DXSpriteを使っているところ以外はバージョン関係なさそうだから DX8.1に移植もそんなに難しくは無いと思う。
629 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 19:36:26 ] > DX9のSDKにIME制御のソースあるよ。 これって下の実はバグソースなのに誰も気づかなかったやつだっけ? watch.impress.co.jp/game%2Fdocs/20070927/wv.htm
630 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 20:02:17 ] >>629 こんなソース初めて見た 俺のもそうだが 社内の他のグラマのもぜんぜん違うソースだったな ネタだろこれw
631 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 20:04:45 ] >>629 >結局のところ結局のところ 大事なので2回いいました
632 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 04:20:08 ] DirectDrawアクセラレータを無効にしたいんだが、診断ツール開いて変更しようとしたんだが、 「使用できます」とだけ表示されてて変更ができないんだが、どうしたらいいのだろうか? OS Vista Home Premium V/B Mobile Intel(R) 945 Express Chipset Family DirectXのヴァージョン DirectX 10
633 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 10:16:00 ] ディスプレイのプロパティのトラブルシューティングとか、DirectX SDKのコントロールパネルとか。 そもそもVistaじゃ切れないんじゃないか?
634 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 17:01:25 ] >>629 どこかで聞いたことあると思ったら ttp://watch.impress.co.jp/game%2Fdocs/20070927/wv00.htm 俺映ってるじゃん
635 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 18:21:58 ] DirectXが使える人って頭いいと思う。
636 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 18:52:44 ] 俺は、絵が描ける人って頭いいと思う。 10日間、がんばて30秒ドローイングしたけど www.posemaniacs.com/pose/thirtysecond.html 俺には絵は無理かも知れない
637 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 20:39:58 ] 頭いいかどうかはわからないが、尊敬はする 俺にもたぶん無理>絵
638 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 21:53:29 ] 絵は好きかどうかがすべてだと思うので やっぱりDirectXのほうが頭いいと思う。
639 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 22:10:31 ] 昔のI/Oのヘルプ丸写しのDirectX本はサンプルの絵がヘタすぎて 立ち読みするのが恥ずかしかった記憶が
640 名前:もこ [2008/06/30(月) 23:47:51 ] DX(JUNE2008)をDLしてインストールしてたら最終設定でERRORが出てDXerrorとDX.log見てがんばってね♪ みたぃなことを言われたんですがどぅすればぃぃんですヵ? PC初心者でぜんぜんゎかんなぃです。 あとXPです。
641 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 00:08:59 ] >>640 グラフィックボードの種類、DXerrorとDX.logの中身、スリーサイズを答えよ
642 名前:もこ [2008/07/01(火) 01:02:47 ] S3 Graphics ProSavage + utilities グラフィックってコレですヵ? module: dsetup32(jun 6 2008), file: setup.cpp, line: 1701, function: CSetup::SetupForDirectX InstallPlugIn() failed. DXはよくゎかんなぃですがコレですヵ? あと最後の質問はシークレットでぉ願ぃします。
643 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 01:25:26 ] S3ワロタ
644 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 09:27:33 ] オンボードのVIAチップセットのやつか
645 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 21:16:03 ] そこは10年以上前のoxygenとか持ってきて欲しかった
646 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 18:19:48 ] S3はインストールすら許されないんだな
647 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 13:59:13 ] 質問させていただきます。 自宅のPCはインターネットを繋いでないのですが、サイトからのダウンロード以外で、DirectX9.0をダウンロードできる方法はあるのでしょうか?
648 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 14:02:21 ] 別の場所でダウンロードするとか、添付されてる雑誌や本を買うとか、 MSDN入会するとか、MSに問い合わせるとかするのがいいんじゃない?
649 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 14:03:30 ] ・体験版が入ってるCD-ROMつき雑誌 ・自作PCで最近のパーツならパーツ付属CD-ROMに入ってることもある。 ・市販ゲームに同封してる(かもしれない) くらい? あとはネットカフェととか友人宅で・・・ でも最近ってネットワークダウンロードになちゃってるので 一式ってDLできるのかな?
650 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 14:13:21 ] SDKの中に再頒布可能パッケージが入ってた気がするからそれ使えばいいんじゃないの どっちにしろ>>648 ,>>649 の言うように別の場所で落としてCDか何かに入れる必要があるけど