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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 16:56:40 ]
※回答する人も、質問する人も必ず読んでください

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

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

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

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

477 名前:デフォルトの名無しさん [2008/01/13(日) 06:35:13 ]
VC++2005ExpressEdition  DirectX 9.0を使用しています。
Game.h Game.cpp Input.h Input.cppというファイルで入力によって値を変えようとしてるんですけど、Game.h内で
class Game{
 <略>
privete:
  struct AIRPLANE{
    FLOAT v;
    FLOAT roll;
    FLOAT pitch;
  }airplane;
}
と構造体を宣言して、Input.cpp内で構造体の値を入力によって変えたいんですがうまくいきません。
  error C2061: 構文エラー : 識別子 'AIRPLANE'
とエラーが出てしまいます。Input.cppの実際に値を変えようとしているところは
#include "Input.h"
 <略>
void Input::GetInput_Game(AIRPLANE airplane){
  if(KEY_Z == TRUE){
    airplane.v += 0.001f;
}
でInput.hのクラスでは
"Game.h"をincludeして
void GetInput_Game(AIRPLANE airplane);
としています。キー入力はうまくいくのですが、構造体の受け渡しがうまくいきません。includeのやりかたが悪いのでしょうか?

478 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 07:23:11 ]
ひょっとしてそれはギャグでいっt

479 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 09:49:30 ]
             . ィ
.._ .......、._    _ /:/l!
 :~""''.>゙' "~ ,、、''‐'、|         _
゙、'、::::::ノ:::::::_,.-=.  _〜:、         /_.}'':,
 ``、/:::::::::__....,._ `゙'Y' _.ェ-、....._ /_゙''i゙ノ、ノ
 ,.--l‐''"~..-_'.x-='"゙ー 、`'-、 ,:'  ノ゙ノブ
"   .!-'",/  `'-‐'') /\ `/ でノ-〈
 .-''~ >'゙::    ‐'"゙./  ヽ.,'   ~ /
   //:::::       ',    /    ,:'゙

480 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 09:57:14 ]
>>477
君それ、DirectX全く関係ないから。
DirectXに手を出す前に、とりあえず君はコンソールアプリでも作って
クラスと構造体、引数の受け渡しの勉強をしなおせ

// 構造体定義
typedef struct {
  FLOAT v;
  FLOAT roll;
  FLOAT pitch;
} AIRPLANE;

// クラスメンバに構造体を加える
class Game
{
private:
 AIRPLANE airplane;
 (略)
};

void Input::GetInput_Game( Game *game )
{
  if( KEY_Z == TRUE )
  {
    game->airplane.v += 0.001f;
  }
}

どういう動作をさせるつもりだか知らんが、だいたいこんな感じか

481 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 10:15:02 ]
志村ぁ、属性属性!

482 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 11:19:15 ]
ああすまんwprivete→privateだけ気になってて間違えた
privateじゃなくてpublicねw


483 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 15:25:11 ]
ありがとうございます。
上手くいきました。

484 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:44:37 ]
DirectX SDK を使いたいんだけど、インストールの仕方がいまいちわからんのです。

いろいろ試したところ以下の操作でビルドできるようになったけど、これって正しい?
1. DirectX 9.0b SDK をダウンロードして c:\dx90bsdk に展開する
2. DirectX SDK - (November 2007) をダウンロードして c:dx90bsdk に上書きコピーする
3. インクルードパスに c:\dx90bsdk\Include を追加する

アドバイスあればお願いします。

485 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:50:40 ]
普通に実行すればインストーラーが勝手にやってくれるだろ
頭にウジが涌いているのか?



486 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:54:33 ]
>>484
1はいらない
2はアップグレードじゃないので単体で動作する
むしろ、前のバージョンのSDKは抜くべき
3はその動作だけじゃ足りないはず
わからなければ入門書を買ってきたほうがいい
時間とお金を考えたら1人で考えるのは無駄かもわからんね
本は自分で立ち読みして探せ

致命的なのは1と2
なんでこんなことした?
普通に最新のSDKをダウンロードしてこい
アップグレードキットはない

487 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 18:03:11 ]
>485
まず DirectX 9.0b SDK をインストールしてビルドを試みたところ、最近のコードをビルドできなかった。
で、DirectX SDK - (November 2007) をダウンロードして上書きコピーしたらとりあえずビルドできた。

「そんなことしなくても○○をDLして入れればおk」とかアドバイスがあれば知りたいなと思って聞いてみた。
スマン>485

488 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 18:10:20 ]
>>486
アドバイスありがとう。明日、本屋にいってみるよ。

489 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 18:30:40 ]
ばーか

490 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 19:07:33 ]
>>487
>ダウンロードして上書きコピーしたら
これ駄目
レジストリとか環境変数とかなんも考えないのか?
ファイルだけ書き加えて動くもんなんてそうそうないから
動いた→OK
は全体の構造を把握してない限りありえない

一度アンインストールしてもう一度インストールしなおせ
その状態で進めるとまた問題が起こったときに何が原因かさっぱりわからなくなるぞ

491 名前:デフォルトの名無しさん [2008/01/13(日) 19:16:51 ]
DirectX9.0c以上ってどれをダウンロードしたらいいんですかね?
いつも確認したら8.0になってるんですよ・・・

492 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 19:22:45 ]
Windows95はDirectX8.0aまでの対応だよ。

493 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 19:38:56 ]
そうだ
まずOSのバージョンの確認からだな
たまに古いの使ってる分際で開発なんてしようと思うキチガイがいるから閉口する

とりあえずXPにしろよな
つか、もっというと金がない奴はゲーム開発なんてやろうと思うな
色々楽をしようとするたびに出費がかさむ職業だぞw

なんでもケチるとなんにもできない上になんにもわからない
だからなんのゲームもできない

入門書のこともそう
読めばわかるようなことだけど自分で調べるとなるとひと月ふた月平気で過ぎていく
なんにも金を出さないと2年たっても3年たってもいつまでたってもゲームなんかできない

494 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 20:45:34 ]
5000円の参考書買って役に立たなくても
「はずれか、チッ」としか思わなくなるようでないとだめ

495 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 20:56:55 ]
古い環境での動作、古い環境での開発が求められる場合もあるだろ
まあガキの遊び程度だったら新OSでやった方が色々と楽だが

あと、別に今時本がなくったって検索ワードを使いこなす技量があれば
さほど情報に困ることはない
もちろん本があるにこしたことはないけどね

楽をしようとするたびに出費がかさむというのには同意
馬鹿は大人しく金を使った方がいい



496 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 21:00:35 ]
VC++2005の本を買ったけど、.NETフレームワーク開発が主体だと気づいて
結局ほとんど使ってない俺

497 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 21:21:23 ]
>>493は言い過ぎかもしれんが、俺も専門書にかかる出費はけちるべきではないと思う。

498 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 21:25:59 ]
この分野はプログラミングの中でもニッチな方だから、
Web常に情報の蓄積がなく、本にしか書いてない基礎的情報も多い。

499 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 21:26:18 ]
>>495
ていうか、調べてもいいけど該当する情報を見つけるまでかなりかかる場合もあるしね
お前が本がなくてもなんてのは本を十分みたり、たくさんの人と話す機会があって何かを学んだいま
だからこそいえることだろ?

なくてもいいというにもたくさん本をみたうえでないとなくてもいいといえないわけだから
そういう情報なんだよね必要なのって
あるものごとを決める平均値みたいなもの、最適な判断材料は糞も糞なりに全部みないと
最後の解は得られない

たくさんの選択肢を判断できるだけの情報力があればあとは時代が変わるごとの
差分値だけで済む

こうなってしまっている状態の人間を基準にしてもしょうがない
はじめはなんでも買ってなんでも吸収する気でないととても普通にプログラムが作れるレベルまで届かない
低賃金の割りに意外とつらいと思うぜ

500 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 21:56:42 ]
ごめん。俺本買ったことないけど、使いこなせてるや。

501 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 22:03:39 ]
金出して買う程の書籍とかないよな。
ネットで十分。


502 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 22:04:50 ]
まあ初心者レベルの情報だったら買うほどのこともないだろう
本屋に通えるだけの行動力があればいい

503 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:10:22 ]
>>500
わかってるつもりで実はわかってない
ってのはよくある
ゲーム系から業務系にいったときにちょっとだけ苦労した

実務の正確さがちょっと足りなったかな
精度を高めるためにちょっとした苦行がいった
でもそれだけだったけどw

504 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:12:43 ]
ゲーム系は速さ重視だからな
業務系だとどうでもいいような決まりが多そうだ

505 名前:484 mailto:sage [2008/01/13(日) 23:35:48 ]
484です。
個人サイトとか MSDN とかを見て Visual Studio 2008 Express Edition で
DirectX SDK のサンプルをビルドして実行できるようになった。
特に >>486 のコメントが参考になったよ。どもです。

ところで、DirectX (特に3D) プログラミングをするのにおすすめの本とかある?
ネットで十分っていうコメントもあるけど。

ちなみにスキルは win32 API プログラミングはペゾルト本で一通りやってて、
ベクトル・行列の計算は苦にならない感じ(予習したから)。




506 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:38:51 ]
すすめられる程の本は無い。
ネットでOK。

DirectXに特化した本はロクなのない。

507 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:41:35 ]
>>505
1冊も買わないか
全部買って良いとこ取りするかのどっちかしかない
1冊あればOK的な本はない

508 名前:484 mailto:sage [2008/01/14(月) 00:53:51 ]
>>506 >>507
そうか。しばらく DirectX SDK のサンプルと API リファレンスでがんばってみる。


509 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 02:47:22 ]
>>508
一冊も買わないなんて効率悪いだけだと思うぜ俺は
細かい技術が足りてないくせにできると思ってる奴のいうことだと思う

俺のこれまでの経験でいうとネットなんてざっとしか載ってない
おおざっぱに知るだけ知って知った気でいる分にはそれでもいいけど
はじめはいろんな本を読んでまず技術の土壌を固めるべき
そっちのが速い

いらないとか言ってる奴は自分は過去に他の分野の本を読んで細かい技術を身につけてる場合が多い
そういう奴は新人とか育てるのものっすごい下手なのであまり信用しないほうがいい
これまで自分が出会った人とかちょっとの間でも教え請うた人の存在とかすっかり頭から抜けてる
馬鹿で恩知らずな奴なのでもうこういう奴が技術的に伸びることはもうない

本を読むことは人を知ることでもある
ネットでは薄い
色んな人の色んな考えを吸収するには本をたくさん読む必要がある
プログラム構成がめちゃくちゃ下手糞な奴とかいるけど
アイディアが浮かばないとか素質がないんじゃなくて単純なスキル不足である場合がほとんど
グローバル変数・関数使いまくりのままとか糞なソースばっかり書いて何年たってもグローバル変数を使う初心者のままとか結構ザラw

510 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:12:43 ]
>509
それじゃ、一冊本のタイトルあげてみ?


511 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:19:24 ]
まあ本買うやつなんて旧世代の人間だけだな。

512 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:23:01 ]
>>510
誰向けの?

513 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:23:06 ]
本だったら電車の中とか布団の中とか喫茶店でも読めるだろ

514 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:29:22 ]
DirectX SDK のサンプルってどうやってみれるの?

515 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:29:44 ]
>512
俺に聞かんでも自分で良書と思うもんあげればおk。



516 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:39:21 ]
>>514
DirectX Sample Viewer

517 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 03:40:32 ]
俺のオススメ

Game Programming Gems 1-6 日本語版 (単行本)
ゲームプログラミングのための3Dグラフィックス数学 (単行本(ソフトカバー))

難しいので初心者にはオススメできないけど
絶版になる前には買っておいてほしいと思う

初心者にいいと思ったのは

irectX ゲームグラフィックス プログラミング Ver. 2.1 Vista [NextCreator] (NEXT CREATOR) (大型本)
ゲームエフェクトマニアックス (C MAGAZINE) (大型本)

がおもしろいと思った
小さいプログラムを組みながら覚えるといいと思う

読んでないけどなんかいいかなと思った本は

アクションゲームプログラミング (大型本)

ホントに初心者がアクションゲーム作れるようになるかどうかやってみてくれw

518 名前:484 mailto:sage [2008/01/14(月) 03:46:42 ]
>>512
たしかに自分が win32 API プログラミングを調べていたころを思い出すと
ペゾルト本を読まなければ理解に時間がかったかも。
一度理解すれば API リファレンスでなんとかなるけど
道しるべとして本を頼るのも手だな。

519 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 04:03:11 ]
>>509
おちつけ
何か嫌なことでもあったか?

520 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 04:09:23 ]
>>509の社内人間関係を綴った本が出版されたら買う(w

521 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 09:02:00 ]
>>509は将来会社を引っ張っていく貴重な存在。

522 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 12:08:48 ]
俺も一冊では足らず、DirectXでゲーム制作する本を四冊くらい買ったかな
しかしどうしても本では理解できず
最終的にネットの情報に助けられた事もあるのも確かだな
国内のサイトじゃなかったけど

523 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 14:23:21 ]
Managed DirectXでお勧めの入門書ってある?
洋書で黒い表紙の本がなかなか良かったんだけど、
和書だと見つからないんだよトニー

524 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 14:33:57 ]
>>523
ないと思う。自分もさらっと調べてみた事あるけど
XNA以上に日本じゃ通らないような感じうけるしねぇ。

きっと和訳やその他の場合でも出版で十分なリターンが見込めない領域と思われてる
そう邪推するぐらいにはManagedはないねぇ。

525 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 14:43:21 ]
C++/CLIでMDXしたいよぅ



526 名前:484 mailto:sage [2008/01/14(月) 14:46:55 ]
大きめの本屋2件まわって「マスタリングDirectXプログラミング」を買ってきた。
ttp://www.amazon.co.jp/%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0DirectX%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E6%A9%8B%E5%8F%A3-%E3%82%86%E3%81%86%E3%81%99%E3%81%91/dp/4797340258

立ち読みした感想
DirectX 関連本は工学社の緑色の本がいっぱいあったがどれも内容は微妙だった。

「DirectX 9プログラミング入門」は DirectX SDK のサンプルプログラムを載せて、ほんの少しコメントを足しただけのひどい本だった。
前書きにだまされて思わず買ってしまうところだった。
ttp://www.amazon.co.jp/DirectX-9%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80-Windows-2000-XP%E7%89%88/dp/4886487262/ref=sr_1_13?ie=UTF8&s=books&qid=1200288761&sr=1-13

他にも何冊か読んだけど、あんまりいい本ないな。
ネットだけで十分っていう人はひどい本つかまされたのかな。

527 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 15:02:52 ]
それなら、「ネットだけで十分」じゃなく、「本は使えない、ネットの方がマシ」ってなるだろ
先に国語の教科書買った方がよかったんじゃない?

528 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 15:22:41 ]
工学者のDirectXの本はヘルプをなぞるようにできてるだけだけど
色んな要素がつながってない初心者には全体が見渡せていいと思う

俺は超オススメ
ただ、緑っぽい外装で中身が違う類似品があるので中身は見て買わないとw

529 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 16:50:52 ]
>>523
ManagedってUnmanagedとどう違うの?
関数名やクラス名が違うだけであんまり変わらないと思うんだけど。

530 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:14:43 ]
.NETかそうでないか

531 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:18:42 ]
>>516
ありがとうございます

532 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:21:13 ]
>>517
Game Programming Gemsはなかなか絶版にならないよ

533 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:23:10 ]
>>517
初心者用の2Dアクションゲーム本ならソフトバンクから出してるよ

534 名前:533 mailto:sage [2008/01/14(月) 17:26:44 ]
あっ出てたw

535 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 18:17:53 ]
>>533
うーん、ただ2Dで満足してほしくないな
3Dを知ってる人間が作る2Dゲームのほうが圧倒的に出来がいいからw



536 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 18:45:14 ]
>>535
初心者本ね

537 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:03:29 ]
3Dを知ってるのと2Dゲームの出来は別に関係ないよ
エフェクトに3Dを使う事もあるだろうけど、それは純粋な2Dゲーではないから
もっとも、DirectX自体が2Dを3Dの一部とする考え方なので
2Dゲーを作るにも3Dの知識が少しは必要になる

538 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:13:47 ]
>>537
全然わかってないな
見た目は2Dでもゲームの空間を3Dにする技術のことを言ってるんだよ
表現次第でグラがいくら2Dでもゲームの空間を3Dにすることは可能
3Dの機能なんて理解してて当たり前

539 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:32:33 ]
だからそれは見た目2Dなだけの3Dゲーだっての

540 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:33:25 ]
タクティクスオウガみたいなのを想定しているのか?

541 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:35:27 ]
>>538が2Dゲーだと思ってるのは3次元上にビルボードを貼り付けた
3Dゲーの事を言ってるんだろ

542 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:41:14 ]
レイフォースが使ってる表現なんかのことじゃないの?

543 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:46:57 ]
まあFFなんかでも2Dの美麗マップ上を3D空間座標で
キャラが移動してたりするからな

それを2Dゲーと見るか3Dゲーと見るかは人それぞれ

544 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 20:04:59 ]
>>543
そうそうそういうことそういうこと
高低差とか奥行きとかあるマップとか理解してもらえるといいと思う
螺旋階段とかw

545 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 20:05:57 ]
ま、一般的には3Dゲーって言うけれども



546 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 20:18:54 ]
>>545
2Dゲーっていうんじゃない?
だって見た目3D機能使ってないように見えるんだよ?
内部の演算まで見通して「あ、これ3Dだ」っていえないと思うんだよね
2Dでうまくやってるかもしれないし

547 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 20:20:34 ]
あらかじめレンダリングしたデータを 2D で持ってるだけっしょ。
z-order などを工夫して立体っぽく見せてるだけで。

548 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 20:29:45 ]
本当に重要なのは2Dか3Dかではなく、回転有りか無しかだけどな。
回転無しの3Dは全然難しくない。

549 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 20:40:41 ]
正確には、回転と移動の組み合わせが難しい。
思い通りに座標点を制御するのはプログラムそのものだけじゃなく、
最低でも高三以上の線形代数の知識が必要。

550 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:24:40 ]
Release()し忘れたDirectxTextureなどを検出する方法ってありますか

551 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:33:32 ]
CComPtrでも使っとけ

552 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:45:45 ]
>>517
アクションゲームプログラミング (大型本)持ってるけど玄人以外にはいいと思う
ページ構成は糞だけど

553 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:52:11 ]
>>547
3Dを表現した2Dの絵に当たり判定(地形なども含む)を合わせるときなんかは
どうしても内部は3Dでもったほうが楽だ

フラグとか利用して根性で2Dでも表現できるっちゃできるけど、
開発が長引いたときに地獄みると思うw

554 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:00:34 ]
回転を一切使わない3Dって成り立つのか?

555 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:02:55 ]
>>554
何の話だよw
カメラ固定なら拡大縮小だけでいけるんじゃね?w



556 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:10:59 ]
スマブラみたいに基本を2Dで、モデルを3Dでっていうのは成り立つ。
そういうのはあんまし線形代数の知識はいらん。

557 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 23:03:41 ]
>>556
GCで出たのは結構小技が冴える出来だったけどな
板ポリレーザーなんだけどカメラをぐるぐるまわしてもちゃんとレーザーに見える・・・みたいな

558 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 01:37:58 ]
>>554
ジャンプできる2Dアクションゲームは大抵、中身は回転を一切使わない3Dだよ。
古い例だとサークとか。

559 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 12:52:33 ]
VRシステムは回転をサポートしていません。

560 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 22:59:20 ]
パースペクティブシャドウマップで質問です。
スポットライトの場合、
matrix4x4 toShadowSpace = cameraView * cameraProj * lightView * lightProj;
のようにするのが一般的だと思いますが、このlightProjの作り方がわかりません。
cameraの射影空間では、スポットライトのコーンがひしゃげてしまい
ワールド空間のように、コーンから一意に射影行列を求める訳にはいきません。
現在はひしゃげたコーンから近似的に射影行列を作っていますが、
満足のいく精度ではありません。世の中一般ではどうするのが普通なんでしょうか?

561 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:09:00 ]
LPDIRECT3DTEXTURE9 pTexture;
と宣言していて、デストラクタで
pTexture->Release();
と解放しようとすると
0x004897d1 でハンドルされていない例外が発生しました: 0xC0000005: 場所 0xcccccccc を読み込み中にアクセス違反が発生しました。
とエラーが出てしまいます。
初期化では
D3DXCreateTextureFromFile(pD3DDevice,"sample.bmp",&pTexture)
としています。

環境はdirectx9.0 , Visual C++ 2005です。
解放の仕方が悪いのでしょうか?


562 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:10:17 ]
ロード失敗したのに解放しようとしてるとか

563 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:21:09 ]
>562
そう思って
if ( pTexture != NULL ) {
pTexture->Release();
}
としてみたんですが、それでもエラーが出てしまいます。

564 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:23:54 ]
NULLで初期化してる?

565 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:30:11 ]
>564
やってないことに気づいて
if(FAILED(D3DXCreateTextureFromFile(pD3DDevice,"select_back.bmp",&pTexture))){
pTexture = NULL;
return E_FAIL;
}
としてみましたが、やはりエラーが出てしまいます。




566 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:38:02 ]
if ( pTexture != NULL ) {
pTexture->Release();
pTexture = NULL;
}

次はこれだ!
・・・なーんか違うような気もするが・・・w

567 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:39:19 ]
なんかたくさん聞かなきゃいけないけど
そもそもD3DDeviceは取得できてるの?
それとテクスチャロードして、それ使って表示できてる?

568 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:43:14 ]
当然アドレスは調べたんだろうな。

569 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 23:46:55 ]
>567
すいません、初期化やる場所が悪かったみたいで、コンストラクタ内でやったらか解決しました。
ありがとうございます。


570 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 00:07:06 ]

} catch (...) {

571 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 00:31:47 ]
変数の初期化は、その変数を最初に作ったときに必ずするべきだ
クラスのメンバ変数なら全てコンストラクタで初期化すべし

572 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 07:25:37 ]
>>569
はぁ?
しばらく悩みそうだなお前・・・w

573 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 19:55:28 ]
Win32APIはある程度書けるけど、DirectXはまったく知らないって状態なんだけど
どの本買って勉強すればいい?

574 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 19:55:57 ]
ネットで十分

575 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 20:20:53 ]
そもそも何をしたいのかすら説明するのを面倒くさがる、
その必要性を鑑みることの出来ない人間が何をやっても無駄。



576 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 20:48:54 ]
>>575
氏ね

577 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 21:32:46 ]
反論できずに罵倒しか出てこない場合、図星だったってことだ






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

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

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