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


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

くだすれDirectX(超初心者用) part.3



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

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 (未実装)
とでました解決策などありますか?






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

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

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