鬱だ氏のう DirectX (Part 3)
■ このスレッドは過去ログ倉庫に格納されています
初心者用相談室では扱わないような少し高度な話題も受け持つ。
■旧スレ(プログラム板)
http://piza.2ch.net/tech/kako/966/966655286.html (Part 1)
http://pc.2ch.net/test/read.cgi/tech/997101556/ (Part 2)
0308
02/01/07 02:38ID:JNjsuZE70309307
02/01/07 02:48ID:BpbIQZ5iスイマセン。ちょっと書き方がまずかったみたいです。
ようするに
カメラの正面に大きな立方体があるイメージです。
0310名前は開発中のものです。
02/01/07 03:12ID:???つまり、四角錐と立方体が交差してるかどうかを調べる
ということですよね。
0311名前は開発中のものです。
02/01/07 03:23ID:???上手く説明できないが、
スクリーン座標に変換した最小の点<スクリーンの最小<スクリーンの最大<スクリーン座標に変換した最大
になるとおもうから、それで判定ってのは?
0312名前は開発中のものです。
02/01/07 03:30ID:???0313307
02/01/07 03:49ID:BpbIQZ5i>>311 スクリーンの最小<スクリーンの最大 とはどういうことなんでしょうか?
>>312
座標変換前に調べるというのは、オブジェクトのワールド座標がカメラの
視野角内であるか判定するということですよね。
0314名前は開発中のものです。
02/01/07 18:29ID:???0316名前は開発中のものです。
02/01/07 18:35ID:???0317名前は開発中のものです。
02/01/07 20:16ID:???0318名前は開発中のものです。
02/01/07 20:44ID:ejFgkT1W0319名前は開発中のものです。
02/01/07 20:58ID:???2chで聞いても馬鹿にされるだけだぞ。
0320名前は開発中のものです。
02/01/07 23:38ID:???0321名前は開発中のものです。
02/01/08 12:19ID:???0322320
02/01/08 17:46ID:???0323名前は開発中のものです。
02/01/08 17:50ID:aXMf05yUプレイヤーの機体を基準としてなんですけど、数値の大小で悪影響とか出ることはあるんで
しょうか?それともどうでもいい?
0324名前は開発中のものです。
02/01/08 18:09ID:???単位も何でもいい。インチでもメートルでもキロメートルでもセンチメートルでも
ウサマビンラディンでも何でもいい。
0325名前は開発中のものです。
02/01/08 18:13ID:???サンクスです。ウサマで逝きます。
0326名前は開発中のものです。
02/01/08 19:38ID:???有効桁6桁だから、あんまでかすぎると良くないと思うよ。
0327名前は開発中のものです。
02/01/08 20:17ID:???なってます。。ビデオカードの能力不足かと思ってました。
サンクスです。
0328名前は開発中のものです。
02/01/08 22:08ID:???どうせならオングストロームとかパーセクとか
0329名前は開発中のものです。
02/01/09 00:04ID:???0330名前は開発中のものです。
02/01/10 15:50ID:???0331名前は開発中のものです。
02/01/10 17:27ID:???0332名前は開発中のものです。
02/01/10 17:35ID:VwnKgT/a0333祭り報告
02/01/10 17:53ID:mnz5oev8みなさんも是非( ● )_( ● )を付けてスレ立ててください。
みんなであの最悪板を制圧して潰しましょう!
そしてあそこを消滅させましょう!!
今こそ団結の時じゃないでしょうか。特にペット好きの皆さんは。
0334331
02/01/11 00:54ID:8pSNS9M0何をやっても横に1.5倍ほど伸びてしまいます。サンプルにある
パーティクルと同じ画像をたくさん表示してるんですけど・・・
解決策を教えて下さい!
0335名前は開発中のものです。
02/01/11 01:09ID:???もしサンプルが正常に動いてるならそのソースを見たほうが早いかもよ。
画面全体の縦横比がおかしいなら、プロジェクションマトリクスとか
ビューポートの設定を疑ってみてはどうか?
0337331
02/01/11 02:33ID:8pSNS9M0すいません・・。どうやら画面の縦横比の問題みたいでした。
バックバッファの設定を1120:480にしたら直りました。
ありがとうございます。
0338名前は開発中のものです。
02/01/11 05:32ID:???0339338
02/01/11 05:33ID:???CONST_DIKEYFLAGS でした。スミマセン。
0340名前は開発中のものです。
02/01/11 05:42ID:???DIK_DOWNだったら %mssdk%include\dinput.h の2000行目あたり。
ただし defineされているだけで、enumされてないんじゃねーのか?。
何に使うのかは知らんが、がんばれ。
それと、grepの使い方は覚えとけ。便利だから。ていうか基本。
0341331
02/01/11 21:28ID:8pSNS9M0直ったように見えていただけでした・・・
ポイントスプライトの表示領域が真っ白に表示されるように
してみたら、なんと横長の長方形でした。比率は2:1ぐらいだと思います。
で、その長方形はバックバッファに常に平行に描画されていて、他の
オブジェクト、ポリゴンに張ったテクスチャ、ビューポートの設定、
等は全て正常でした。(ビューポートのどこの設定を変えてもこの2:1は
変化しないです。)バックバッファのサイズ比を変更しない限り変化できないのですが、
これを変えると画面の縦ラインが妙な感じになったり、フルスクリーンに
できなくなったりします。似たような症状を知っているという方、教えて下さい。
0342名前は開発中のものです。
02/01/11 21:46ID:???よく分からんが、
>1120:480
この比のせいじゃない?
4:3になるようにしてみれば?
0343331
02/01/11 21:51ID:???その比だとスプライト以外の画像がおかしくなるんです。
ウィンドウサイズ640:480で、バックバッファも
640:480にするとスプライトは2:1ですけど他は全て
正常です。フルスクリーンもできます。
0344331
02/01/11 21:54ID:???4:3(ウインドウサイズと同じ比)でスプライトがおかしく
なるといことです。
0345名前は開発中のものです。
02/01/11 22:49ID:???で、肝心のサンプルのほうはどうなの。
そっちは問題なく動いてるんだろう?
0346331
02/01/11 22:52ID:???動いてます。ウィンドウのサイズを変えても大丈夫です。
0347名前は開発中のものです。
02/01/11 23:32ID:???0348331
02/01/11 23:43ID:???アスペクト比は1.2です。変更するとスプライトの表示位置は
変わりますがサイズ(2:1)は変化無しでした・・・。
スプライトのサイズ変更処理をしても比率にはやはり変化無しです。
(D3DRS_POINTSCALEENABLE)
D3DRS_POINTSPRITEENABLE のみ、又、併用どちらもダメでした。
0349331
02/01/12 00:44ID:???方法教えて下さい・・・色々探しましたが見つかりませんでした。
お願いします。
0350名前は開発中のものです。
02/01/12 01:16ID:???0351331
02/01/12 08:28ID:kqWL79i1ようやく見つけました・・・。初期化の際、マルチサンプリングタイプを、
D3DMULTISAMPLE_2_SAMPLES にするとこの現象が起きるようです。
D3DMULTISAMPLE_NONE にしたらあっさり直りました。
でも理由が分かりません。
D3DMULTISAMPLE_2_SAMPLES はフルスクリーン・エッジアンチエイリアスを
使うために設定が必要だったんですが、もし分かる方いたら説明して頂きたいです。
共存はできないんでしょうか。
0352名前は開発中のものです。
02/01/13 00:38ID:ssMqoitnよくわからんが、ドライバがお亡くなりになってるんじゃ?
0353名前は開発中のものです。
02/01/13 00:48ID:???ビデオチップは何を使ってる?
もしHALドライバが怪しいと思ったら
リファレンスラスタライザの出力と比較するといい。
結果が異なるならビデオチップメーカーを呪うしかない。
0354名前は開発中のものです。
02/01/13 01:06ID:lenemCyg出来ないと思われ。
あれの根っこは、テクスチャの加工は拡縮比だけで転送、これに尽きる。
パラメータそのものが存在しないので、自前でシェーダ書け。
0355名前は開発中のものです。
02/01/13 04:14ID:???呪う前にバグ報告しろって
0356名前は開発中のものです。
02/01/13 17:35ID:???DirectXの初期化の方法と使い方が分かったところで、さぁ何か作ってみるかと
思っているんですが、クラスを一切つくらずに一枚のファイルに書き続けていたら
すぐにコードが破綻しそうです。
そこで、クラス設計を考えはじめたのですが、みなさんはどのように設計しますか?
例えば、Winodwを作成表示するクラス、描画を担当するクラス、入力を担当するクラス
って感じですか?
0357
02/01/13 17:44ID:aHq0GIhgサンプルみたいに d3dapplicationクラスを作って
その派生で d3dgame とかクラスを作るといいかも〜
後、DXのバージョンが上がった時に最小限の変更でいいようにしたりして
Txture管理なんかも別クラスにしておく
0358
02/01/13 18:15ID:aHq0GIhgViewPortも描画クラスの外にだして、簡単にマルチスクリーン、マルチアングルとか出来るようにしておきたい予感
0359親切な人
02/01/13 18:46ID:???1通のメールを読むだけで、毎月 1250 円
貰えます!!!
下記を観て下さい↓
http://www.guruguru.net/auction/item.php3?itemid=21703
■経験談■
私も、この広報文を観て、すぐ加入しました。
そして訪問するサイトに、このメモを 10 箇所位
残しました。
先月、家に USA から小切手が送金されました。
これを、地元の富士銀行で円に変えたみたら、
驚くことに、83500 円になりました。
それで、このサイトに入って、私の会員数を
確認してみたら、私の直接会員が 23 人で、
その会員が集めた会員が、65 人だったん
です。
まさか、こんなに早く会員が増えるとは思いも
しませんでした。(ちゃんと確認できるところが
安心します。)
■会員募集方法■
http://www.mintmail.com/?m=1940638
後の ID(番号)部分をミントメールより付与された
自分の ID に変換して広報すれば、本人が自動
的に抽選されます。
0360名前は開発中のものです。
02/01/13 20:24ID:???親切な人だかなんだか知らんが、激しく板違い。
どこの板が適切かって言われても困るけど。sage
0361名前は開発中のものです。
02/01/13 20:40ID:IFrfU7ioRECT rc;
GetClientRect( g_hWndMain, &rc );
HDC hDCWindow = GetDC( g_hWndMain );
HDC hDCImage = CreateCompatibleDC( NULL );
SelectObject( hDCImage, g_hSplashBitmap );
GetObject( g_hSplashBitmap, sizeof(bmp), &bmp );
StretchBlt( hDCWindow, 0, 0, rc.right, rc.bottom,
hDCImage, 0, 0,
bmp.bmWidth, bmp.bmHeight, SRCCOPY );
画面サイズ可変でもBMPを表示するには
どのように改良すれば良いでしょうか?
0362名前は開発中のものです。
02/01/13 21:00ID:???その手の宣伝カキコは大抵は自動書き込みソフト使ってるから。
ま、放置で。
0363名前は開発中のものです。
02/01/14 02:50ID:???そのコードだと、どのへんがマズイんでしょうか?
0364名前は開発中のものです。
02/01/14 02:55ID:???SelectObjectしっぱなしとかそういうの?
0365名前は開発中のものです。
02/01/14 05:55ID:???ReleaseDC()も無いな
0366名前は開発中のものです。
02/01/14 08:23ID:INEqxwASにするとBMP描画しない時があったので・・。
あと、ReleaseDC()はコピペしてませんが書いてあります。
コピペしてないコードに問題があるかもしれませんが。
0367名前は開発中のものです。
02/01/14 11:03ID:???パレットを設定してやらないとエライことになりますが、
そういうことじゃないよな
0368
02/01/14 18:06ID:wYdz4NZ6http://www.masahicom.com/click/polinky.swf
0369名前は開発中のものです。
02/01/14 19:27ID:???0370名前は開発中のものです。
02/01/14 20:17ID:???0371名前は開発中のものです。
02/01/14 20:58ID:???Bitでできますか?
0372名前は開発中のものです。
02/01/14 21:23ID:???Bitは知らないけど、Bltで出来る。
0374名前は開発中のものです。
02/01/15 22:20ID:???0375名前は開発中のものです。
02/01/15 23:07ID:AZ3fTKY/SDK、DIRECTDRAWのswitchscreenにpaletteという単語で
検索すると約20引っかかるのですけどパレット設定って面倒な
処理なのでしょうか?
0376名前は開発中のものです。
02/01/16 08:12ID:???そうでないならいらないよ。
面倒かどうかといわれるとそんなに面倒じゃない。
256色なら最初と最後のパレットがなぜか、黒と白に固定されてしまうとか、
細かい注意が必要(他に何かあったっけ?
0377名前は開発中のものです。
02/01/18 22:22ID:SzoxuvrKテクスチャに貼ったBMPで描画します。
>376さん手間かけました。
0378名前は開発中のものです。
02/01/18 22:52ID:NTzxnp4wDirectXFileCreate
↓
RegisterTemplates(D3DRMのテンプレートを登録)
↓
CreateEnumObject(.xファイルから読みこみ)
↓
GetNextDataObject
↓
データオブジェクト->GetName
↓
D3DXLoadMeshFromXof(レンダリングに必要なデータを取得)<<失敗する
↓
(レンダリング用変数に振り分け)
、というふうにやってるのですが「D3DXLoadMeshFromXof」
のところで止まって(失敗して)しまいます。必要なデータは揃ってる
とおもうんですが、、、コンパイラは通ってます。何が足りないんでしょうか?
教えて下さい!
0379名前は開発中のものです。
02/01/18 23:02ID:???戻り値調べてどのエラーなのかわかれば自ずと解決すると思うが。
0380378
02/01/18 23:04ID:???IDirectXFileData::GetNextObject はよく分からないので使っていません。
最初のXFileDataobjectを取得(GetNextDataObject)してすぐにD3DXLoadMeshFromXof
を使っています。お願いします。
ところで、お前のコンパイラは金出して買った物なのか?
0383名前は開発中のものです。
02/01/19 00:03ID:o6fJC5Lk>コンパイラは通ってます。何が足りないんでしょうか?
Ditrect XのSDKが足りない
0384名前は開発中のものです。
02/01/19 00:04ID:o6fJC5LkところでSEって何だ?
0386378
02/01/19 00:24ID:???なぜかどれにもひっかかりません。
・D3DERR_INVALIDCALL
・D3DXERR_INVALIDDATA
・E_OUTOFMEMORY
・D3D_OK
マニュアルに載ってないものがあるんでしょうか?
ほかの関数の戻り値はすべてD3D_OKです。
0387名前は開発中のものです。
02/01/19 01:39ID:???もう、16進数の直値でいいよ。
0389378
02/01/19 02:48ID:???>E_FAIL
>Direct3D サブシステム内で原因不明のエラーが発生した。
でした。
0390名前は開発中のものです。
02/01/19 03:25ID:???じゃあその部分以外で挙動不審になっているんだろ。
今のままじゃ解決しないからソースどこかにアップすれ。
0391名前は開発中のものです。
02/01/19 07:45ID:???一番手っ取り早いよ。
0392名前は開発中のものです。
02/01/19 07:46ID:???ネタでも笑えない。
sage
0393378
02/01/19 19:24ID:???RMテンプレートでモデルを作るときは
TID_D3DRMFrame
TID_D3DRMMesh
(TID_D3DRMFrameTransformMatrix)
の3つのタイプデータを全て取得してないと
D3DXLoadMeshFromXofが正常に機能できないようです。
0394名前は開発中のものです。
02/01/19 22:28ID:OzUufBc/>ネタでも笑えない。
>sage
shi3zネタってそもそもギャグなの?
0395名前は開発中のものです。
02/01/19 22:40ID:FcNT7JOM∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/,( ´Д`) /
\丶_●‐● < かなりおもひれへよほぉー!
〉 , レ〉 \ まじで。まじで。
(~~▼~|) \
> )ノ \______________
(__)__)
0396名前は開発中のものです。
02/01/20 00:04ID:luoAEK1rやっぱ日本語ヘルプ欲しいよぅ。
英語は見ただけで頭痛がするんだよぅ。
0397378
02/01/20 00:26ID:???IDirectXFileData にはフレームとアニメーションセットしか
なく、これからIDirectXFileData::GetNextObjectで取得した
IDirectXFileObject インターフェイスから取得
できる(QueryInterfaceのみ?)IDirectXFileDataに個々の表示用モデル
データ(トランスフォームやメッシュなど)が入っているという考え方
でいいんでしょうか?
QueryInterfaceのインターフェース参照識別子の一覧表とかあるんでしょうか?
あとアニメーションの位置関係も教えて下さい。
0398378
02/01/20 00:29ID:???0399名前は開発中のものです。
02/01/20 01:05ID:luoAEK1r違います。
XFileのデータ構造はノードになってて、
>IDirectXFileEnumObject::GetNextDataObjectで取得できる
>IDirectXFileData にはフレームとアニメーションセットしか
>なく、
フレームとアニメーションセットしかないのは、ルートがフレームとアニメーションセットだっただけで
例えばルートにメッシュがあった場合は、IDirectXFileDataとしてメッシュも取得できます。
IDirectXFile云々を覚えるよりXFileのデータ構造を先に覚えた方が理解が早いですよ。
>>393
違います。
D3DXLoadMeshFromXofに渡すIDirectXFileDataは
メッシュのテンプレートデータを保持してなきゃ駄目なんです。
これが失敗するのは、IDirectXFileDataに保持されているデータが
フレームだったりフレームトランスフォームマトリクスだったりと
メッシュ以外のものだからです。
0400378
02/01/20 01:25ID:???ありがとうございます。
あの枝分かれの連続がノードっていう構造なんですか?
文章が変でもうしわけないですが思ってたとおりみたいです。すいません。
D3DXLoadMeshFromXofの失敗も書かれたとおりです。
IDirectXFileEnumObject::GetNextDataObjectで取得できる
IDirectXFileDataをメッシュかどうか見ずにそのまま渡していたせいでした。
0401名前は開発中のものです。
02/01/20 01:42ID:luoAEK1r失礼!
ノードじゃなくてツリー構造の間違いでした。
0402名前は開発中のものです。
02/01/20 18:06ID:???出来るの?なんかやろうとしても上手く出来ない。よって何時も恥ずかしく
外部ファイルにしてソフト動かしてます。ああ、鬱だ、、、
誰かやり方教えて
0403名前は開発中のものです。
02/01/20 20:07ID:???RM?IM?バージョンは?
IDirectXFile::CreateEnumObjectのヘルプとか読んだ?
0404名前は開発中のものです。
02/01/21 14:49ID:qhrFmVt6すれ違いですね。逝ってきます。
0405名前は開発中のものです。
02/01/21 15:31ID:???Softimage SDKを落としてくれば?
0406名前は開発中のものです。
02/01/22 02:45ID:???0407名前は開発中のものです。
02/01/22 04:45ID:???>やっぱ日本語ヘルプ欲しいよぅ。
>英語は見ただけで頭痛がするんだよぅ。
学生のころ、ちゃんと勉強しろとオトナが言ってなかった?
■ このスレッドは過去ログ倉庫に格納されています