■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

【C++】 DirectX初心者質問スレ Part6 【C++】
501 名前:デフォルトの名無しさん :2005/10/18(火) 11:28:24
>>500

>>485
>>493


502 名前:デフォルトの名無しさん :2005/10/18(火) 11:29:11
>>1にはSDK見たり、ググったりしてわからなかったら〜って書いてあるんだから
○○がわかりません とかいう質問はSDKミレ!ググレ!でいーんじゃまいか?
○○をググったのですが××という部分がわかりません つーのが普通の質問だべ

503 名前:デフォルトの名無しさん :2005/10/18(火) 11:30:04
>>498
さすがにこれは同意できんなぁ。
それなら別に自分好みの質問にだけ答えられる掲示板つくりなよ。遠慮はいらない。

504 名前:sage :2005/10/18(火) 11:32:00
>>497 >>500 >>501
非道い自演だなぁ
そこまでして貶めたいのか…なんかもうまともに意見言えないな

505 名前:デフォルトの名無しさん :2005/10/18(火) 11:32:27
まぁ、質問者も自分好みにルールを変えようとしてるわけだが。

506 名前:498 :2005/10/18(火) 11:32:52
>>503
まあ言い方はかなり悪かったけど
ヒントでもいいのにSDK・ググれはNGとか矛盾だかけなんだよ

507 名前:498 :2005/10/18(火) 11:33:39
○だらけ
×だかけ

508 名前:デフォルトの名無しさん :2005/10/18(火) 11:35:03
433の影に隠れているけど、対立側にも変なのが一人いるよ

509 名前:503 :2005/10/18(火) 11:48:52
>>505-506
逆に「くだらない質問でも答える系スレ」を俺が立ててみようかな。
このスレは、初心者の文字を取って、ヘルプに載っている様な質問は禁止すればいい。

と書いてて思ったけど、一応初心者質問スレなんだよなここ。
こっちはこのままで、初心者質問がいやな人が鬱スレでいい気もしてきたが。

510 名前:デフォルトの名無しさん :2005/10/18(火) 11:58:35
「初心者」だと検索もできませ〜ん何でもかんでも教えてくださ〜い ってなるから
「初級者」がいいと思う

511 名前:433 :2005/10/18(火) 12:05:05
まだやってたのかwww
俺が煽りすぎたせいで引くに引けなくなった人もいるせいだろうな
すまんな、特に最初の人

>>510
いや大差ないとおもうぜ、それならちゃんとテンプレ変えた方がいい
しかし検索できてヘルプ読める時点でもう一人前だけどな

512 名前:デフォルトの名無しさん :2005/10/18(火) 12:10:33
読める。
読もうとするが読めない。
読まない。

513 名前:433 :2005/10/18(火) 12:23:52
読まないの含めて初心者だからなぁ、そこへわざわざやってきて説教するんだからな
まぁ受け皿が無いせいもあるが

>>489,492
勉強になった

>>509
鬱だ氏のうスレが駄目なら、ゲ製板の方を復活とかどうよ
IDあるし

514 名前:デフォルトの名無しさん :2005/10/18(火) 12:26:56
>>513
読まないのは問題外だろ。
初心者にすら含まないと思うが。

515 名前:デフォルトの名無しさん :2005/10/18(火) 12:41:50
厨房王国BBXと同じつもりで質問してんだろうけど
この板には以下のBBX3大機能は標準搭載されていない
自分でたいした努力しなくても
3大機能がなんとかしてくれると思ってるんだろうな

他人デバッグ機能 - 動かないソース出せばバグ取りから最適化まで丁寧に教えてくれる

他人ヘルプインデックス機能 - ヘルプのどこを読めばいいのか丁寧に教えてくれる

他人ソースコードジェネレータ機能 - 作り方わからなければ丁寧にソースを書いてくれる

MSの集まりに行ったことあるけど
神気取りな3大機能はなんとかならんのかね
なんの努力もしてない奴に直接的な答えを教えたら
答え丸写しして終わりだろうに

516 名前:デフォルトの名無しさん :2005/10/18(火) 13:01:44
みんな鰻食って落ち着け。

517 名前:デフォルトの名無しさん :2005/10/18(火) 13:01:56
答え丸写しは頭に入らないしね
この辺が最近のガキの頭の悪さを表してるな

518 名前:デフォルトの名無しさん :2005/10/18(火) 13:06:24
これからクソ質問は全部BBX誘導でいーんじゃね?

519 名前:デフォルトの名無しさん :2005/10/18(火) 13:11:48
「ヘルプ嫁」ではなく、「ヘルプはご覧いただけましたか?」にすればいい。

520 名前:デフォルトの名無しさん :2005/10/18(火) 13:23:19
質問者がテンプレ守ってないのに
回答者にテンプレを求めるのが問題だ

521 名前:デフォルトの名無しさん :2005/10/18(火) 13:31:42
鰻も鯰も秋刀魚も食べたい

522 名前:デフォルトの名無しさん :2005/10/18(火) 13:37:19
まあ、でも、ググって見つかるものもあれば、見付からないものもあるからな。
とりあえず、質問してみて、ググレって言われたら、ググッた結果を貼り付けたらどうだ?
「こういう感じでググってみたのですが・・・」
って感じで、だいたいヒットしない奴ってのはググリ方がまずい奴が多いわけだし。

ヘルプ嫁って言われたら、オンラインヘルプのどこらへんに書いてあるのか聞く。
まずはこの辺がお互いの折衷案に繋がっていくんじゃね?

523 名前:デフォルトの名無しさん :2005/10/18(火) 13:53:22
>ヘルプ嫁って言われたら、オンラインヘルプのどこらへんに書いてあるのか聞く。
教科書を渡されてもまだわからんのか…って話

524 名前:デフォルトの名無しさん :2005/10/18(火) 14:06:31
そういう奴にこそ鰻でも食ってろボケって

525 名前:デフォルトの名無しさん :2005/10/18(火) 14:58:02
なまず

526 名前:デフォルトの名無しさん :2005/10/18(火) 15:26:31
鯰 != 鰻

527 名前:デフォルトの名無しさん :2005/10/18(火) 16:05:43
ゲーム製作についての質問です

ゲームは始まったら当然スグゲーム開始ではなく
タイトル画面があったり設定画面があったりしますよね
これらはどうやって実装したらいいのでしょうか?
一応自分で思いついたのは以下の方法です

ゲームループ内で
switch(game_status)
case START_INIT:
  start.Init();
case START_FRAME:
  start.update();
  start.draw();
  break;
case GAME_INIT:
  game.Init();
case GAME_FRAME:
  game.update();
  game.draw();
  break;

といった感じです
何かもっとスマートな方法はありますでしょうか?

528 名前:527 :2005/10/18(火) 16:06:23
{
}
を忘れてました^^;

529 名前:デフォルトの名無しさん :2005/10/18(火) 16:07:19
あります。まずはゲ製板へどうぞ。

530 名前:デフォルトの名無しさん :2005/10/18(火) 17:29:32
.NET使ってるんですが、DirectX9SDKインスコしたけど新規プロジェクトでAppwizardがありません。
VC++6.0じゃないと使えないのでしょうか?

531 名前:デフォルトの名無しさん :2005/10/18(火) 17:34:00
いつからだったかは忘れたけどもうWisardは無くなったそうだよ。

532 名前:デフォルトの名無しさん :2005/10/18(火) 18:23:31
>>530
このスレを「wizard」で検索

533 名前:デフォルトの名無しさん :2005/10/18(火) 21:51:33
テンプレの

>これらに当てはまる人のための質問スレです。
>3.SDKを見ても、Googleで検索しても、いまいち理解できない人

>【 質問する香具師 】
>・ どんな事で躓いているのか明確にしよう。

この文章から導き出される質問の仕方は

SDKに記述がある答えやGoogleでモロ解答が得られる場合は
”SDKの読み方が分りません、Googleの使い方が分りません”
って素直に言うべきだと思う。

>3.SDKを見ても、Googleで検索しても、いまいち理解できない人
>「ググれ」「SDK見れ」以外の回答でおながいします。
3の状況なのに
この二つの文章を盾に、モロ答えを教えてくれるのが当り前って発想の奴は
コピペ以外じゃ、説明したって理解とか出来るレベルじゃないと思う……


534 名前:デフォルトの名無しさん :2005/10/18(火) 21:51:56
>>530
(Summer 2004) で廃止
代替品はサンプルブラウザからコピー可能
どうしても必要ならそれより前のSDKを利用すればよい

>>527
関数ポインタもしくは多態

※少し前の論争について
ググれ、ヘルプ嫁も場合によっちゃアリだとは思うがポインタを示すぐらいしてもいいんじゃないか?
回答者が理解してない、勘違いしてると思われる場合もそういう回答の仕方だと指摘しづらい
質問はスレの共有財産であって質問者は貴重なモルモットだということを思い出して欲しい

535 名前:デフォルトの名無しさん :2005/10/18(火) 21:56:18
>>534
同意、後からログ読んで有意義なのがいいね
とかく2chのログは、検索でひっかかるから

>>527はゲ製板へ移行済みの模様だよ

536 名前:デフォルトの名無しさん :2005/10/18(火) 22:00:02
>>533
一字一句合った関数名を検索にかければ出るけど、
スペルミスはともかく、どういう関数を使えばいいのか分からない場合どうすっぺ。

537 名前:デフォルトの名無しさん :2005/10/18(火) 22:03:54
527じゃないけど興味を持ったので聞きたいのですが
関数ポインタって

HRESULT (*p) (int game_status) = {
 start_init, start_frame, game_init, game_frame } 

てな感じでしょうか?

538 名前:デフォルトの名無しさん :2005/10/18(火) 22:04:48
新しいフレームワークってたしかDXUTとかいうんだっけか。

539 名前:デフォルトの名無しさん :2005/10/18(火) 22:06:07
(*p)じゃなくて(*p[4])か…orz

540 名前:デフォルトの名無しさん :2005/10/18(火) 22:46:53
確かDXUTってVC6でコンパイルしようと思うと泣けるよね
>>539
良いと思うよ
ソースレベルでシーン管理しちゃうのだったら、別途で添字管理が必要な配列より、
その都度関数を関数ポインタへ直接渡して遷移させる方が個人的に好きだけど

541 名前:デフォルトの名無しさん :2005/10/19(水) 00:25:22
アプリを起動したPCにDirectXのどのバージョンが入っているか調べるAPIってありますか?
自分でも調べたのですけれどOSのバージョンはわかれどDirectXを調べるAPIが見つからない・・・
インストールされているバージョンに応じて処理を切り替えたいのです。

542 名前:デフォルトの名無しさん :2005/10/19(水) 01:14:44
ない

543 名前:デフォルトの名無しさん :2005/10/19(水) 01:48:40
何のためにDirectXは古いバージョンも入れているんだか。

544 名前:デフォルトの名無しさん :2005/10/19(水) 02:13:52
GetDXVersion

545 名前:デフォルトの名無しさん :2005/10/19(水) 02:19:11
>>537
配列とかにするんじゃなくて、1つの関数ポインタを書き換えることで
状態遷移をするのが普通かなぁ。
527でいうgame_statusがそのまま関数ポインタで、switchを使わずに
game_status()を呼ぶ感じ。

まぁ、今は関数ポインタそのものを使うのではなく、クラスで実装するのが
普通だけど、DirectXとは関係ない話だな。

546 名前:デフォルトの名無しさん :2005/10/19(水) 03:53:32
俺的には配列で関数ポインタテーブルになってる方が好きかな。
確かにポインタ変数を書き換える方式の方が処理的には速いんだろうけど
配列として静的に中身が定義されてるとパッと見わかりやすい。

547 名前:デフォルトの名無しさん :2005/10/19(水) 04:51:51
配列もswitchも使わずに関数ポインタを目的の関数のポインタに書き換えるってどうやるの?
スレ違いなのはわかってるがどうしても気になる。

548 名前:デフォルトの名無しさん :2005/10/19(水) 04:54:39
普通普通
喪前らWNDCLASSSにウィンドウ関数ぶちこんでるだろ
あれと一緒

549 名前:デフォルトの名無しさん :2005/10/19(水) 04:59:10
あ、スマン。ボケてた。
前の処理の関数の最後に関数ポインタが次の関数を指すように書き換えれば良いのか。

550 名前:デフォルトの名無しさん :2005/10/19(水) 05:01:38
変な日本語になったorz
関数ポインタが次の関数を指すよう書き換えるコードをそれぞれの関数の最後に追加すれば良いんだよな。

551 名前:デフォルトの名無しさん :2005/10/19(水) 05:43:49
日本語に限らずC言語でも
関数ポインタが絡む宣言は理解に時間がかかる

552 名前:デフォルトの名無しさん :2005/10/19(水) 06:29:55
1つの関数ポインタ書き換えって
HRESULT (*p) (int game_status)
p = game_init
// で、game_init内の最後で
p = game_frame
ってコトだよね?

俺もテーブルの方が見易い派だなぁ

553 名前:552 :2005/10/19(水) 06:30:41
掲示板だとついセミコロンを忘れて…ヽ(`Д´)ノウワァァァン!!
最悪だな俺orz

554 名前:デフォルトの名無しさん :2005/10/19(水) 06:40:19
だからスレ違いだろ

555 名前:デフォルトの名無しさん :2005/10/19(水) 06:52:53
>>541
OSで判別するか、目的のDirectXのバージョンでしか使えないCOMインターフェイスを
取得できるかどうかで判別するのよ。
詳しくはヘルプの「紹介」>「使い方」>「CまたはC++」>「バージョン」にて

>>546
非配列は、処理の速さというより、オブジェクト指向でいう所のポリモーフィズムというか、
インターフェイスと実装を分離する感じが好きなのよ。もちろん処理も速いけど。

>>552で言うと、pが何かをクライアントは意識しないで良いからね。

556 名前:デフォルトの名無しさん :2005/10/19(水) 12:35:52
>>555
>非配列は、処理の速さというより、オブジェクト指向でいう所のポリモーフィズムというか、
>インターフェイスと実装を分離する感じが好きなのよ。もちろん処理も速いけど。
実際、そういうところでバグり易いのに、わざわざ処理の分岐をわかりにくくするのは、
あまりよくないんじゃないか?
俺はぶっちゃけ、ポリモーフィズムなんてこれっぽっちもよくないと思ってる。
よーく考えると利点の無いオブジェクト指向言語の改悪機能の一つだと思ってる。

557 名前:デフォルトの名無しさん :2005/10/19(水) 12:40:20
ハイハイ、ワロスワロス

558 名前:デフォルトの名無しさん :2005/10/19(水) 12:53:29
【初心者歓迎】スレを立てる前にココで質問を【Part9】
http://pc8.2ch.net/test/read.cgi/gamedev/1127522168/

>>527は↑に移動したみたいだから続きの議論も↑でやろうぜ。
ここだとスレ違いだし。

559 名前:デフォルトの名無しさん :2005/10/19(水) 13:50:56
遅くなったけど、ありがとうございました。

560 名前:デフォルトの名無しさん :2005/10/19(水) 21:07:08
>>556
オブジェクト指向を何も理解してないんだな。

561 名前:デフォルトの名無しさん :2005/10/19(水) 21:19:28
>>556
最高にド低脳な発言してください in ム板(VIII)
http://pc8.2ch.net/test/read.cgi/tech/1128354256/

562 名前:デフォルトの名無しさん :2005/10/19(水) 21:50:36
556は釣りだろ

563 名前:デフォルトの名無しさん :2005/10/19(水) 21:52:57
>>560
ポリモーフィズムなんて、所詮は後付け機能。
ダレが公認したのか知らんけど入れるべきじゃないね。

処理が変われば引数も変わるんだ。
無理やり同じようにまとめるべきじゃない。
強引にポリモーフィズムを突き通したことでグローバル変数を使うような糞設計なんてしてりゃ世話無いよなw低脳君w

564 名前:デフォルトの名無しさん :2005/10/19(水) 22:01:58
>>563
>処理が変われば
たぶんそこの考えが違うんだろうな。
処理が主体なんじゃなくて、オブジェクトが主体なんだよ。
手続き型のパラダイムのままじゃ理解できない。

565 名前:デフォルトの名無しさん :2005/10/19(水) 22:03:41
祭りの予感

566 名前:デフォルトの名無しさん :2005/10/19(水) 22:04:35
ねーねー、DirectXってmsdnライブラリとか
JavaTM 2 Platform, Standard Edition, 1.4.0API 仕様
みたいなサイトないの?もちろん日本語のね。

567 名前:デフォルトの名無しさん :2005/10/19(水) 22:06:36
msdnライブラリ

568 名前:デフォルトの名無しさん :2005/10/19(水) 22:07:04
>>563
> 強引にポリモーフィズムを突き通したことでグローバル変数を使うような糞設計
そりゃ単にオブジェクト指向を正しく使っていないだけ。

ポリモーフィズムを上手に活用するのがオブジェクト指向。

569 名前:デフォルトの名無しさん :2005/10/19(水) 22:15:39
>>568
具体的にいってよ。意味ねーじゃん。

あと、君がオブジェクト指向に変な意味を付加してるのがわかるよ。
オブジェクト指向っつーのはオブジェクト単位でクラスこさえて、
プログラムを組んでく以上の意味は無いでしょうよ。

後にあるのは設計が下手糞か上手かどうかの話でオブジェクト指向云々じゃない。
ポリモーフィズムはあくまでもオブジェクト指向言語の機能だ。
オブジェクト指向じゃない。

570 名前:デフォルトの名無しさん :2005/10/19(水) 22:23:38
>569
> 具体的にいってよ。意味ねーじゃん。
君が具体論を持ち出した形跡が見当たらないわけだが。
論点逸らすのやめたほうがいいぞ。

> あと、君がオブジェクト指向に変な意味を付加してるのがわかるよ。
わかったからといってどうなるの?

> オブジェクト指向っつーのはオブジェクト単位でクラスこさえて、
> プログラムを組んでく以上の意味は無いでしょうよ。
その過程にポリモーフィズムの活用があるのもわからんのか。

> 後にあるのは設計が下手糞か上手かどうかの話でオブジェクト指向云々じゃない。
何の後だよ。

> ポリモーフィズムはあくまでもオブジェクト指向言語の機能だ。
> オブジェクト指向じゃない。
だれがんなこといったんだ?エスパー?

571 名前:デフォルトの名無しさん :2005/10/19(水) 22:24:07
そういや俺の学校の先生がオブジェクト指向で設計されたプログラムには
グローバル変数は存在しないって断言してたけど本当なんだろうか…。
まあこれ以上はスレ違いだから移動しようぜ。

オブジェクト指向・嗜好・試行・至高・歯垢
http://pc8.2ch.net/test/read.cgi/tech/1049778124/

572 名前:デフォルトの名無しさん :2005/10/19(水) 22:27:06
オブジェクト指向の解釈は、絶対真理のバイブルなど無く堂々巡り。
そんなものをいちいちスレ違いなところで議論するのはただの馬鹿。

そんなに解釈を叫びたいのなら、論文にまとめて発表して、支持を集めて公式見解にすればいい。
ここで話す事柄ではない。

573 名前:デフォルトの名無しさん :2005/10/19(水) 22:35:27
>>570
はぁ?じゃあ、聞くけど、
君のこの文↓と
>ポリモーフィズムを上手に活用するのがオブジェクト指向。

俺のこの文↓は
>オブジェクト指向っつーのはオブジェクト単位でクラスこさえて、プログラムを組んでく

どっちがオブジェクト指向として適切なのよ?

574 名前:570じゃないけど :2005/10/19(水) 22:37:46
>>573
どっちもどっち

575 名前:デフォルトの名無しさん :2005/10/19(水) 22:39:20
>>573
スレタイを100回ぐらい音読するといいよ

576 名前:デフォルトの名無しさん :2005/10/19(水) 22:41:09
C言語の場合
if(flag) {
 printf("aho");
} else {
 printf("baka");
}

577 名前:デフォルトの名無しさん :2005/10/19(水) 22:42:09
>>576
せめてprintf文は一箇所にまとめろ

578 名前:デフォルトの名無しさん :2005/10/19(水) 22:42:30
最後に3つだけ。
1.俺の文じゃないこと。
2.君の文は「オブジェクト指向っつーのはオブジェクト単位でクラスこさえて、
  プログラムを組んでく以上の意味は無いでしょうよ。」であること。
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.俺も移動するからさっさと移動しろということ。

579 名前:デフォルトの名無しさん :2005/10/19(水) 22:43:17
C++の場合
class Base {
public:
 virtual void print() = 0;
};

class Aho : public Base {
public:
 void print() {printf("aho");}
};
class Baka: public Base {
public:
 void print() {printf("baka");}
};

A *a = new Aho;
a->print();
a = new Baka;
b->print();

580 名前:デフォルトの名無しさん :2005/10/19(水) 22:46:14
サンプル見る限りじゃオブジェクト指向で組むなということだろう。
まともに組みたい奴はC#に行けって。

581 名前:デフォルトの名無しさん :2005/10/19(水) 22:46:26
>>569
たとえばCのFILE *のようにオブジェクト指向言語と言われていない言語でもかなり支障ないケースがある。
となるとオブジェクト指向の本質はオブジェクト指向言語とそうでない言語の差に含まれていると捉えてよいだろう。
そう考えるとポリモーフィズムや継承はそれに当てはまらないか?

582 名前:デフォルトの名無しさん :2005/10/19(水) 22:49:06
>>578
じゃあ、とりあえずこっち↓へ移動だ。

オブジェクト指向・嗜好・試行・至高・歯垢
http://pc8.2ch.net/test/read.cgi/tech/1049778124/


583 名前:デフォルトの名無しさん :2005/10/19(水) 22:54:43
Cより難解でC#より安全でない
中途半端なC++は扱いにくい。
早くDirectXはC#に完全に移行してもらえんかな

584 名前:デフォルトの名無しさん :2005/10/19(水) 22:56:02
DirectXを使ってベターC以上の使い方してるソースなんて見たこと無い

585 名前:デフォルトの名無しさん :2005/10/19(水) 23:01:05
.NETとC#を混同している>>583

586 名前:デフォルトの名無しさん :2005/10/19(水) 23:02:58
勝手に使えばいいじゃん
C#+DirectXのどこに不満があるの

587 名前:デフォルトの名無しさん :2005/10/19(水) 23:05:08
オブジェクト指向とはなにか
なんて関係ないじゃん
自分の言葉で話しなよ

588 名前:デフォルトの名無しさん :2005/10/19(水) 23:06:40
>>586
遅い

589 名前:デフォルトの名無しさん :2005/10/19(水) 23:17:28
スクリーンショットを取るコードを書いていますが、
D3DXSaveSurfaceToFile以外でスクリーンショットを簡単にとる方法ってないですかね。
取り込んだデータを別のウインドウに書き出したり手を加えたりすることも考えて、
メモリ上にデータを置けるといいのですが。
D3DXSaveSurfaceToFileInMemory以外だと助かります。

590 名前:デフォルトの名無しさん :2005/10/19(水) 23:43:39
>>588
「完全に移行」してどうにかなる問題じゃねぇw
しかもC#の問題であってDirectX関数が遅いわけじゃないだろう

591 名前:デフォルトの名無しさん :2005/10/19(水) 23:55:03
むしろただ完全に移行しただけじゃ>>588の言う遅いDirectXしか使えなくなる罠がw

592 名前:デフォルトの名無しさん :2005/10/20(木) 01:04:54
>>566
MSDNライブラリにDirectXも含まれるよ。

593 名前:デフォルトの名無しさん :2005/10/20(木) 08:41:50
脳内のオブジェクトが猫だの人だのが話したり歩いたりと、
ゲームで自機・敵A・敵B・アイテムなんかでは
ポリモーフィズムすることの恩恵と手間隙が異なってくる

594 名前:593 :2005/10/20(木) 08:42:43
すみません。z個解決しました

595 名前:デフォルトの名無しさん :2005/10/20(木) 09:06:18
555だけど、まさかあれが荒れる原因になるとは…すまんな

>>589
バックバッファ作成時にD3DPRESENTFLAG_LOCKABLE_BACKBUFFERを指定しておけば、
オフスクリーンメモリ参照し放題だよ。

パフォーマンスの低下が気になるなら、スクリーンショットを取るときだけ仕立て直すか
レンダリングターゲットを変えて強引にいじれるメモリ上へ持ってきてもいいかもね。

596 名前:589 :2005/10/20(木) 10:57:37
>>595
ありがとうございます。
なるほど、そういうことができるのですね。
早速やってみたいと思います。

597 名前:デフォルトの名無しさん :2005/10/20(木) 15:34:10
>>589
そういう場合はIDirect3DDevice9::GetRenderTargetDataを使う。

598 名前:デフォルトの名無しさん :2005/10/20(木) 15:42:46
おまいらが大好きなタスクシステムはポリモルフィズムですよ

オブジェクト指向ネタ引っ張ってスマン

599 名前:デフォルトの名無しさん :2005/10/20(木) 17:43:20
>>598
まともな人はそういう組み方をしない。
同人シューティングでしか流行ってないよ、そんなもん。

600 名前:デフォルトの名無しさん :2005/10/20(木) 17:47:51
>>599
どっちかというと日本のゲーム業界で培われたノウハウがタスクシステムであって、
それらは本来門外不出なのであまり解説は多くなく、会社ごとに実装も違って、
同人なんかは逆に頑張ってクラス作ってるとおもわれる。

601 名前:デフォルトの名無しさん :2005/10/20(木) 18:13:05
>>600
俺、転職多くて4社は移ってるけどそんなの使ってるとこなかったな。

602 名前:デフォルトの名無しさん :2005/10/20(木) 21:06:10
つうかそんなもん偉そうに
タスクシステムとか名前付けんなというわけで・・
春日恭介15歳、青春してます!

603 名前:デフォルトの名無しさん :2005/10/20(木) 21:42:33
windowsの確認がとれないからダウンロードできないって
いわれたんですけど、なんか解決法とかありませんか??

604 名前:デフォルトの名無しさん :2005/10/20(木) 21:43:46
>>603
MSに電話

605 名前:デフォルトの名無しさん :2005/10/20(木) 21:58:38
割れ

606 名前:デフォルトの名無しさん :2005/10/20(木) 21:59:56
DirectMusicで周波数・3D・ボリュームの設定って反映できますか?

607 名前:デフォルトの名無しさん :2005/10/20(木) 22:16:26
DirectMusicって市販のゲームで使われたことあったっけ?

608 名前:デフォルトの名無しさん :2005/10/20(木) 22:17:29
使ってるかどうかってどうやって調べるの?

609 名前:デフォルトの名無しさん :2005/10/20(木) 22:35:41
>>606
できるよ

610 名前:デフォルトの名無しさん :2005/10/21(金) 07:56:57
>609
どうやってできますか?
一部DirectSoundを使わないといけないような気がするんですが

611 名前:デフォルトの名無しさん :2005/10/21(金) 10:35:16
LPDIRECT3DDEVICE9(Direct3D9デバイスへのポインタ)って使用頻度が物凄く高いですが
グローバル変数にしたほうがいいのでしょうか?
それとも引数に指定して行くほうがいいのでしょうか?

612 名前:デフォルトの名無しさん :2005/10/21(金) 11:20:41
>>610
オーディオパスのGetObjectInPathでDirectSoundとDirectSound3Dを貰えるよ
これらをいじれば>>606が可能になる

613 名前:デフォルトの名無しさん :2005/10/21(金) 13:20:18
>>611
その手の話はロクなことにならないので振らないように

614 名前:デフォルトの名無しさん :2005/10/21(金) 14:01:59
>>613
そうですか
すいませんデス

てことはたいした違いもねーから勝手に汁!系ですかね^^;
とりあえず色々やってみます

615 名前:デフォルトの名無しさん :2005/10/21(金) 14:54:26
>>611
DirectXと全く関係ない話

616 名前:デフォルトの名無しさん :2005/10/21(金) 22:25:20
>612
周波数の設定はどうやったらとれますか?

617 名前:デフォルトの名無しさん :2005/10/21(金) 22:37:48
こんばんわ。
XFileデータで、AnimationKeyというのがありますが、

AnimationKey {
0;
121;
0;4;0.970079,-0.241868,0.020510,-0.005114;;, //..←ここの値
}

移動や拡大・縮小はそのままの値っぽぃのですが、
回転のデータがどこからやってくるのかわかりません。

どなた様かご教授願います。



618 名前:デフォルトの名無しさん :2005/10/21(金) 22:53:21
クオータニオンで入っているだけ。

619 名前:デフォルトの名無しさん :2005/10/22(土) 04:44:13
LPDIRECT3DDEVICE9のコピーを各オブジェクトが保持する場合、
やっぱりみんな律儀にAddRefとReleaseするんですよね。
でも、グローバル変数的な唯一の変数でプログラム全体で共有するなら、
AddRefいらないですよね。

620 名前:デフォルトの名無しさん :2005/10/22(土) 04:47:17
>>619
>>615


621 名前:デフォルトの名無しさん :2005/10/22(土) 07:58:41
>>619
煽られるの前提で書くけど、自分で管理する覚悟があるなら、律儀さは無くてもOK

MSがCOMっぽさをD3DXで隠蔽しまくっている以上、
COMを意識しなくなるのは当然の流れかもね。
人によってはただの手動スマートポインタになっちまった。

622 名前:デフォルトの名無しさん :2005/10/22(土) 08:14:21
EclipseってDirectXの開発環境として使えたりしますか?

623 名前:デフォルトの名無しさん :2005/10/22(土) 08:33:57
Eclipseに出来ないことはないよ

624 名前:デフォルトの名無しさん :2005/10/22(土) 09:12:04
DirectMusicで周波数の設定ってどうやったらできますか?

625 名前:デフォルトの名無しさん :2005/10/22(土) 10:35:03
>>622
Win32+DirectXで使ってるけど、当然ながらVisualC++の方がいいよ。
CVSが簡単に使えたりするのは楽だけど。

626 名前:デフォルトの名無しさん :2005/10/22(土) 12:46:23
>>616
DirectSoundと同じことすればいいだけ

627 名前:デフォルトの名無しさん :2005/10/22(土) 13:41:25
Musicだとセグメントにロードだと思うんですがIDirectSoundBuffer8
のメソッドのSetFrequencyを呼んでもどこに反映されるのかわかんないんですが
どことどこを関連付け?みたいなことをしなくちゃいけないのかわかりません。

628 名前:デフォルトの名無しさん :2005/10/22(土) 14:22:15
WinAPI質問スレにも書いたのですがスレ違いだと思ったのでここで、

他のプロセスのDirectXを使用したウインドウに対して、
高速にGetPixelしたいのですが、何か方法はありますか?

629 名前:デフォルトの名無しさん :2005/10/22(土) 14:49:09
チーター乙

630 名前:デフォルトの名無しさん :2005/10/22(土) 15:00:43
>>628
氏んでくれ・・・

631 名前:デフォルトの名無しさん :2005/10/22(土) 15:05:42
>>627
>SetFrequencyを呼んでもどこに反映されるのかわかんないんですが
DirectSoundBufferをくれたAudioPathに反映してるんだけど
実際にやればわかるはず

632 名前:デフォルトの名無しさん :2005/10/23(日) 04:30:11
2のべき乗でないイメージ(600*600)を
D3DXCreateTextureFromFileEx( lpdevice, file, 0,0, 0, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED,D3DX_DEFAULT,D3DX_DEFAULT,0,NULL,NULL,lpTexture);
で読み込んでポリに貼り付けて表示してるんですがきれいに表示されません。何か解決方法ありませんか?

633 名前:デフォルトの名無しさん :2005/10/23(日) 04:50:39
拡大フィルターんとこでD3DXなんちゃら_NONEを使うとうまくいくんでなかったっけ。


634 名前:デフォルトの名無しさん :2005/10/23(日) 12:46:04
>>632
D3DX_DEFAULT_NONPOW2
D3DPTEXTURECAPS_NONPOW2CONDITIONAL
で、ヘルプを検索汁。条件が厳しいからあまり使わない方が良いだろうね。

普通はuv値に イメージ幅/2のべき乗に切り上げた幅 を渡したり、
テクスチャマトリクスを使って対処とかかな。

635 名前:デフォルトの名無しさん :2005/10/23(日) 14:06:51
>>632
512x512でガマンするか、1024x1024にしる。
メモリ消費を気にするなら、128x128のタイルで5x5に分割しる。

636 名前:デフォルトの名無しさん :2005/10/23(日) 14:23:48
すいません、IDチェッカーを使って2ちゃんの書き込みから住所が分るって言ってる人がいるんですけど本当なんでしょうか?

http://sports9.2ch.net/test/read.cgi/billiards/1124849366/153
http://sports9.2ch.net/test/read.cgi/billiards/1124849366/159

637 名前:デフォルトの名無しさん :2005/10/23(日) 14:41:05
>>636
DirectIDCheckerを使えば分かる

638 名前:質問です。 :2005/10/23(日) 21:52:08
JPEGを読み込んでRGBの値を得るプログラムを教えてください。

639 名前:デフォルトの名無しさん :2005/10/23(日) 22:06:52
〃∩ ∧ ∧
⊂⌒( ・ω・)  はいはいフォトショフォトショ
 `ヽ_っ⌒/⌒c
    ⌒


  ∧_∧
⊂(#・д・)  フォトショって言ってんだろ!!
 /   ノ∪
 し―-J |l| |
         人ペシッ!!
       __
       \  \

640 名前:デフォルトの名無しさん :2005/10/23(日) 22:43:27
jpgをRGB形式の画像データに変換するlibって無かったっけ?

641 名前:デフォルトの名無しさん :2005/10/23(日) 22:47:40
http://www.sm.rim.or.jp/~shishido/jdll.html
この人がなんかやってくれてるけど、
こんなことする必要あったっけ?
pngならlibpngあるけどね。

642 名前:デフォルトの名無しさん :2005/10/23(日) 22:53:59
Musicで同じ音を複数ならしたいときは読み込みを2回する以外に方法ありませんか?

643 名前:デフォルトの名無しさん :2005/10/23(日) 22:58:52
おまえらマルチにかまうなよ

644 名前:デフォルトの名無しさん :2005/10/23(日) 23:03:50
こことゲ製作とニュース系サイトしかチェックしてないのに
どれがマルチかわからん

645 名前:デフォルトの名無しさん :2005/10/23(日) 23:05:23
はわわ〜

646 名前:デフォルトの名無しさん :2005/10/23(日) 23:06:09
量産型は氏ね

647 名前:デフォルトの名無しさん :2005/10/24(月) 00:06:52
もうBBXは見てないから、向こうでレス無かったらこっち貼っても
俺的にはかまわない。

648 名前:デフォルトの名無しさん :2005/10/24(月) 00:30:54
わからない六大理由

1 読まない
2 調べない
3 試さない
4 理解力が足りない
5 人を利用することしか頭にない
6 単純に頭が悪い

649 名前:デフォルトの名無しさん :2005/10/24(月) 00:37:14
>648
6も「ない」で締めろよ。というか4と被ってない?

650 名前:デフォルトの名無しさん :2005/10/24(月) 00:46:24
わからない六大理由・改

1 読まない
2 調べない
3 試さない
4 理解力が足りない
5 人を利用することしか頭にない
6 ↑これらを改善する心意気すらない

651 名前:デフォルトの名無しさん :2005/10/24(月) 00:54:16
どうせなら縦読みで意味があるようにしようぜ

652 名前:デフォルトの名無しさん :2005/10/24(月) 01:31:11
JPG画像読み込みか。D3DXCreateTextureFromFileExしてLockなんだろうが、
D3Dを使いたくなかったゆえFreeImageというライブラリを使ったことがある。
なかなかよかった。

653 名前:デフォルトの名無しさん :2005/10/24(月) 01:34:46
グラフィックソフトで余白埋めるのが一番手っ取り早い

654 名前:デフォルトの名無しさん :2005/10/24(月) 01:44:33
GameSDK(DirectX1.0)以来触ってないです。。。 orz 市販Winゲー作ったが。。


655 名前:デフォルトの名無しさん :2005/10/24(月) 11:20:05
DirectX9で
Texture->BltFast(サーフェイスまたはテクスチャ,RECT)のような感じに
テクスチャにサーフェイスの情報を書き込む方法はないですか?
テクスチャにサーフェイスの情報が含まれているらしいですが見つけられませんでした。
もしTexture->Surfaceのようなものがあれば
D3DXCreateSurfaceFromSurfaceでできるのですが・・・。

656 名前:デフォルトの名無しさん :2005/10/24(月) 11:24:44
GetSurfaceLevel()では不満か?

657 名前:655 :2005/10/24(月) 11:41:13
それでSetSurfaceLevel()かBltFast()のようなものがあればいいのですが・・・

658 名前:デフォルトの名無しさん :2005/10/24(月) 11:58:28
全部人に聞く気かよ。

659 名前:655 :2005/10/24(月) 12:02:38
すいませんでした
DirectDraw使うようにします

660 名前:デフォルトの名無しさん :2005/10/24(月) 20:33:10
>>655
今の技術が分からないからって昔の技術を使う、ってのは…進歩がないよ。

GetSurfaceLevelでサーフェスを手に入れて、そのサーフェスに書き込めば、結果はテクスチャに反映される。
だからSet〜は要らない。
転送方法はデバイスに付いている。IDirect3DDevice9::StretchRectとか。
但し、この命令はサーフェスの属性で使えたり使えなかったりする。

テクスチャ→テクスチャと転送するなら、
頂点変換済みの四角形ポリゴンを使ってテクスチャに四角形を描画するとよい。
具体的には、t-potっていうホームページで幾らでも確認できるから調べてみれ。

661 名前:655 :2005/10/24(月) 21:14:47
660さんありがとうございました。
StretchRectで無事できました。

662 名前:デフォルトの名無しさん :2005/10/25(火) 23:13:47
サウンドをDirectMusicで鳴らしてるんですが周波数を上げたら音が途中できれたり
します。原因として何が考えられますか?あと周波数ってピッチと解釈していいんですか?

663 名前:617 :2005/10/26(水) 02:08:27
618さんありがとうございます。クォータニンにして突っ込んだら
無事動きました。

すみません、もう一つお聞きしたいことがあります。
Xファイルのデータで、SkinWeightsのmatrixOffsetという
データがあり、ボーンのローカル座標系に変換するマトリクス
とのことですが、ボーンが階層になっている場合、親の逆行列
を子に積算していけばいいのでしょうか。
へっぽこな質問かもしれませんが、認識違いがありましたら
ご指摘願います。

664 名前:デフォルトの名無しさん :2005/10/26(水) 07:21:12
>>663
あれ? そうだったっけ? その辺で逆行列を使った記憶がないなあ。
その行列は、ローカル座標系の頂点に演算したら、親の座標系になるんじゃ?
行列に(1,0,0)をかけて、どういう値が帰ってくるか考えてみ。

665 名前:664 :2005/10/26(水) 07:40:41
ごめん嘘いった。
一旦ローカル座標系にしなきゃならんから、説明の通りでいいのか。
プログラムで姿勢行列を再構築して変化を与えて元に戻す、と。

matrixOffset * ローカル座標行列 * World * View * Proj

で、ローカル座標行列のアニメーションとか積算を自力でやればいいのかな。

666 名前:デフォルトの名無しさん :2005/10/26(水) 22:29:01
DirectMusicでリスナの位置を変更するにはどういう手順をふめばいんですか?

667 名前:デフォルトの名無しさん :2005/10/27(木) 07:44:05
>>666
ヘルプに書いてあることいちいち聞くなよ
ソースコードジェネレーターに期待してんなら厨房王国行け

668 名前:デフォルトの名無しさん :2005/10/27(木) 14:15:34
質問です。XP、.NET 2003 です。

2Dのゲームアプリケーションを作ろうと思っているのですが、
Direct3D を学ぶか、DirectDraw を学ぶかで悩んでいます。

描画関係で行うのは、基本的に png などの画像をそのまま描画するだけで、
拡大、回転などといったことはしないため、機能的には DirectDraw で十分だと思います。
ですが、せっかく Direct3D という最新の技術があるにもかかわらず、
古い技術を今から学ぶのもどうかと思います。

今開発されているようなアプリでも、DirectDraw は使われているのでしょうか。
それとも、今はとくに 3D 描画が必要の無いものでも、Direct3D が使われているのでしょうか。

よろしくお願いします。

669 名前:デフォルトの名無しさん :2005/10/27(木) 14:22:57
>>668
もう迷ったらDirect3Dでいいでしょ。
単純に描画機能だけじゃなくて、
周辺環境のことも考えると色々と有利だから。
特に最新の情報はD3Dのほうが圧倒的に多い

670 名前:668 :2005/10/27(木) 14:33:43
>>669
なるほど。
まだどこが有利かと言う点は理解できていませんが、学びながら理解して行こうとおもいます。
とりあえず Direct3D を用いることにします。
ありがとうございました。

671 名前:デフォルトの名無しさん :2005/10/27(木) 14:46:04
とりあえずDirectDraw使ってみて
「ああ、やっぱりDirect3Dにしとけばよかったorz」
を体験するのもいいかも

672 名前:デフォルトの名無しさん :2005/10/27(木) 15:16:48
両方やればいいだけ。

673 名前:デフォルトの名無しさん :2005/10/27(木) 22:38:24
画像をそのまま描画するだけならDirectXすら不必要

674 名前:デフォルトの名無しさん :2005/10/28(金) 14:22:52
DirectDrawのコードのままDirect3D使えたらいいな。

675 名前:デフォルトの名無しさん :2005/10/28(金) 14:25:30
2D使いたいだけならスプライトを使えばいいだろう

676 名前:デフォルトの名無しさん :2005/10/28(金) 14:33:28
俺は2Dの場合はレンダラクラスでラップしているよ。
レンダラ差し替えでDirect3DもDirectDrawも使えるようなのを
想定していたけど、結局Direct3Dしか使っていない。

677 名前:デフォルトの名無しさん :2005/10/28(金) 20:12:47
DirectDrawは過去の遺物なので存在をきれいさっぱり忘れていい。

678 名前:デフォルトの名無しさん :2005/10/28(金) 23:54:52
。・゚・DirectDraw・゚・。

679 名前:デフォルトの名無しさん :2005/10/29(土) 00:08:40
DirectX9からDDって使えるの?

680 名前:デフォルトの名無しさん :2005/10/29(土) 02:09:05
GDIにしとけ。簡単。

681 名前:デフォルトの名無しさん :2005/10/29(土) 02:58:05
GDIで少しでも高速にしようと思ったらDirectXなんかよりずっと難しい

682 名前:デフォルトの名無しさん :2005/10/29(土) 17:22:49
.net 2003です。Microsoft DirectX 9.0 SDK (October 2005)に入ってるサンプルDxViewerをインストールしてビルドしようとすると、
------ ビルド開始 : プロジェクト : Sas, 構成 : Debug Win32 ------
Sas - 更新しています。
------ ビルド開始 : プロジェクト : DxViewer, 構成 : Debug Win32 ------
リンクしています...
DXUT.obj : error LNK2001: 外部シンボル "_IID_IDirect3DSwapChain9" は未解決です。
DXUTmisc.obj : error LNK2001: 外部シンボル "_IID_IDirect3DBaseTexture9" は未解決です。
DXUTmisc.obj : error LNK2001: 外部シンボル "_IID_IDirect3DTexture9" は未解決です。
DXUTmisc.obj : error LNK2001: 外部シンボル "_IID_IDirect3DCubeTexture9" は未解決です。
DXUTmisc.obj : error LNK2001: 外部シンボル "_IID_IDirect3DVolumeTexture9" は未解決です。
Debug/DxViewer.exe : fatal error LNK1120: 外部参照 5 が未解決です。
と出てしまいます。
Tutorial6とかはビルド出来ます。
リンカにはbufferoverflowu.lib dxerr9.lib dxguid.lib d3dx9d.lib d3d9.lib winmm.lib comctl32.lib shlwapi.lib htmlhelp.lib ../Sas/$(OutDir)/Sas.lib
とあるのですが、正常にDxViewerをビルドする方法教えてー

683 名前:デフォルトの名無しさん :2005/10/29(土) 17:33:58
>>682
DirectXの前にCからやり直せ。

684 名前:682 :2005/10/29(土) 17:50:46
オプション->プロジェクト->VC++ディレクトリ->ライブラリファイルには、C:\Program Files\Microsoft DirectX 9.0 SDK (October 2005)\Lib\x86
インクルードファイルには、C:\Program Files\Microsoft DirectX 9.0 SDK (October 2005)\Include
と入ってるのですが、ここじゃないんですか?


685 名前:682 :2005/10/29(土) 18:12:57
元々、net2003とMicrosoft DirectX 9.0 SDK (October 2005)だけでは、
LINK : fatal error LNK1104: コンパイラは、ファイル 'bufferoverflowu.lib' を開くことができません。
というエラーが出てしまったので、Microsoft Platform SDKインストールして、
インクルードファイルには、C:\Program Files\Microsoft Platform SDK\Include
ライブラリには、C:\Program Files\Microsoft Platform SDK\Lib
を追加したら、上(682)のようなエラーが出たわけです。
普通にわからなくない?

686 名前:デフォルトの名無しさん :2005/10/29(土) 18:18:05
ライブラリの優先順位は?一番上になってる?

687 名前:デフォルトの名無しさん :2005/10/29(土) 19:53:26
>> 686
これだったのかー
悔しいです。
ありがとうございました。本当に。
これでういた時間有効に活用させていただきます。


688 名前:デフォルトの名無しさん :2005/10/30(日) 01:04:19
DirectMusicで3Dサウンドをできるようにしたんですが複数の音をセグメントに
ダウンロードしたときはリスナの設定も複数しなければいけないんですか?
リスナは1つを固定で全セグメントに対してみたいなことはできませんか?

689 名前:デフォルトの名無しさん :2005/10/30(日) 07:50:49
>>688
オーディオパス1個ならリスナも1個

690 名前:デフォルトの名無しさん :2005/10/30(日) 10:48:48
XFileに関する質問ですが
3つの行動
(例)
・斬る(上半身)
・走る(下半身)
・走りつつ斬る(下半身+上半身)

の再生を行うにあたって
現在、XFileを上半身、下半身といった具合に2つ作って
再生させてますが、この場合、まるで
初期のPSのゲーム状態(間接が分離したモデル)
一つのスキンとして見せたい場合
一つのXFileに3つのアニメーションを作るもんなのでしょうか
それとも2つの異なるXFileを
合成するような技でもあるのでしょうか


691 名前:デフォルトの名無しさん :2005/10/30(日) 12:43:10
質問

画面が、ガラスのように散らばっていくエフェクトなどを作りたいんですが
なんか、参考になるエフェクト関係の良い本やサイトとかないですかね?

作ってる最中で行き詰ってしまって、先に進めない・・

よろしくお願いします。


692 名前:デフォルトの名無しさん :2005/10/30(日) 13:13:43
>>690
普通は全モーションを作ると思うけどなあ
もしくはモーションブレンド? よくわからないな

>>691
まず、書き込んだ画面をテクスチャに書き込む。
バックバッファからテクスチャのサーフェスへStretchRectでOK。

次に、スクリーンをスクリーン座標でポリゴン分割して、テクスチャ座標を割り当てる。
それをエフェクト用の透視変換行列を元に逆変換して、3D空間へ変換しておく。
各ポリゴンについて、移動方向、移動速度、回転軸、回転速度の4パラメータを決定。
後は普通に時間積分して動かしていく、って感じかな?

3Dを使わないで画面がパリーンと割れるだけなら、
透視変換行列云々のところが要らなくなるはず。

693 名前:691 :2005/10/30(日) 17:24:56
>>692


694 名前:デフォルトの名無しさん :2005/10/30(日) 17:28:34
ここで謝罪↓

695 名前:デフォルトの名無しさん :2005/10/30(日) 17:29:27
酢マン

696 名前:デフォルトの名無しさん :2005/10/30(日) 17:30:25
もっと心をこめて大胆に!

697 名前:デフォルトの名無しさん :2005/10/30(日) 17:30:41
キッコーマン

698 名前:691 :2005/10/30(日) 17:56:35
>>692
回答サンクス

自分も同じように空のテクスチャを作って、それに画面を書き込んで
D3DXVec3Unprojectを使って逆変換〜ポリゴンに貼り付け〜
とやってみたんだが問題がでた。
z軸の回転移動は、z成分の値が変化しないから、ちゃんと機能した。
でも、XとY軸の回転変換をするとポリゴンが表示されない部分が出てきた。
調べてみたんだが、スクリーン座標から逆変換した3D空間のz座標は、
カメラ座標を作るときに指定した、カメラの位置から1離れた位置のz成分になる。
(例えば3d空間のカメラ位置のz成分が-10なら、逆変換後のポリゴンのz成分は-9になる)
つまり、カメラ位置とポリゴンの位置が近すぎるため、回転変換をすると
カメラのレンズよりも後ろに行ってしまい、見えなくなってしまうみたい。


699 名前:690 :2005/10/30(日) 18:15:04
>>692
レスどもです
なるほど全モーションですか。
ネットで調べるに
気になったのがt-potさんの
頂点ブレンドだけども
難しそうだ

700 名前:デフォルトの名無しさん :2005/10/30(日) 18:35:08
DirectX9での質問です

正射影でプログラムを組んでいるのですが
3D座標にあるモデルのスクリーン座標を求めたいのですがどうやったらよろしいでしょうか?

701 名前:デフォルトの名無しさん :2005/10/30(日) 18:36:48
計算すればよいだけでは?


702 名前:700 :2005/10/30(日) 18:38:49
言葉足らずですいません。

その計算の仕方がわからないのです
MSDNのヘルプのD3DXMatrixOrthoLHの項にには行列で
それらしいことがかいてるのですが全く理解ができません…



703 名前:デフォルトの名無しさん :2005/10/30(日) 19:03:36
>>702
行列がわからんのなら諦めろ。
諦めたくなかったら勉強しろ。

704 名前:700 :2005/10/30(日) 19:08:32
それをいわれるとおしまいなのですが…
数日勉強してもわからないから何かアドバイスを、と質問したわけでして^^;

705 名前:デフォルトの名無しさん :2005/10/30(日) 19:10:16
D3DXVec3Project

706 名前:700 :2005/10/30(日) 19:30:17
ありがとうございます
随分と調べたつもりでしたがその関数には気づきませんでした

707 名前:デフォルトの名無しさん :2005/10/30(日) 20:06:15
DirectX8.1のSDKを入手したいのですが、
ドコかに無いでしょうか?
マイクロソフトには見当たりませんでした。

708 名前:デフォルトの名無しさん :2005/10/30(日) 21:26:59
現在使用しているビデオメモリ量と、最大量を取得する方法はありませんか?

709 名前:700 :2005/10/30(日) 22:59:53
D3DXVec3Projectを使ってスクリーン座標を求めようとしたのですが
色々試してもうまくいきません
実行して何も押さない状態だとちゃんとした情報が返って来ます
でも物体を動かす(キーボードで)と変な値になってしまいます。
これはどういった原因が考えられるでしょうか?
何かありましたらよろしくお願いします

710 名前:デフォルトの名無しさん :2005/10/30(日) 23:18:26
>>709
(゚Д゚)ハァ?
変な値を与えてるからだろ。

711 名前:700 :2005/10/30(日) 23:22:47
完全に変な値でしたら初期状態でマトモな値が返ってこないと思ってきいてるのですが…

712 名前:デフォルトの名無しさん :2005/10/30(日) 23:27:27
>>711
関数に与えた値と、出てきた値を比べればいいじゃないか。
それが違ってるならDirectXのバグでしょ。

713 名前:700 :2005/10/30(日) 23:30:16
関数に与えた値と出てきた値とはどういうコトでしょうか?

714 名前:デフォルトの名無しさん :2005/10/30(日) 23:38:46
どうやら釣られたらしい(´・ω・`)ショボーン

715 名前:デフォルトの名無しさん :2005/10/30(日) 23:39:57
ああ、またC言語からやりなおしなやつが1名…

716 名前:700 :2005/10/30(日) 23:40:26
スグ釣りとかいうのはやめてください
どの辺がつりに見えたのかはわかりませんがこっちは真剣です

717 名前:700 :2005/10/30(日) 23:43:03
解決しました。
もういいです。

>>716
勝手に人の番号で発言するのはやめてください

718 名前:700 :2005/10/30(日) 23:44:12
>>717
ホントネタじゃないんでやめてください。お願いします
今日一日これについて潰しちゃってかなり困ってるんです

719 名前:デフォルトの名無しさん :2005/10/30(日) 23:47:12
D3DXVec3Projectを知ってから4時間半ちょい

720 名前:700 :2005/10/30(日) 23:48:34
>>717
漏れのレス番騙って荒らすのは止めてくれ。

721 名前:700 :2005/10/30(日) 23:48:40
最初に質問したスクリーン座標に変換する方法について です

722 名前:700 :2005/10/30(日) 23:49:24
>>720
頼むからやめてください

723 名前:700 :2005/10/30(日) 23:49:52
>>722
いいかげんにしてください

724 名前:デフォルトの名無しさん :2005/10/30(日) 23:52:37
>700がすっかり玩具な件について

725 名前:700 :2005/10/30(日) 23:54:50
いっぱい釣れたーヽ(´▽`)ノ

726 名前:700 :2005/10/30(日) 23:56:35
もういいです。
当然質問側ですからある程度なにか言われるとは思っていましたけど
正直ここまでからかわれるとは思いませんでした。
少なくとも俺は本気で解決したくて質問しました。
真剣に聞いてるのにそれすらわかってもらえず残念です。

ただD3DXVec3Projectを教えていただいたのはありがとうございました。
ほんの少しですが前に進めたとは思います

727 名前:700 :2005/10/30(日) 23:57:28
俺が一番セクシー

728 名前:デフォルトの名無しさん :2005/10/31(月) 00:45:26
殺伐としたスレにはやっぱ鰻が必要だな。

729 名前:デフォルトの名無しさん :2005/10/31(月) 01:05:11
煽りに切れずにジッと待ちんさい

「物体を動かす」というのは、恐らく物体のワールド(ローカル)座標行列を動かしているのだろうけど、
それがD3DXVec3ProjectのpWorldに相等。恐らくそこをミスっているのだろう。
pWorldに渡した行列をモデル座標に適用すると、しっかりワールド座標になる
…ような行列にちゃんとpWorldが該当するか確認。

あまり安易にD3DXVec3Projectに頼ると、シェーダー書くとき困るよん。

730 名前:700 :2005/10/31(月) 08:11:24
ども

731 名前:700 :2005/10/31(月) 08:26:57
ドム

732 名前:デフォルトの名無しさん :2005/10/31(月) 18:35:49
D3DXCreateMeshFVFで質問ですが
NumVertices
  [in] メッシュの頂点の数。このパラメータは 1 以上でなければならない。
とありますが65534以上の値を渡すとエラーが出るのですが
こういう仕様なのでしょうか?

NumFaces
  [in] メッシュの面の数。有効な範囲は、0 より大きい値から、最大 DWARD 値 - 1 (通常は 2^32-1) (最後のインデックスは予約されているため) までである。
とあったのでVerticesも2^32だと思っていたのですが。

733 名前:デフォルトの名無しさん :2005/10/31(月) 18:48:57
>>732
>こういう仕様なのでしょうか?
ハードウェアに依存

>Verticesも2^32だと思っていたのですが。
VertexとFaceがいっしょなわけがない

734 名前:デフォルトの名無しさん :2005/10/31(月) 18:56:35
>>732
D3DXMESH_32BIT

735 名前:デフォルトの名無しさん :2005/10/31(月) 19:49:19
>>734
さんくす。

>>733
ナイフで手首切って死ね。

736 名前:デフォルトの名無しさん :2005/10/31(月) 19:58:44
自殺幇助か

737 名前:デフォルトの名無しさん :2005/10/31(月) 23:20:15
今フルスクリーンでゲームを作ってるんですがオープニングムービーをいれたい
と思ってます。どういった手順ですればできますか?現在D3D関連の描画をしてい
るんですがそれをとめずに行いたいです。できればムービーからテクスチャに
書き込んでそれを描画したいと思ってます。どなたかアドバイス・サンプルなど
ありましたらよろしくお願いいたします。

738 名前:デフォルトの名無しさん :2005/10/31(月) 23:22:43
最初から丸投げマンセー!

739 名前:デフォルトの名無しさん :2005/11/01(火) 03:41:21
MAYAを買う

740 名前:デフォルトの名無しさん :2005/11/01(火) 04:00:41
まーやーねー!この子ったら!

741 名前:デフォルトの名無しさん :2005/11/01(火) 04:19:36
>>740

742 名前:デフォルトの名無しさん :2005/11/01(火) 08:00:00
>>737
DXSDKのサンプル

743 名前:デフォルトの名無しさん :2005/11/01(火) 19:01:06
typedef struct _hoge {
  LPDIRECT3DVERTEXBUFFER9 pVB;
  LPDIRECT3DINDEXBUFFER9 pIB;
} hoge;

と宣言してビルドすると、
'_hoge::LPDIRECT3DVERTEXBUFFER9@pVB' : 識別名を宣言するのに、型が指定されていません。
'_hoge::LPDIRECT3DINDEXBUFFER9@pIB' : 識別名を宣言するのに、型が指定されていません。
と言われてしまうのですがなぜでしょうか?
d3d9.hはちゃんとインクルードしているのですが…。


744 名前:743 :2005/11/01(火) 19:25:13
スマン。俺がバカだった…。

LPDIRECT3DVERTEXBUFFER9 pVBの間のスペースが全角だった…。
半角にしたらコンパイルちゃんと通りました。

IDEの設定で全角スペースだけ強調できたらいいのに。

お騒がせしてすみませんでした。

745 名前:デフォルトの名無しさん :2005/11/01(火) 19:41:54
んもぉー

746 名前:デフォルトの名無しさん :2005/11/03(木) 19:30:49
質問

class これらを使って描画する{
    -いろいろ変数とか略-
LPDIRECT3DVERTEXBUFFER9m_pMyVB[8];//頂点バッファの入れ物
D3DXVECTOR3 center_of_gravity[7];
-略-
};
こんな感じでクラスの中に定義してプログラムを作っていたら表示がおかしくなりました。
また、
class これらを使って描画する{
    -略-
LPDIRECT3DVERTEXBUFFER9m_pMyVB[8];//頂点バッファの入れ物
-略-
D3DXVECTOR3 center_of_gravity[7];
};
このようにLPDIRECT3DVERTEXBUFFER9型の変数とD3DXVECTOR3の変数をちょっと離したら
正常に表示されました。
どこも弄っていないのにただ単に変数の位置を変えただけで、表示がおかしくなったり直ったりします・・
こんな理不尽なことプログラム組んでてかなり恐ろしいことなんですが、
これって、仕様なんでしょうか?
どうか、よろしくお願いします。


747 名前:デフォルトの名無しさん :2005/11/03(木) 19:40:47
仕様を疑うよりも前に自分のミスを疑え。
絶対にお前のプログラムミスだ。

748 名前:700 :2005/11/03(木) 20:02:40
どうせ、範囲外アクセス(ry

749 名前:デフォルトの名無しさん :2005/11/03(木) 21:32:49
>>747,748
理不尽な野郎は自分でした_| ̄|○
範囲外アクセスでビンゴ
変数center_of_gravityは、頂点バッファの数だけ必要なんだから
center_of_gravity[8]でした

申し訳ございませんでした


750 名前:デフォルトの名無しさん :2005/11/03(木) 22:49:22
んもぉー


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.