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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 22:55:11 ]
※回答する人も、質問する人も必ず読んでください

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

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

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

【C++】 DirectX初心者質問スレ Part18 【C】
pc11.2ch.net/test/read.cgi/tech/1216270204/

481 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 00:15:51 ]
DirectX9でもウインドウモードで垂直同期をとるもは無理。
あれは内部でタイマーを使ってそれっぽくしているだけ。
単純にウインドウモードと挙動を合わせるためのものであって、
それ以上でもそれ以下でもない。

482 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 00:24:08 ]
Presentするとちゃんと60Hzで返ってくるよ

483 名前:463 mailto:sage [2008/11/15(土) 00:42:52 ]
>>481
なるほど。
ただ、Present内部ではGetRasterStatusを使用して
画面がリフレッシュされていないタイミングをはかっているようです。
その際に、タイマーを利用しているのかもしれませんが、走査線が下端に到達
するまでの時間を算出してその時間分待っているのではないでしょうか。
少し、Presentがブラックボックス化しているのが気になりますね。

本当にバックバッファとフロントバッファのコピーは高速なんでしょうか。
ポインタを入れ替えるだけとドキュメントには書かれていますが。
もし、そこに時間がかかっているなら、描画コストが増えるに従って
境界線が下降する理由もわかります。

484 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 00:56:45 ]
>>467
俺はウインドウモードでティアリングを防ぐなんて試したことはないが、
GetRasterStatusの使い方が悪いんじゃない?VBlank待ってない?
走査線がクライアント領域より下にいったら、即Presentでいいかと。

あと、GetRasterStatusの前にD3DQUERYTYPE_EVENTいれとかないと
意味がないと思う。

485 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 01:02:27 ]
> フルスクリーン モードは、リフレッシュ レートやスワップ効果にかかわらず D3DPRESENT_INTERVAL_IMMEDIATE をサポートすることにより、
> ウィンドウ モードと同様の使い方をサポートします。D3DPRESENT_INTERVAL_DEFAULT はデフォルトのシステム タイマ精度を使います。

システムタイマーは1000msの精度。60Hzのエミュレートなら16.66666…で割り切れないのでどっちにしろ徐々にずれる。
D3DSWAPEFFECT_COPYを指定しない限りは明示的にバック⇒フロントへのコピーはない。
コピーしてたとしても全画面描画1回相当の処理が目に見えるほど遅延していくなら根本的に1/60秒で動かないだろ。

まぁそこまで細かく気にするならゲームなんだしフルスクリウーンでやれや、って事だろう。

486 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 10:00:50 ]
ウィンドウモードでゲームプレイする奴はその程度の事を気にしない

487 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 10:06:43 ]
試してみようと思ったら、俺のところでは全くティアリングが発生しない。
Vistaだからか?

488 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 10:23:36 ]
はやくおまいらの話についていきたい45歳秋

489 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 11:50:15 ]
基本的な質問で申し訳ないのですが、質問させていただきます。
DirectXをつかったゲームで、入力された情報は一般的にはどうやって受け取ればいいのでしょうか?
WIN32APIでは普通にウィンドウプロシージャで受け取っていましたが、入門書では、WinMainのメッセージループで
while(message != WM_QUIT)
{
if(PeekMessae(&msg,NULL,0,0,PM_REMOVE))
{
//省略
}
else{
GetKey() //デバイス->Acquire()でキー入力を受けつける
//以下はRender()などの呼び出し
}
}

としていました。
後者の方がDirectXでは一般的なのでしょうか?



490 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 12:01:57 ]
別に好きな方で問題ない

491 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 12:05:10 ]
スレッド

492 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 12:28:58 ]
>>489
DirectつながりでDirectInput使う


493 名前:463 mailto:sage [2008/11/15(土) 17:27:54 ]
>>484
D3DQUERYTYPE_EVENTは自分の環境では作成できないです。
走査線がクライアント領域より下にいった直後にPresentしても多少
境界線の位置がかわる程度で違いはほとんどありませんでした。

>>485
なるほど。タイマーを使っているとは知りませんでした。
確かに、少しずつずれていきますね。
D3DSWAPEFFECT_COPYにしてみましたが、さほど違いは出なかったです。
とすると、疑問なのはGetRasterStatusを使ってもずれるという点です。
D3DPRESENT_INTERVAL_IMMEDIATEで生成しておいて、GetRasterStatusを使っても
ほとんど同じところに境界線ができるんです。

>>486
最悪、気にしない方向で諦めようかと思ってます。

>>487
vistaはOSレベルで制御しているため、ティアリングが生じないようですね。


494 名前:449 mailto:sage [2008/11/15(土) 17:32:37 ]
あれから色々いじってみて
キー入力で画像を動かすのを作りました。

一応思うようにできたのですが
もっと簡単なやり方・効率のいい方法 などありましたら ご指摘お願いします。

ソースです
www7.uploader.jp/dl/inoguma/inoguma_uljp00001.zip.html

↑ → ↓ ← キーで操作できます

よろしくお願いします。

495 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 06:42:43 ]
>>494

ゲームを作りたいならもっと汎用性がある方が良い

とは言ったものの、自分じゃ直し方良く分からないので他の人に(ry

496 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 09:14:26 ]
>>494
frame.cpp: line 117-118
m_dwStyle = GetWindowLong(m_hwnd, GWL_STYLE);
m_dwStyle = 2495741952;
これはどんな意図があるんですか…?

497 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 09:34:51 ]
スタイル初期値です。

498 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 09:37:59 ]
3Dリアルタイムアニメーション

という本から参考にした部分があるのですが

その部分の補足には

スタイル初期値(とりあえずこれで問題はない)

と本にコメントが付け加えられてました

499 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 10:40:46 ]
>>498
問題しか見えないw



500 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 11:26:39 ]
GetWindowLongPtr使うべきだし
GetWindowLongした意味ないし
マジックナンバー使うし

501 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 11:32:33 ]
>>498

移動のコードは間違いじゃないけど、
せっかく入力・演算・描画を分けた意味がない気がする。

他の人にも意見を聞いてみるといいよ。

502 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 12:15:53 ]
スミマセン質問があります。
環境 : VC2005 / SDK(March 2008) / XP

DirectXでXファイルを扱うときに頂点カラーを引っ張りたいのですが何処を見ればいいのでしょうか。
HLSLで描画する際にVertex ShaderのCOLOR0に自動的に入ってくると思ったらそうじゃないみたいで……・

503 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 12:31:30 ]
ダダーンウーボヨボヨボヨアーアーアー

504 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 13:16:30 ]
>>502
xファイルに頂点カラーの情報(MeshVertexColors)が入っていないか
入っていたとしても頂点フォーマットに頂点カラーが含まれてないかのどっち

単純にテクスチャなしのxファイルを表示したいだけなら
マテリアルのDiffuseをシェーダーに渡して色情報として計算する

505 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 13:32:10 ]
返信ありがとう御座います。
xファイルにはデータが入っていることを確認したので頂点フォーマットに無いのでしょうね……

マテリアルはオブジェクトの識別に使うという変な使い方してて、
同一マテリアル内で色を変える場合頂点カラーが必要という珍妙な設計になってるのです。
大人しくマテリアルでやる方向に変えた方が良いかもしれないですね

506 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 13:35:23 ]
>>505
まるで頂点フォーマットを何かが勝手に作るように書いてるが
頂点フォーマットを作るのはおまえさんの仕事だぞ。

507 名前:502 mailto:sage [2008/11/16(日) 14:10:07 ]
D3DXLoadMeshFromXでXファイルを読み込む前に、
FVFをどこかで設定出来ると言うことですか……?
すみません勉強不足過ぎました。もう少し調べてきます。

508 名前:463 mailto:sage [2008/11/16(日) 14:31:41 ]
Presentの代わりにBitBltを利用してみました。
確かにティアリングは減った(ほとんど見えない)と思いますがFPSが著しく落ち込みガタガタです。
ただ、FPSが25程度なのでがたがたして気づかないだけかもしれませんが。
一応、環境や最適化不足のためかもしれないので手順を書いておきます。

1, Flags=D3DPRESENTFLAG_LOCKABLE_BACKBUFFERでDirect3DDevice9を生成。
2, GetRasterStatusで垂直同期待ちを行う。
3, バックバッファからHDCを取得し、BitBltでウィンドウへ書き込む。

もう少し細かい話もありますが、大方こういう手順になるかと思います。
どうもBitBltの負荷が高そうですが、高速化する手はありますか?

509 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 14:36:42 ]
GDIの遅さや不便さを何とかするために
DirectXが開発されたのに原点にもどったら本末転倒



510 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 14:36:55 ]
>>508
FPS25じゃ垂直同期に間に合う合わないなんて関係無いクオリティじゃないか?

511 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 14:41:03 ]
モデルを最初から左にずれた場所に配置したいのですが

D3DXMATRIX mtx;

D3DXMatrixIdentity(&mtx);

D3DXMatrixTranslation(&mtx, -2.0f, 0.0f, 0.0f);

d3ddevice->SetTransform(&mtx, 0);

で配置すると確かに配置できるのですが キーボードでキーを押した分ずらすコードを加えるにはどうすればいいですか

512 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 14:45:35 ]
そろそろ自分で考える努力をしたらどうかな。

513 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 14:45:54 ]
Win32APIすれで聞くといいんじゃね

514 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 14:48:47 ]
D3DXMatrixTranslationの引数の値を変える

515 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 14:58:02 ]
>>512 分かりました 自分で悩みまくって作った方が上達する気がしてきました

それではしばらく失礼します。

516 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 15:48:33 ]
描画内容があまり頻繁に変化しないので、
変更があったときのみ描画処理を行うようにして、それ以外はフロントバッファに表示されているものをそのまま表示したいのですが、
presentする直前にバックバッファをサーフェイスにコピーしておいて、それを書き戻すとかでいいんでしょうか?
一般的な方法があれば、教えてください。

517 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 15:56:41 ]
そもそも描画が行われなかったときは
サーフェイスをクリアしなければいいのでは?

518 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 16:13:36 ]
>>516
D3DPRESENT_PARAMETERSのSwapEffectに
D3DSWAPEFFECT_COPYを指定する。

519 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 16:32:11 ]
本にはD3DSWAPEFFECT_DISCARDにしろって書いてあったよ



520 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 16:35:53 ]
入門サイトを見て
とりあえずデバイスを作ってPrsentだけしてみたら
アダルトゲームの画面が表示されたんですけどバグですか。

521 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 16:39:17 ]
いいえ、仕様です。

522 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 16:41:01 ]
ハッキングされてます

523 名前:516 mailto:sage [2008/11/16(日) 16:57:14 ]
レスいただいた方々、ありがとうございます。

>>517
質問させていただく前に描画関数の中身とか呼出位置を変えて色々試してたんですが、
他のウィンドウがかぶった時の挙動とか、どうにも思い通り行かなくて質問させていただいた次第でしてorz

>>518
バッチリ思い通りになりました、ありがとうございました。

>>519
ご忠告どうもです。
もうすこし詳しく調べてみます。

524 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 17:10:14 ]
>>520 VRAM

525 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 20:46:13 ]
ちょっとお聞きしたいのですが、よくゲームの動作環境で
VRAM幾つ以上というようなのがありますよね
自作ゲームの動作環境にそういう情報を明記したいのですが、そのために
現在PCで使われているVRAM容量を調べるにはどうすればいいのでしょうか?
使用VRAM情報をチェックする関数とかはありますか?

526 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 20:52:43 ]
>>525
うん

527 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 21:27:25 ]
>>526
DirectX9なのですがなんという関数を使えばいいのでしょうか?

528 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 21:41:40 ]
>>527
GetAvailableTextureMem
だが、推定
BBXに「?」ってのが書いてある

529 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 21:50:15 ]
そこは遥か昔に閉鎖したぞ



530 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 21:51:49 ]
SDK(March 2008 以降)に VideoMemory ってサンプルがあるわよ。
ttp://msdn.microsoft.com/en-us/library/cc308070(VS.85).aspx
\Samples\C++\Misc\VideoMemory

531 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 22:03:27 ]
>>529
いや、生きてるぜ

532 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 22:41:37 ]
今時はVRAMなんてほとんど基準にならんけどなー

533 名前:525 [2008/11/16(日) 22:56:06 ]
レスありがとうございます。
>>523
LoadTextureをやる毎に使ってみました。
が、数値は70MBちょいぐらいで固定っぽいです。(ビデオカードのVRAMは96MB)

テクスチャは読み込んでもVRAMには格納されないんでしょうか?
簡単な2Dゲームなのでで処理スピードには問題がない為別にいいのですが…
LoadTextureってVRAMに読み込む/読み込まないの切り替えができるんですかね

>>530
旧バージョンを使ってるので役にたつかわかりませんが、後で見てみます

>>532
確かに、最近のPCゲーだとVRAM容量表記が特にないものが多いですよね

534 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 22:58:50 ]
DX8あたりからマネージドになってるから気にする必要ないんじゃない。パフォーマンスに影響はあるけど。
昔は全部自前で管理する必要があった。

535 名前:525 mailto:sage [2008/11/16(日) 23:00:35 ]
>>533
LoadTextureじゃなくてD3DXCreateTextureFromFileInMemoryでした

536 名前:525 mailto:sage [2008/11/16(日) 23:17:09 ]
>>534
自分なりに調べて見たらD3DXCreateTextureFromFileInMemoryEXというのを使えば
意図的にVRAMに読み込ませる事もできるみたいですね
パフォーマンスが必要になるようなソフトを作る場合にはこちらを使おうと思います。
ありがとうございました。

537 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 23:22:14 ]
それ主記憶じゃなくてVRAMにストックしておく関数だっけ?

538 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 23:30:49 ]
プール先を指定できる


539 名前:502 mailto:sage [2008/11/16(日) 23:35:53 ]
スミマセン、色々調べてみたのですが結局分かりませんでした。
Xファイル自体には頂点色を保持しているのは確認済みです。

D3DXLoadMeshFromXを使ってxファイルを読み込み頂点色が欲しい場合、
LPDirect3DDevice9::SetFVFを使ってFVFを通知してからXファイルを読み込むという手順ではダメで、
いったん読み込んでから、CloneMeshで頂点フォーマットを設定し直すと言うのもやはりダメでした。

D3DXLoadMeshFromXで頂点色を捕まえる方法は有るのでしょうか。
そもそもVertex ShaderのInputのCOLOR0セマンティクスに入ってくるのは頂点色という認識で良いのでしょうか。



540 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 08:54:08 ]
Xファイルに頂点色が入っているならD3DXLoadMeshFromX()の時点で
作られたメッシュには頂点色が入っている。

541 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 11:55:27 ]
Vista入りのノート買ったからDX10に手を出してみたけど、意外と変わってるのね。
FVF消えたりD3DFMTが気持ち悪いことになってたり。

で、質問なんだけど、サンプルコードのライセンスってどこに書いてあるの?
卒論のためにコード書かなきゃいけないんだけど、カメラとかいちいち書くのが面倒だから
BasicHLSL10のサンプルを流用したいのよ。
*nixの世界みたいに、ルートディレクトリにはっきりとライセンス定義を置いておいてくれると有り難いんだけど……。

542 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 12:05:55 ]
別に三流学生の卒論コードなんてどうだっていいだろ
一般公開しなければ

543 名前:デフォルトの名無しさん [2008/11/17(月) 12:32:08 ]
HLSLでsamplerオブジェクトを定義するとき
今まではtexture2DやtextureCUBEに関係なく"sampler"と書いていたのですが
textureに合わせてsampler2D, samplerCUBEにしたほうがいいのでしょうか?
違いや書き分ける意味はありますか?

544 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 16:03:42 ]
>>542
公開するから質問してるに決まってるだろ高卒

545 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 17:28:01 ]
公開しないでいいよ。君の糞コードなんて。

546 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 17:51:58 ]
D3DX〜は使ったら駄目って常識のはずなんだが

547 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 18:00:27 ]
ライセンスについて調べようと思ったら、まずは使用許諾書に目を通すものだが、
なんでその程度の、ごく当たり前のことをする程度の知能すら持ち合わせていないのかが謎。

548 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 20:45:26 ]
デバッグモードでは正常にビルドできるんですがリリースモードだと以下のエラーが山ほど出てしまいます、、、
予想ではunicodeとマルチバイトが混在しているのが不味いような気がするんですが、、、
色々調べてみたんですが、解決方が見当たらないのでどなたか原因わかる方がいたら教えてください。

boss.obj : error LNK2001: 外部シンボル "_D3DXMatrixScaling@16" は未解決です。
boss.obj : error LNK2001: 外部シンボル "_D3DXMatrixMultiply@12" は未解決です。
d3d.obj : error LNK2001: 外部シンボル "_D3DXMatrixLookAtLH@16" は未解決です。
d3d.obj : error LNK2001: 外部シンボル "_D3DXCreateTextureFromFileA@12" は未解決です。
d3d.obj : error LNK2001: 外部シンボル "_D3DXCreateTextureFromFileExA@56" は未解決です。
d3d.obj : error LNK2001: 外部シンボル "_D3DXVec3Normalize@8" は未解決です。
d3d.obj : error LNK2001: 外部シンボル "_D3DXMatrixOrthoLH@20" は未解決です。
dsound.obj : error LNK2001: 外部シンボル "__imp__mmioGetInfo@12" は未解決です。
fps.obj : error LNK2001: 外部シンボル "__imp__timeGetTime@0" は未解決です。
main2.obj : error LNK2001: 外部シンボル "_D3DXCreateSprite@8" は未解決です。
main2.obj : error LNK2001: 外部シンボル "__imp__timeBeginPeriod@4" は未解決です。
x_file.obj : error LNK2001: 外部シンボル "_D3DXLoadMeshFromXA@32" は未解決です。

コンパイラはVisualC++2008を使っています。
コンパイラの問題かと思ったんですが、エラー吐くのが殆どDirectX周りだったのでここで質問させていただきました。

デバッグモードで作ったexeファイルとデータファイルを同梱すればとりあえず配布は大丈夫でしょうか?
一応そのやり方で自分の環境では動作したのですが、、、

549 名前:548 mailto:sage [2008/11/17(月) 20:48:54 ]
ずっとDebugモードのプロパティいじってた\(^o^)/

自己解決しました、スレ汚しすいませんw



550 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 20:49:21 ]
プロジェクトの設定はリリースとデバッグで別々だが、ライブラリとか両方に設定してある?

551 名前:502 mailto:sage [2008/11/17(月) 20:49:49 ]
>>540
遅れましたがありがとうございました。
おかげさまで何とか出来そうです。

552 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 10:30:08 ]
誰か>>543知りませんか?

553 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 10:35:13 ]
好きにしろよばーか

554 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 11:14:48 ]
自分の知らない事、どうでもいい事を聞くと怒り出す奴っているよね。キチガイ?
好きにしていいならsamplerとsampler2Dが分かれてる意味ないじゃん。

555 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 13:42:30 ]
別れてることに特に意味はないし
好きにすればいいと思うよ
同じサンプリングで描画するなら一つでいいし
物によって変えるなら複数作って使い分ければいいだけ

556 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 13:52:29 ]
好きにしちゃいけないって誰が決めたの?
当然の事を言われて怒られてるだのキチガイだの言い出す>>554はアホかと。

557 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 14:36:08 ]
よくわからずに使ってるのか

558 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 14:37:51 ]
ただのaliasなの?

559 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 14:44:29 ]
sampler3DやsamplerCUBEのみのSamplerStateがあるため

意味なんかないから好きにしていいとか馬鹿にも程がある
プログラマ失格



560 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 18:04:21 ]
GLSLでは違うけど
HLSLではまったく同じものなんだが

561 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 18:10:44 ]
>>559
じゃあ意味があるから好きにしちゃダメだよ
とでもいえば納得するのかな?(笑)

562 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 18:36:17 ]
というわけで、>>543は好きにしちゃダメだという事で。
はい次の人〜。

563 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 18:40:53 ]
はい次の人〜。

564 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 18:46:50 ]
あのぅ、私は…

565 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 18:47:02 ]
自分の想定と違う事を言われると納得できないんなら最初からそうすりゃいいのにな
他人の同意がないと何もできないのかね

566 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 18:48:17 ]
>>564
どちらさまですか?

567 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 16:24:01 ]
640*480で作ったデバイスを引数にD3DXCreateSprite関数でID3DXSpriteを作ったら、
レンダーターゲットを1024*1024にしてID3DXSprite::Drawを実行したら、画像が引き延ばされて
描画されたんだけど、そうならないようにするにはどうすればいいんですか?
ちなみにレンダーターゲットの大きさは変えられません。

568 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 16:39:32 ]
好きにしろよばーか

569 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 16:53:55 ]
わざわざそうしてるんだろ



570 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 16:59:31 ]
自分の知らない事、どうでもいい事を聞くと怒り出す奴っているよね。キチガイ?
640*480と1024*1024が分かれてる意味ないじゃん。

571 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 17:00:24 ]
はい次の人〜。


572 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 17:14:06 ]
ウィンドウサイズが640*480じゃないとダメで、レンダーターゲットはテクスチャでなくてはならない。(ピクセルシェーダー使うため)
テクスチャは2のn乗サイズじゃないとピクセルが1対1対応してくれないので、1024*1024にしてるんです。

573 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 17:17:29 ]
ViewPort

574 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 17:17:52 ]
1024×1024の画像ファイルの内必要な部分を範囲指定して表示すればいい

575 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 18:18:38 ]
>>572
>テクスチャは2のn乗サイズじゃないとピクセルが1対1対応してくれない
これの意味が分からん

576 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 20:00:53 ]
お前が低能無知なだけだろ

577 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 20:20:04 ]
おれもわからん
一体何とピクセルが1対1?
たてよこ?

578 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 21:19:49 ]
1:1対応にテクスチャのサイズなんて関係ねぇだろ。
描画する時の問題だ。

579 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 21:37:13 ]
1:1は意味不明だがテクスチャの元画像の縦横を2のべき乗にすんのが普通。
元画像とテクスチャのバッファサイズが違うと引き伸ばされる
んで、読み込んだテクスチャバッファのうち、640*480の範囲を指定して
スプライトを描画すればよい。



580 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 22:31:40 ]
なんで自らが引き伸ばして描画しているのに、「されて」とか他人のせいにする奴が現れるんだろう?

581 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:01:32 ]
>>575
2のn乗以外のサイズで作ったときってDrawPrimitiveなんかで描画した時どうしても歪んで描画されないピクセルとかありませんか?
何かやり方があるならそれを知りたいです。
>>577テクスチャ上のピクセルと画面のピクセルがです。

582 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:08:24 ]
まずはD3DXを一切使うのをやめ、画像ファイルをテクスチャに読み込んで自分でUVを設定し描画するところまでやれ。
それで全て解決する上に、自分がいかに間抜けなことを言っているかも理解出来る。

583 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:09:57 ]
とんでもなくボロいビデオカードだと2のn乗以外のサイズのテクスチャ使えない?

584 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:15:52 ]
馬鹿が余計なもん使って遠回りしてらぁw
m9(^Д^)プギャー

585 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:18:21 ]
>>583
正方はさすがにないと思うけど
n乗は守ってるな俺
あんま意味無いかも
っていうか最近のグラボ事情知らん

586 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:34:35 ]
使えても内部的に無駄が出るんじゃね

587 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:36:16 ]
2^n以外のテクスチャが使える場合でもパフォーマンスは2^nより落ちるとかいう話を聞いたこともある

588 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:39:10 ]
2乗は必須だけど正方かどうかはハード次第だろ。

589 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 00:06:26 ]
GeForce6以降はテクスチャサイズの最大サイズ以外の全ての制限がなくなったわけだが。
DXTテクスチャですら適当なサイズのまま作れるぞ。



590 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 03:00:35 ]
>>583
2のn乗が使えないのは、一番新しいのだとIntelの815の統合ビデオ機能かな?
っていうか、NONPOW2CONDITIONALは、2のn乗しか使えないハードウェアでも
ドライバの対応だけでクリアできるものだと思う。

591 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 03:32:25 ]
おまえらの記憶にもうVoodooは無いのね・・・

592 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 07:36:53 ]
あんな糞ボードサポートしてどうすんだよ

593 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 08:56:42 ]
日韓併合における韓国皇帝の勅諭(原漢文)

皇帝、若(ここ)に曰く、朕否徳にして艱大なる業を承け、
臨御以後今日に至るまで、維新政令に関し承図し備試し、
未だ曽て至らずと雖も、由来積弱痼を成し、疲弊極処に至り、
時日間に挽回の施措望み無し。
中夜憂慮善後の策茫然たり。
此に任し支離益甚だしければ、終局に収拾し能わざるに底(いた)らん。
寧ろ大任を人に託し完全なる方法と革新なる功効を奏せいむるに如かず。
故に朕是に於いて瞿然として内に省み廊然として、
自ら断じ、茲に韓国の統治権を従前より親信依り仰したる、
隣国日本皇帝陛下に譲与し、外東洋の平和を強固ならしめ、
内八域の民生を保全ならしめんとす。
惟爾大小臣民は、国勢と時宜を深察し、煩擾するなく各其業に安じ、
日本帝国の文明の新政に服従し、幸福を共受せよ。
朕が今日の此の挙は、爾有衆を忘れたるにあらず、
専ら爾有衆を救い活かせんとする至意に出づ。
爾臣民は朕の此の意を克く体せよ。

隆煕四年八月二十九日

御璽

594 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:50:43 ]
テクスチャをDDSファイルで読み込もうとしているんですが
複数のDDSファイルを読み込むと途中で動かなくなってしまいます
DDSファイルには特殊な処理が必要なんでしょうか?

ちなみに1つであればどのDDSファイルでも
見ている範囲では正常に動いているんですが・・・

595 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:53:06 ]
随分アバウトな質問だな
それはDDS以外のフォーマットなら複数読んでもとまらないってことか?

596 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 00:02:14 ]
>>595
すいません
よくよく試してみたら他の形式でも同様の止まり方をしましたorz
ちょっと前までDDSは使ってなくてその間は特に問題が無かったんで
DDSのせいだろうと決めてかかってました
多分他のところに問題があると思うのでもう少しコードを見直してきます
またわからないことが出てきたらお願いします

597 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 00:24:57 ]
エスパーするとマルチスレッドで読み込もうとしてデバイスがマルチスレッドのフラグつけていない

598 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 00:48:02 ]
Voodooはさすがにもういいだろ
SiS辺りのクソオンボとかi810とかはまだ使ってる人居るけど

599 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 00:50:18 ]
>>597
あーありそう、昔一度やったことある



600 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 00:57:04 ]
つーか今から何か出すなら最低でもシェーダーモデル3.0でいいだろ。
GeForce6なんて何世代前のビデオカードだとおもっとるんだ。

3Dゲームやるようなユーザーなら定期的にPC構成弄ってるし。

601 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 01:02:08 ]
んーどうなのかな
PCのスペック二極化してるから下の層を拾うような仕様だと未だに糞ボードの対応までやってる感じするけど

602 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 02:11:10 ]
ゲフォ5200と旧ATI9200以上の対応だけすればいい
理由はウチにあるそこそこ低いボードだからだ

作り手で線引きしないときりがない

603 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 02:26:25 ]
ショップの品揃えで判断するとか。
GFX5200とか未だに定番商品みたいに新品売られてるのが泣ける。

604 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 08:20:24 ]
だってそれ挿せばとりあえずVista(Aero)動くもん

605 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 08:37:31 ]
つってもHD3450が5000円で買えるんだし下見るのももういいだろって気がする。
だから日本はエロゲ以外のゲームがろくに出ないんだよ。

606 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 12:00:45 ]
DirectX10+SM4.0だろ
今更昔のクオリティのゲーム作って何が楽しいんだ

つーかこのスレやっぱりゲーム作る人多いのね

607 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 12:51:16 ]
>>605
そういうのはPCメーカーが底上げしないと駄目だな
あとVRAMみたいな初心者でもわかりやすい目安みたいなのあればいいのに

>>606
楽しさも人それぞれっしょ
むしろ絵を綺麗にするだけの作業なんて何が楽しいんだよとか思うが

608 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 13:30:03 ]
>むしろ絵を綺麗にするだけの作業なんて何が楽しいんだよとか思うが
リアルタイム3DCG技術についていけなくなった人が自分を慰めるための常套句ですね。わかりますw

609 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 13:40:39 ]
自己満足ならそれでもいいんだが
ゲームは結局他人に遊んでもらってなんぼだからな
どんな流麗なCGでも動かなければ意味がない

マイロソフトのやり方だと次あたりのVisualStudioをXP非対応にして
まず開発者側の首を締めにかかってくるだろう
Vista以上でなければソフトが作れない環境ができてしまえば
市場からXPが消えるのも時間も問題と思われる
DirectXSDKはもっと早くXPのサポートを打ち切るだろうしね



610 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 13:42:37 ]
>>608
海外向けのゲーム作ってる一部の人がそれ言うなら煽りに聞こえるが
日本向けゲーム作ってる人が言うとただの同意にしか見えない

611 名前:デフォルトの名無しさん [2008/11/21(金) 14:42:16 ]
すみません。DirectSoundをはじめて利用して、プログラムを作成しています。
そこでよくわからない状況になって困っています。
SDKはDirectX8(VC6++のサンプルがあるため)を利用しているのですが、
そのサンプルを参考にWAVファイルを再生するところまでたどり着きました。
ところが、再生前にフォーカスをはずすと、音が鳴らなくなるという現象が
発生してしまいます。
フォーカスが外れていても、音が鳴るようにするにはどのようにすればよいでしょうか?
よろしくお願いいたします。

612 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 14:54:05 ]
サウンドバッファをつくるときに
DSBCAPS_GLOBALFOCUSフラグを立てる

この説明でわからないならソースうp

613 名前:デフォルトの名無しさん [2008/11/21(金) 15:02:49 ]
>>612
解決しました!!ありがとうございます。
これで無事システムを納品できそうです。
即答ありがとうございました。

614 名前:デフォルトの名無しさん [2008/11/21(金) 15:06:04 ]
DirectSound8のサンプルをそのまま利用していたので、パラメータの存在に
気がつきませんでした。説明を読むと、確かにそのとおりの内容になっていますね。
msdn.microsoft.com/ja-jp/library/cc354147.aspx


615 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 17:57:23 ]
>>608
何人でどのくらいの期間で何をつくるのか知らんが
少数人チームで絵なんかこだわってる暇あったら
中身のほうを煮詰めてほしいと思うんだが
どんな凝ったエフェクトつけようとCG屋がウンコな時点で終了
逆に凝らなくても元のCGがきれいならそれなり
そもそも日本の個人ゲーはリアルタイム3DCGだのシェーダがどうのとか
そういうことを気にする以前のレベルだと思う

無論絵が綺麗に越したことはないが、だからといってゲームが面白いかというと別問題

616 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 18:38:21 ]
バンプや反射、屈折の初級エフェクトすらプロでもあんまり使ってくれない
っていうかそんな時間ないや
デザイナがシェーダの設定ファイルを書いてると遊んでると思われる空気

617 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 20:34:32 ]
IBasicVideo の GetCurrentImage を使って、
ビデオのワンフレームをビットマップとして保存しようと思っているのですが、
ソースが mpeg2 の場合だと何故か真っ黒なビットマップしか取得できません。
ソース、取得するフレームの位置、mpeg2 video decoder を色々変えて試してみたのですが、
結果は変わりませんでした。
ソースが avi, wmv, mpeg1 の場合は正常なビットマップを取得でることを確認済みです。
このことについて何かご存知の方おられましたらご教示お願いします。
試した mpeg2 video decoder は次のものです。
MpegVideoDecoder PIXELA, Cyberlink Video/SP Decoder

618 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 20:53:43 ]
正直D3D10に興味が涌かないな

仕事以外で使うならsm3での表現力に不足はないし
ジオメトリシェーダやその他諸々は高速化以外の用途が見出せないからつまらん

619 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 20:54:16 ]
>>617
DirectShowと戦うスレ Part 4
pc11.2ch.net/test/read.cgi/tech/1214127501/



620 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 21:04:44 ]
>>619
ありがとうございます。移動します。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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