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


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

鬱だ氏のう DirectX (Part 5)
1 名前:名前は開発中のものですた。 :02/07/23 00:32 ID:DsnWt/i.
DirectXについてマターリと技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。

■旧スレ(プログラム板)
http://piza.2ch.net/tech/kako/966/966655286.html  (Part 1)
http://pc.2ch.net/test/read.cgi/tech/997101556/   (Part 2)
http://game.2ch.net/test/read.cgi/gamedev/1005119775/ (Part 3)
http://game.2ch.net/test/read.cgi/gamedev/1016276254/ (Part 4)

コピペスマソ

2 名前:名前は開発中のものです。 :02/07/23 00:42 ID:???
2ゲットずさー

前スレの宿題よろしく。

3 名前:名前は開発中のものです。 :02/07/23 01:13 ID:???
いまさらDirectX7以前で組んでるエロゲプログラマの書き込みがうざい。
古い話なんだから、分からないことがあれば過去ログあさればいいのに。
それに毎度毎度、「俺はほとんど自前でDirectDrawは使わない」って
自慢しに来る自前描画主義者が出るし。

4 名前:名前は開発中のものです。 :02/07/23 01:18 ID:???
SFC/PS版聖剣伝説クラスのゲームなら俺は自前描画で作るが。

5 名前:名前は開発中のものです。 :02/07/23 01:55 ID:???
勝手に自前描画スレでもつくってやってくれ

6 名前:名前は開発中のものです。 :02/07/23 02:46 ID:3mnZwdQ2
SphereMap用テクスチャの生成ツールって
ありませんか?

7 名前:名前は開発中のものです。 :02/07/23 02:57 ID:???
>>6
死ぬほど複雑なプログラムというわけでもないから、無ければ
作ってみると良いのでは?キューブマップみたいに6面で
見た風景を、円に写像変換する奴。円のメッシュの切り方
がポイントになりそうだけど。

というか、厳密なスフィアマップを作る事に、そこまで意味は
あるのかな?視点が変わったらスフィアマップは正確では
なくなるんだし、ある程度適当でも言いような・・・。というのは
怠け者の意見。

8 名前:名前は開発中のものです。 :02/07/23 12:00 ID:???
>ハードによる差異って、今現在どれくらいあるんだろ。
>以前に比べればカナリ淘汰されてるから、

MSも、ビデオチップごとのレンダリング結果の差を小さくするようあれこれ手を打ったしね。
自前一筋の人はこういう動向も知らんだろうけど。

9 名前:名前は開発中のものです。 :02/07/23 12:56 ID:???
沙羅曼蛇の1面後半に出てくるピンク色の細胞壁ってどうやって実現してるん
だろう? データ的には、ミサイルやレーザーが当たった座標をバッファに
保存して、最も古く破壊された所から順に復活(再生)させているのだろうけど、
グラフィック的な処理が分からない。

10 名前:名前は開発中のものです。 :02/07/23 14:10 ID:???
>データ的には、ミサイルやレーザーが当たった座標をバッファに
この時点で思い違いしている。

それに、ここはDirectXの話するところだろ。スレ違いだ。

11 名前:名前は開発中のものです。 :02/07/23 14:35 ID:???
>>9です。
いたた。スレ違いすまそです。
http://game.2ch.net/test/read.cgi/gamedev/1020950091/l50
こちらに移動しました。

12 名前:名前は開発中のものです。 :02/07/23 19:08 ID:???
前スレで出てた回転する四角形同士の交差判定だけど、お互いに1点ずつ
相手の四角形との内外判定をしてから線分の交差判定をすればOK。
ただし、正方形や長方形ならば点の内外判定は簡単だから(内積2回)、
4点全て判定してしまった方が平均では軽くなると思う。

ゲームなら線分の交差判定までやらなくても、重心とか辺の中点も内外判定
するだけで十分。あまり扁平した長方形を使わなければ、頂点だけの判定で
も十分。

これ以上は【Collision Detection】スレで

13 名前:名前は開発中のものです。 :02/07/23 20:28 ID:???
Wizardが吐き出すDirectInputの処理がよくわからんヽ(´Д`)ノ
アクションマッピングっていちいち指定しなきゃいかんの?
めんどくさいからデフォルトの「CAD - 3D object control」
(dinput.h:4090行あたり)のままにしてるんだけど、何か弊害があるのだろうか。

日本語版ヘルプ見ても、
 x 軸からデータを取得して車を左右に動かすのではなく、
 DIAXIS_DRIVINGR_STEER という仮想コントロールからデータを
 取得することになる
てことは、結局やってることは一緒だと思うんだけど…概念の問題?

# キーコンフィグを自前で用意しなくてもいいらしいのは助かるけど、
# あまりカッコよくないね

14 名前:名前は開発中のものです。 :02/07/24 00:28 ID:???
ゲームごとじゃなくてジャンルごとにマッピングでるってこと。
普通のジョイスティックで車ゲームを遊ぶ人はX軸をステアリングにするけど
ネジコンで遊ぶ人は捻る軸をステアリングにするでしょ?
ネジコンで遊ぶ人は車ゲームを遊ぶときは必ず捻る軸をステアリングにするし
車ゲーム以外なら十字キーの方を使う。そのマッピングを楽にするのが、
アクションマッピングの役目。

15 名前:名前は開発中のものです。 :02/07/24 11:35 ID:???
>>14
何となくわかった気がする。
サンクス。

16 名前:名前は開発中のものです。 :02/07/24 12:48 ID:???
3Dで走り回るサンプルを作ったんですけど、
格ゲーの体力ゲージのようなものはどうやって表示するんでしょう?

オフスクリーンサーフェスはどこへいったぁぁぁぁ!
サーフェスに描いてCopyRectか自分で転送するしかないのかな…

17 名前:名前は開発中のものです。 :02/07/24 13:05 ID:???
>>16
板ポリゴンにテクスチャ貼りつけるじゃ駄目?

18 名前:名前は開発中のものです。 :02/07/24 13:13 ID:???
>>17
ありがとう
そうすると、カメラの移動とともにポリゴンを移動させねばなりませんね。
やってみるか。

(ちなみに、マリオ64やサルゲッチュのようなサンプルです。)

19 名前:名前は開発中のものです。 :02/07/24 14:29 ID:???
>>18
トランスフォーム済み頂点をつかって
スクリーン上の2D座標を直接指定すればいいのでは?

20 名前:16=18 :02/07/24 19:00 ID:???
>>19
ソレダ!(・∀・)
正月の朝に新品のパンツに履き替えたみたいにすっきりした。
ありがとう。

21 名前:名前は開発中のものです。 :02/07/24 21:20 ID:???
>>17
何故ゲージごときにテクスチャがいるのか、小一時間問いつめたい

22 名前:名前は開発中のものです。 :02/07/24 21:43 ID:???
>>21
凝った絵柄にするなら必要じゃないか?

23 名前:名前は開発中のものです。 :02/07/24 23:21 ID:???
>>21
なぜ「ゲージ=単色」と考えるのか、小一時間問いつめたい

24 名前:名前は開発中のものです。 :02/07/24 23:40 ID:bCFuNa3Q
変換済み頂点設定にしろよ

25 名前:名前は開発中のものです。 :02/07/24 23:59 ID:???
>>23
何故「テクスチャを使わない=単色」と考えるのか、小一時間問いつめたい

26 名前:名前は開発中のものです。 :02/07/25 00:03 ID:???
頂点カラーを使えばグラデーションも簡単に出来るし、
ゲージ部分にわざわざテクスチャを使って重くする必要は無いと思うが?

27 名前:名前は開発中のものです。 :02/07/25 00:06 ID:FyiymMBk
その位で重いって…
ゲージも3DモデルにしてX軸回転させてウマー

28 名前:名前は開発中のものです :02/07/25 00:06 ID:???
というかあくまで好みの問題で、こういう議論は意味が無いような・・・

29 名前:名前は開発中のものです。 :02/07/25 00:09 ID:???
グラデだけじゃうまく表現できないんじゃないの?

+-----------------------------------------------+
|+------------------------------------+        |
||<------------グラデ----------------->|        |
|+------------------------------------+        |
+-----------------------------------------------+
こんなの。

30 名前:名前は開発中のものです。 :02/07/25 00:13 ID:???
>>29
どううまく表現できないのか分からないですが、
それならポリゴン4枚で用が足ります。

31 名前:名前は開発中のものです。 :02/07/25 00:43 ID:???
>>29
つまりポリゴンの使い方が分かっていないから、矩形一つという発想しか出来ず、
テクスチャとか言い出したという落ちか

模様として使うなら全く別問題だし、凝ったものと言っても枠の部分も別問題
ゲージの長さを表す部分をテクスチャで描くとすると、
変化するたびにテクスチャをロックして書き直すのは無駄が多すぎる

32 名前:名前は開発中のものです。 :02/07/25 01:07 ID:???
イマドキ貧乏くせぇこというなよ〜〜〜〜〜〜
アルファ付テクスチャで角のまぁるくてかわぃぃ模様のゲージにしようぜ。

33 名前:名前は開発中のものです。 :02/07/25 01:10 ID:???
グラデーションにテクスチャを使う事は賛成。
この程度ではfpsに影響するほどパフォーマンス的な差はないし。
線形補間のグラデーションだけでみんな満足?

34 名前:名前は開発中のものです。 :02/07/25 01:17 ID:???
この程度の問題が自力で解決できないようなら、ゲージに
凝る以外にもっとやるべきことがあるとは思われるが。

35 名前:名前は開発中のものです。 :02/07/25 01:24 ID:???
トランスフォーム済み頂点を扱えることを知らなければ、
自力で解決のしようがないと思うが。

36 名前:名前は開発中のものです。 :02/07/25 01:27 ID:???
>31
>変化するたびにテクスチャをロックして書き直すのは無駄が多すぎる

ゲージと模様を別テクスチャにすれば解決するんじゃ、、、
それで板ポリゴン2枚で済むけど、致命的な速度低下に繋がるのだろうか、、、

37 名前:名前は開発中のものです。 :02/07/25 09:44 ID:???
正直どうでもいい

38 名前:あのう :02/07/26 02:03 ID:???
すごい厨房質問で申し訳ないですが
DirectInputで入力デバイスからの情報を受け取るのって
描画部分の関数の先頭にかかれてるじゃないですか。
このボタンが押されたら前に進むとかそういう感じに。
でも、ってことはFPSの違う環境でプレイしたらプレイヤーの移動速度が
変わってしまうってことにならないですか?

39 名前:あのう :02/07/26 02:08 ID:???
すんません、初心者質問はここではないようですね。
失礼しました。

40 名前:名前は開発中のものです。 :02/07/26 02:08 ID:Cdb3asbE
1ミリ秒あたり移動量 * フレーム間の時間 移動量を求めるので 変わらないよ

41 名前:あのう :02/07/26 02:14 ID:???
ああ、ありがとうございます。
たとえば十時キーの上ボタンをおしたら
move.z+=1.0f;
にして
下の方のプレイヤーを描画する部分
D3DXTranslation(&mTrans,0.0f+move.z,0.0f+move.y,0.0f+move.z);
なんて感じにしたらやっぱFPSが高ければ高いほど
前に進んじゃうのかななんて思ってしまいまして。

もうすこし概念的な部分からDirectXを勉強する必要があるみたいですね
どうもありがとうございました。

42 名前:名前は開発中のものです。 :02/07/26 03:42 ID:???
41は40を理解してなくて、忘れた頃にFPS論争やりだしそう

43 名前:名前は開発中のものです。 :02/07/26 04:11 ID:???
ってかDirectXの問題じゃないよな。
41で言えば
move.z += 1.0f * d;
で、dは基準にしたfpsに対する実際のfpsの割合係数。
要するに多く呼び出す分だけコマ毎の移動量を減らすんだよ

44 名前:名前は開発中のものです。 :02/07/26 07:49 ID:???
DIRECTXでキーボードのスキャンてどうやるの?
方向キーを同時に押すと取り込まれないんだけど。

45 名前:名前は開発中のものです。 :02/07/26 08:36 ID:???
何のためのDirectInputなのか?

46 名前:名前は開発中のものです。 :02/07/26 08:37 ID:???
まさか、同時押しできないハードウェアがわの問題じゃないだろうな。

47 名前:名前は開発中のものです。 :02/07/26 11:32 ID:???
同時入力をちゃんと受け付ける、いいキーボードを使いなはれ。Realforce106とか。

48 名前:名前は開発中のものです。 :02/07/26 14:08 ID:???
DirectX8.1の質問
サーフェスのDCって取得できなくなったの?
myDC = pSurface->GetDC()
画面キャプチャしたいんだけどどうすればいいのか???

49 名前:名前は開発中のものです。 :02/07/26 15:27 ID:JZcpJvLw
>48
はじめのDX初期化のときに使うウインドウハンドルでGeDC()すれば?

50 名前:48 :02/07/26 18:56 ID:???
>>49
なるほど。thx

51 名前:名前は開発中のものです。 :02/07/26 20:01 ID:???
>>48
それだとフルスクリーンでFlipしてるときに上手く取り込めないよ。
キャプチャしたいならIDirect3DDevice8::GetFrontBufferがいいかと。
D3DFMT_A8R8G8B8に変換された状態で取得できるから、その後の取り扱いも楽。

52 名前:あのう :02/07/26 22:06 ID:???
41です。
43さんの説明でやっとわかりました。
先が思いやられますが、DirectX9がでる前に一通りできるようにがんばろうと思います。ありがとうございました。

53 名前:48 :02/07/26 22:23 ID:???
SetRenderTargetでテクスチャをターゲットにして、改めてレンダリングしますた。。。

54 名前:名前は開発中のものです。 :02/07/26 23:04 ID:???
>>53
GetRenderTargetでバックバッファを取得するのでは駄目なの?

55 名前:名前は開発中のものです。 :02/07/27 00:35 ID:???
>>54
そのサーフィスロックして、直接アクセスすればピクセルは
持ってこれるよね・・・。というか、テクスチャから保存できる
プログラム組んでるなら、Bltで転送すれば良いんだし。

というのを以前Zバッファでやろうとしたら自滅しますた。
Capsビューアで見ると、ZバッファってLockableなサーフィス
を持つかどうかもビデオカードとドライバ次第なんだね。
Radeonは出来ると出ていたのに出来なかった・・・。

OpenGLだと例外なく出来るけど、遅い。

56 名前:名前は開発中のものです。 :02/07/27 01:27 ID:???
>>54
そのあとCopyRects()使うのかな?
アレ遅いんだよねぇ…

57 名前:名前は開発中のものです。 :02/07/27 01:58 ID:???
DirectX8やってるんだけど、ビデオカードがオンボードになってるPCの
人から「動きません」って言われてしまった
ビデオメモリ4MBらしいんだけど、この環境で動かす事ってできるのかな?

58 名前:名前は開発中のものです。 :02/07/27 02:05 ID:???
>>57
モノによる。
それ以前にドライバが入ってないとかDirectX7でしたとか…

59 名前:名前は開発中のものです。 :02/07/27 02:10 ID:???
>>56
何故そこでCopyRectsが出てくるの?
そのままLockすればいいんじゃないの?

60 名前:48 :02/07/27 02:13 ID:???
>>54
テクスチャとして取得したいのですが、可能でしょうか?
FF7などでバトル突入するときの効果が作れそうですし。

んで>>53のような方法を思いついたわけですが、なぜかポリゴンの描画順がばらばらに。ヽ(`Д´)ノ
IDirect3DDevice8::SetRenderTarget()のステンシルバッファへのポインタをNULLにしてるんですが、マズイでしょうか?
IDirect3DDevice8::GetDepthStencilSurface()で取得したポインタ使うと D3DERR_INVALIDCALL になっちゃうし。

61 名前:名無しサソ :02/07/27 02:54 ID:???
>60
 テクスチャと普通のバックバッファ領域の大きさは同じじゃないから、
当然Zバッファも割り当て直さないといけないよ。それをしないと、描画順
が当然滅茶苦茶になる。ちゃんとしたテクスチャサーフィスへの描画方法
は、CubeMapのサンプルを見てみると良く分かるよ。

62 名前:48 :02/07/27 03:08 ID:???
>>61
ああん、一歩遅かった。
書いてからもしやと思って割り当てなおしたらできますた。
要領悪くてごめんなさい。

widthとheightが512とかじゃないとダメなのかな…
ミップマップ関連のせい?

63 名前:名無しサソ :02/07/27 03:27 ID:???
>62
 テクスチャは2の乗数の正方形と相場が決まってるんだけど・・・。
128とか256とか512。それが嫌ならバックバッファから読んで保存すると
いいのでは?リアルタイムでバンバンキャプチャしていく方針なの?

64 名前:名前は開発中のものです。 :02/07/27 03:35 ID:???
>>63
遅くなるが、別に2の乗数でなくてもテクスチャは作れる

65 名前:名無しサソ :02/07/27 03:40 ID:???
>64
 今までそれ以外で作ってなかったから、考えても
いなかったよ。ありがとう。かつてVoodooとかでは
もっとおかしな制限があったことを思い出してみたり。

66 名前:名前は開発中のものです。 :02/07/27 08:20 ID:???
遅くなるかどうかは実際に調べたことがないので分からないが、機能については
色々と制限があったりするので注意。
詳しくはD3DPTEXTURECAPS_NONPOW2CONDITIONALの説明でも読んで。
ちなみにGeForce3/4はこの制限にひっかかってる。
あんまり関係ない制限だけどね。

67 名前:名前は開発中のものです。 :02/07/27 09:32 ID:???
>>58
「DirectX8が正常に作動してる」って言ってるんで信用するしか無いんだけど。
でもモノによる、か。サンクス

68 名前:名前は開発中のものです。 :02/07/27 11:17 ID:.3MPTeOs
テクスチャ256*256はクソ。

69 名前:名前は開発中のものです。 :02/07/27 13:33 ID:???
>>63
正方形である必要はない
適当なことを書く前に試せ

>>64
一部に作れるものが存在するかもしれないが
ほとんどのビデオカードは2の乗数でしか作れない

70 名前:名前は開発中のものです。 :02/07/27 13:46 ID:???
1024*512でもテクスチャは作れるな。
俺のマシンでは2の乗数じゃないとダメぽ…

71 名前:名無しサソ :02/07/27 17:45 ID:???
>69
 おうちにあるVoodooシリーズにはそう言う制限があったんだよ。
お試し済みなので、一応。今となっては意味がないと言われるかも
知れないけど、あまり意味のない制限で動作ハードウェアを減らすのは
どうかという主義だから、テクスチャは正方形かつ2の乗数を普通に
使ってるんだけど・・・。

 主義が違う、と言うんならゴメソ。

72 名前:名前は開発中のものです。 :02/07/27 17:51 ID:???
2の「乗数」ってネタですよね

73 名前:名前は開発中のものです。 :02/07/27 17:57 ID:.3MPTeOs
価値はある。だが今の金のない厨房たちにとって手が届く範囲なのかどうか。
値段下げればもっと売れるとおもうんだが。
しかし、2000からどんどん素材の質が下がってきてるな。
先頭画面に配置されてるドラゴンなんか見る影もない・・・

74 名前:73 :02/07/27 17:57 ID:???
誤爆

75 名前:名前は開発中のものです。 :02/07/27 18:58 ID:???
IDirect3DDevice8::CreateTexture()
で作成したテクスチャをRelease()で開放しても使用メモリが減らないのは何故??

CD3DFont(AppWizardが吐くヤツね)使ってて、
最初にCD3DFont::InitDeviceObjects呼んで、
最後にCD3DFont::DeleteDeviceObjectsで開放してんだけど。
俺だけ?

Windows2000 VisualC++6.0 DirectX8.1 Debug/Release

76 名前:名前は開発中のものです。 :02/07/27 19:30 ID:???
Voodooは何か制限あるってハナシは聞いたことあるな。
てことは、たとえば640*480のテクスチャ貼りたいとおもったら、
512*512を2枚用意しろってコト?

77 名前:名前は開発中のものです。 :02/07/27 19:59 ID:???
>>76
Voodoo3まではテクスチャの最大サイズが256*256なので、
その場合は256*256のテクスチャを6枚用意することになるよ。

78 名前:名前は開発中のものです。 :02/07/27 20:20 ID:???
>>77
うげ、マジすか
自分でテクスチャクラス作って、ビデオカードに合わせて内部で処理を切り替えるか…
それとも256*256で基準で作ればいいのかな?
まさか64*64までしか作れないなんてビデオカードはあるまい…

79 名前:名前は開発中のものです。 :02/07/27 21:48 ID:???
>>78
インストーラで、テクスチャ解像度を選択させてインストールという手もある。
市販ゲームでもよく使われてる。

80 名前:名前は開発中のものです。 :02/07/27 23:11 ID:???
>>69
>適当なことを書く前に試せ
試す前にヘルプを読め

81 名前:69じゃないけど、ちと調べてみた :02/07/28 00:23 ID:???
>テクスチャが正方形?
日本語版8.0のヘルプを「正方形」で検索したけど出てこなかった。

IDirect3DDevice8::GetDeviceCaps()で得られる情報の、
TextureCaps が D3DPTEXTURECAPS_SQUAREONLY の場合は正方形でないとまずいだろうけど
そうじゃなければ別にいいのでは?

# DirectX Graphics > プログラミングのヒントおよびツール > パフォーマンスの最適化
#  > テクスチャサイズ …によれば、256 × 256 のテクスチャが最速らしいが。

82 名前:名前は開発中のものです。 :02/07/28 01:01 ID:???
>そうじゃなければ別にいいのでは?
そうじゃなければ別にいいけどさぁ・・・

83 名前:名前は開発中のものです。 :02/07/28 03:36 ID:???
>>69
>一部に作れるものが存在するかもしれないが

NVIDIAはGeForce3以降、ATiは初代RADEON以降、MatroxはG200以降、Intelは830で
作れるようになったけど、それが一部?現状の半分くらいは行ってると思うが。
(815が対応してないのが痛い)

SQUAREONLYの方はNeoMagicやVIAまでチェックしてみたけどYesのは見つからなかった。
Riva128やVoodoo3でもNoだった。
逆にこれがYesでDirectX8が使えるチップがあったら教えて欲しい。

84 名前:名前は開発中のものです。 :02/07/28 04:46 ID:???
>>83
そうムキにならなくても…

85 名前:名前は開発中のものです。 :02/07/28 08:43 ID:???
正方形必須のはまだ見たことないなあ...

86 名前:名前は開発中のものです。 :02/07/28 09:16 ID:???
VRAM256M標準になったら正方形必須でも構わん

87 名前:名前は開発中のものです。 :02/07/28 09:35 ID:???
>>85
初期のViRGEとかはそう。昔はそれに加えて、半透明の対応度が
各社マチマチで酷かった。

88 名前:名前は開発中のものです。 :02/07/28 17:01 ID:???
いまさらながら「鬱だ氏のう」ってタイトルがぴったりくるなあと実感。

89 名前:名前は開発中のものです。 :02/07/29 16:43 ID:???
大体ここに質問できるって時点で、
自己解決できる奴が大半なんだよね。
すごいや。

90 名前:名前は開発中のものです。 :02/07/30 00:22 ID:???
質問すらできない奴ってどんなんだ?

91 名前:名前は開発中のものです。 :02/07/30 03:08 ID:???
>>90
誇り高き孤高の天才プログラマ

92 名前:名前は開発中のものです。 :02/07/30 08:56 ID:???
つーか天才なら余裕でしょ。

93 名前:名前は開発中のものです。 :02/07/30 16:04 ID:???
>81
>#  > テクスチャサイズ …によれば、256 × 256 のテクスチャが最速らしいが。
これは128*128テクスチャを4つ切り替えるよりも256*256にしたほうが速いってことで、
サイズは小さいにこしたことはない。





って話が旧スレにあったような

94 名前:名前は開発中のものです。 :02/07/30 23:15 ID:???
MIPマップが存在する意味を考えれば分かりそうなものだが

95 名前:名前は開発中のものです。 :02/07/31 05:40 ID:???
MIPMAPは速度よりも画質のために使うってのが本音かな

96 名前:名前は開発中のものです。 :02/07/31 06:55 ID:a9hxPLQ6
DirectX8でmidiを鳴らしてるんだけど、音質がすごい悪いんです。
mciで鳴らした方がぜんぜん良い。mciの方は環境に依存されるんだろうけど
それでもぜんぜんまし。
改善する方法ってありますか?

97 名前:名前は開発中のものです。 :02/07/31 08:26 ID:???
DirectX8でポリゴンにてくすちゃはっつけて画像表示したいんですが、
意図したサイズになってくれません。
描画開始位置は正しいのですが、たとえば
 :
vertex[3] =_TLVERTEX( x2, y2 , 0, 1, D3DCOLOR_XRGB(255,255,255), 2, 2);
とかやっても、画像と画像のあいだに画像の60%近い隙間ができてしまいます。
画像サイズが通常の4割減されてるようです。
Zの距離の問題でしょうか、さっぱりです。
ちなみにまだ3D空間や行列には手をつけてません。
どうかご進言ください。

98 名前:名前は開発中のものです。 :02/07/31 10:07 ID:???
>>97です。
もしかして、ときどき話題にはあがってたようですが
スプライトのサイズって(2^n)ピクセルにしないといけないんですか?
それでやったら直ったんですが・・・・・・
マジですか。

99 名前:名前は開発中のものです。 :02/07/31 10:14 ID:???
>>98
マジです

100 名前:名前は開発中のものです。 :02/07/31 10:34 ID:???
スプライトのサイズは別に2^nで無くても良いけど、
ロード系のAPIで勝手に補完されて読み込まれる

101 名前:名前は開発中のものです。 :02/07/31 12:40 ID:94NQNZrs
D3DXでテクスチャを表示するとエッジがぼやけ、アルファを0に設定したはずの元絵の色(カラーキー)が淵にくっついています。
カラーキーがマゼンダで黒が1ドットあるとすると、黒が暗い紫になります。まいりました。SetRenderStateやTextureStageでANTIALIES等いろいろ設定したのですがだめでした。どうすればよいでしょう。

102 名前:名前は開発中のものです。 :02/07/31 12:51 ID:???
SetTextureStageStateで
MIN/MAGFILTERに
D3DTEXF_POINTを使ったら?
ニヤレストネイバー法を使うようになるはず

103 名前:名前は開発中のものです。 :02/07/31 16:59 ID:???
トランスフォーム済み頂点のポリゴンの半透明描画が上手くいきません。。
頂点のDiffuseにα値入れてもαブレンドがきいてないみたい。
α関係のレンダーステートはこれだけやってます。
device->SetRenderState( D3DRS_ALPHABLENDENABLE, true );
device->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA );
device->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );
やってもやらなくても変わらず… なんか関係なさそう。
他の場所に何か設定があるんでしょうか?

それと、ID3DXSprite::BeginとかID3DXFont::Beginとかやった後だとαブレンドがききます。
多分この関数の内部でやってるレンダーステート変更をやればいいのだろうけど…
なんなのか全く不明です。。(涙

104 名前:名前は開発中のものです。 :02/07/31 18:25 ID:???
>>103
ALPHABLENDに使用されるSRCALPHA値はTextureStageStateで決まるので、
そちらも適切に設定しないと駄目。
device->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 );
device->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE );

それと、ライティングは明示的に無効にしておかないと問題あるかも。
device->SetRenderState( D3DRS_LIGHTING, FALSE );

105 名前:103 :02/07/31 18:29 ID:???
>>104
うわ〜、ありがとうございます… 上手くいきました。
Lightingは元々オフだったようなので大丈夫でした。
テクスチャ無しのポリゴンなのでテクスチャに目がいってなかったなぁ…

106 名前:名前は開発中のものです。 :02/07/31 18:47 ID:94NQNZrs
>102
MINにNONE、MAGにPOINTを使ったらできました。どうもありがとうございました。

107 名前:名前は開発中のものです。 :02/07/31 19:50 ID:94NQNZrs
どっちともNONEでした。

108 名前:名前は開発中のものです。 :02/07/31 19:53 ID:???
それ、NONEの使い方ちがうぞ

109 名前:名前は開発中のものです。 :02/07/31 20:42 ID:94NQNZrs
しかしこれ以外だとぼやけてしまいます。使い方が違うというと、やはり後からどこかに支障をきたしたりしますか?

110 名前:名前は開発中のものです。 :02/08/01 00:31 ID:???
>>109
ピクセルの中心が整数位置にくるようにする。
例えば、100,200から表示させたかったら、座標は99.5, 199.5を渡す。
ヘルプの テクスチャ - テクスチャ座標 - テクセルとピクセル間の直接マッピング
を見れ

111 名前:110 :02/08/01 00:34 ID:???
110のようにすればリニアフィルタでもボケないということ

112 名前:名前は開発中のものです。 :02/08/01 00:43 ID:l3x/2iyM
>>110
そういうことだったのですか。いやー参考になりました。どうもありがとうざいます。

113 名前:名前は開発中のものです。 :02/08/01 02:45 ID:???
>>110
知らなかった…鬱

114 名前:名前は開発中のものです。 :02/08/02 02:56 ID:???
エロゲプログラマでDirect3D使わない主義の奴には
そのあたりを知らないのがいそうだな。

115 名前:◆OiOOQQF. :02/08/02 10:45 ID:Rsc9P1wM
ボーン入りのアニメーションを再生するために、SkinnedMeshのサンプルを何も考えず使っています。
そこで、キャラの頭だけ敵のほうに向けるといった事をやりたいのですが、サンプルが難しくて
どうやって特定のボーンを回転させられるかが分かりません。
教えてください。

116 名前:名前は開発中のものです。 :02/08/02 14:24 ID:???
>>114
ボーン入りって事は、Xfile形式ですよね?
それなら、そのXfileが、望む動きのモーションの情報をもっていないと
かなり面倒な作業をしないと無理です。

幾つかやり方があると思いますが、一番良いのは3Dモデリングソフト等で
動きを付けた物を、Xfileに吐き出すってやり方。
(オーソドックスなやり方だと、基本の位置から色々な動きのモーションを付け
複数のXfileにして、入力ごとにそれぞれを再生描画)

後は、自分でXfileを読み込んで、自分で頂点情報を形成。
勿論、法線情報、UV展開等も自分で。
そして、自分でその頂点に重みを付けて(ジオメトリブレンディング参照)
動きを制御ってやり方。
しかし、3Dソフトも使える身としては、2番目のやり方は
果てしなく面倒、無論、3Dプログラマなら出来なくてはいけないが、
目的と経緯を考えると、漏れは始めから、望む動きのXfileを持つって方を進める。

何方か、これ以外の方法があったならレスして下さい。
此方も参考にしたいです。

117 名前:◆OiOOQQF. :02/08/02 15:04 ID:Rsc9P1wM
レスありがとうございます。

>幾つかやり方があると思いますが、一番良いのは3Dモデリングソフト等で
>動きを付けた物を、Xfileに吐き出すってやり方。

はい、モーション付きのxfileを読み込んで再生っていう所までは大丈夫なんです。
説明不足でしたが、例えばバイオハザード型ゲームでプレイヤーキャラが歩いていて、
近くにゾンビが来たり、謎解きのヒントになるものがあれば、頭だけをそっちの方向
に向けたいと思っています。頭以外の部分は歩行モーションの再生を続け、頭の動き
はプログラムで好きに角度を指定したいのです。
今までサンプルをブラックボックスとして使っていたので、ソースを見てもどうすれば
いいのかヘッポコな漏れにはわかりません・・・(^^;

118 名前:名前は開発中のものです。 :02/08/02 15:15 ID:???
各ボーンの行列テーブルがあるから、それの
頭の部分を書き換えろ

っていってもそのレベルじゃきびしいぞ。ソースきちんと読むしかないんじゃ?

119 名前:116 :02/08/02 15:31 ID:???
>近くにゾンビが来たり、謎解きのヒントになるものがあれば、頭だけをそっちの方向
>に向けたいと思っています。頭以外の部分は歩行モーションの再生を続け、頭の動き
>はプログラムで好きに角度を指定したいのです。

リアルタイムにですか?うーん…自分では思いつく方法は
前レスにも書いた通り、自分でXfileから各情報を引っ張って来て
自分でオブジェクトを形成、そして自分で各頂点にジオメトリ係数(重み)を
リアルタイムで与えて、自分で変換をかけるしか……。

それと、DirectXではボーンは無いです。在るのは、各頂点の
ジオメトリ係数(重み)です。その重みが違うから、行列変換を
かけても一様な動きをしないので、関節で曲がったりと言った風に
動くのです。3Dソフト見たく、ボーンをつまんで、キーフレームで
動きを作るイメージでは無いのです。
…知っていたら、ごめんなさい。

120 名前:◆OiOOQQF. :02/08/02 15:36 ID:Rsc9P1wM
なるほど、行列テーブルを持ってるんですね・・・
これをボーンの名前で引っ張ってくるようにすれば良いんですか。
ありがとうございました

121 名前:名前は開発中のものです。 :02/08/02 15:43 ID:???
首だけ別オブジェクトにするのも一つの手。
死んだときに首がとれて転がる、なんて演出もできるけど
((((((;゚д゚))))))

122 名前:116 :02/08/02 15:49 ID:???
何か話が噛合わなくな……。

>>120
それだと、動き事のXfileを吐き出してるのと同じでは?
てっきり、動きの(ボーン)の無い所を
自分で動かしたい物だと思っておりました。

123 名前:◆OiOOQQF. :02/08/02 17:03 ID:Rsc9P1wM
>>122
>それと、DirectXではボーンは無いです。在るのは、各頂点の
>ジオメトリ係数(重み)です。その重みが違うから、行列変換を

その各頂点に対応する行列のテーブルがあるんですよね?<サンプル
ですから、アニメーションのフレームを1コマ進めた後に、頭に対応してる行列を
自分で上書きしてやれば、頭だけ決め打ちのモーションとは違う動きをさせること
が出来ると理解したのですが・・・

124 名前:名前は開発中のものです。 :02/08/02 17:16 ID:???
ハードによって一度にブレンドできる頂点数が違うので
サンプルでは最初にデーターを解析して最適かつ表示可能な状態に頂点indexデーターを分割する

で、この頂点Indexを表示する為には、行列の配列のx番(例えば肩)とy番(上腕)をD3DDeviceにセットしてちょ
って感じになる

だから、配列の頭の部分を書き換えればできるよ
頭の配列の位置を調べるのはどうやるんだったかな?
名前から取れるはずだけど忘れた

125 名前:名前は開発中のものです。 :02/08/02 17:35 ID:???
>>124
漏れも質問。その配列の頭の部分が取れたとして、そこに例えばD3DXMatrixRotationYで
右に90度回転させる行列を作ってドカンとセットしてやれば、普通にキャラは右を向い
て表示される訳??
親子関係とか考えなくてダイジョーブなのか

126 名前:名前は開発中のものです。 :02/08/02 17:52 ID:???
もう覚えてないよ。今ざっと見たけど

以下CMy3Dappricationのメンバ関数ね
順番としては
frameMove() (Frameに時間をセットする。するとSFrameクラス内で事前に登録されたアニメーションデーターからその時間の姿勢行列が作られる
親に時間をセットすると、子に伝達されていき、

Render関数の中のから
UpdateFrame() を呼び出して親子関係の計算
drawFrame() 描画

なのでUpdateFrame()前にいじると出来る気がする

上に上げた関数あたりを読んでちょ

127 名前:名前は開発中のものです。 :02/08/02 18:05 ID:O1bDfjPo
GDIがらみの質問なんですが、DirectX8のフルスクリーンで
GDIもの(コントロールなど)を描画する方法ってありますか?
ウィンドウモードの時は出来るのだが、フルスクリーンになると
駄目でした。

おそらくD3Dがウィンドウモードの時はBlt方式、フルスクリーンは
Flip方式ってな感じで勝手に切り替えてると思うんですが、これを
手動で制御できる方法があれば教えてください。

128 名前:名前は開発中のものです。 :02/08/02 18:06 ID:???
>>126
なるほどサンクス

129 名前:名前は開発中のものです。 :02/08/02 18:46 ID:???
>>127
ステンシルでマスク

130 名前:名前は開発中のものです。 :02/08/02 20:22 ID:???
>>127
D3DPRESENT_PARAMETERSの設定で一応はFlipを使わせずにBltを使わせることは
できるけど、Clipperが使用されないのでオススメできない。
DX8はGDIは使わせない方針なので、GDIを使いたいならDX9を待った方がいいかも。
DX9では関数一発でGDIモードの切り替えができるようになっていて便利。
再びSurfaceからGetDCできるようになっているから、使いやすさではDX8よりも
遥かに上。

131 名前:名前は開発中のものです。 :02/08/02 20:26 ID:???
>>130
GetDCしたいんじゃなくて、常にGDI面にしたいって話だろ?

132 名前:名前は開発中のものです。 :02/08/02 20:38 ID:???
そういえばぼちぼちDX9でるのか?

133 名前:名前は開発中のものです。 :02/08/02 21:11 ID:???
>>131
だから、それがDX9では関数一つ呼ぶだけで出来るんだってば。
PresentがBltになってClipper使用状態。
動的に切り替えられるから、GDIが必要なくなれば再びFlipに戻せる。

134 名前:名前は開発中のものです。 :02/08/02 22:37 ID:???
>だから、それがDX9では関数一つ呼ぶだけで出来るんだってば。
>PresentがBltになってClipper使用状態。
>動的に切り替えられるから、GDIが必要なくなれば再びFlipに戻せる。

そうか・・・・また激烈に仕様が変わるのか・・・・・・・・鬱氏のう

135 名前:naya :02/08/03 01:09 ID:???
sinとcosの値から角度を求めるにはどうすればいいんですか?

136 名前:名前は開発中のものです。 :02/08/03 01:18 ID:???
asinとacosだな…

137 名前:名前は開発中のものです。 :02/08/03 01:23 ID:???
>>125
首の部分の基本姿勢行列によるのでは?
ワールドに対して任意の方向(この場合ならワールド座標系で右)
になるような行列をかけてやればよいのではないかと。

>>135
アークサイン、アークコサインではダメなの?
(asin, acos)
そういう意味ではなくて?

138 名前:naya :02/08/03 02:26 ID:???
そうですか、ありがとうございます。
スティックを傾けた方向にプレイヤーを向かせるようにしたいのですが
D3DXMatrixRotationYの第2引数はラジアンなんだけど、DirectInputで
得られる軸の2つの数字からそれを求めるにはどうすればいいのかなって
思いまして。
asin,acosを使ってやってみようと思います。
atan,atan2では無理でしょうか?

139 名前:naya :02/08/03 03:01 ID:???
const double PI2 = 6.28318530717958647692528676655901;
double SinCosToAngle(double sinval, double cosval)
{
double asinval = asin(sinval);
double acosval = acos(cosval);
if(asinval > 0.0) return acosval;
else return PI2 - acosval;
}

いろいろ調べたらソースが出てきたのですが、これでいいんですよね?
この値を直接RotationYにつっこめばいいのですか?

140 名前:名前は開発中のものです。 :02/08/03 03:28 ID:3vnUJh66
>>139
asin,acosは(多分)内部でatan,atan2を呼び出しています

っていうか、三角関数同士は密接な関係があるです
(sin x)^2=1 - (cos x)^2 と同じように
asin,acosとatanは関係しています
具体的な式はめんどくさいので省略

141 名前:名前は開発中のものです。 :02/08/03 03:30 ID:3vnUJh66
追加

atan2の方が(級数展開の関係上)計算が早く、誤差も少ないので
そちらを使うことをお勧めします

142 名前:naya :02/08/03 04:08 ID:???
そうですか、アドバイスありがとうございます。

cosとsinの2引数を入れたらラジアンで戻ってくるような関数があったらいいんですけどね。

143 名前:名前は開発中のものです。 :02/08/03 04:09 ID:3vnUJh66
>>142
あのぉ・・・
それ、atan2なんですけどぉ・・・

144 名前:naya :02/08/03 04:21 ID:???
あ、やっぱそうなんですか・・・・・・。
atan2ってそういう関数なんですかかって聞くと恥ずかしいから
遠回しな聞き方してしまったのですが、やっぱどっちにしろ恥ずかしいですね。

大学受験時は偏差値70近くあった数学もやらないとさびてしまう物ですね。
まして、複雑な三角関数や偏微分とかはやらなかったし。

145 名前:名前は開発中のものです。 :02/08/03 04:34 ID:???
三角関数が複雑なんですか?
数学の基礎中の基礎でこれが出来ないと何も出来ないと思うんですが。

146 名前:名前は開発中のものです。 :02/08/03 04:43 ID:???
まあまあ。受験勉強とか偏差値とはそんなもんさ

147 名前:naya :02/08/03 04:59 ID:???
いや、三角関数が複雑だったのではなく、ハイパボリックやマクローリンとか
への変換や積分とか三角関数をもちいた複雑な問題が大変だったということです。

高校ではそこまでつっこんでやりませんでしたからね。

148 名前:名前は開発中のものです。 :02/08/03 05:20 ID:3vnUJh66
>>146
むしろ、大学受験までの勉強が「基礎中の基礎」なだけであって
意味が無いとは思わない

ただ、ゲーム製作に必要な知識はもうちょっと上のほうだと思う
nayaさんは、基礎がしっかり出来てるみたいだから、
ちょっと勉強すればぜんぜん出来るようになるでしょう

重要なのは、今勉強するかですからね

149 名前:名前は開発中のものです。 :02/08/03 05:29 ID:???
>>149
基礎が出来ているならむしろ>>135>>142のような発言は無いと思うけど…。
まぁ慣れというか、何事も何回も使っていくうちに頭に刷り込まれていくものだと
思うんで、がんばってください。

150 名前:名前は開発中のものです。 :02/08/03 06:14 ID:???
D3DXMatrixRotationYなんて使わずに直接行列を求めた方がスッキリすると思うが。
sin,cosが分かってるなら、そのまま行列に代入するだけだし。
高校レベルの数学だけど今の高校って行列やらないんだっけ?

>>149
誰に言ってるの?

151 名前:名前は開発中のものです。 :02/08/03 09:27 ID:???
>D3DXMatrixRotationYなんて使わずに直接行列を求めた方がスッキリすると思うが。
人それぞれですな。

152 名前:名前は開発中のものです。 :02/08/03 19:45 ID:4pHFWPGk
>>150
理系である程度のレベルの学校ならやる。数Cで。
だけどベクトルとの関連性を無視して、単なる計算で終わっているので使い物にならない。
大学に入ってからやる線形代数の授業もそう。単なる計算で終わっている。
ちなみに自分はコンピュータグラフィックスの特別講義ではじめて、行列と幾何の結びつきを知った。

153 名前:名前は開発中のものです。 :02/08/03 21:25 ID:???
>>152
現行課程への移行時に一次変換が削除されたのが痛かったね。
来年度から施行される新課程では、数学Cに、行列の応用として
「点の移動」という単元が加わっているみたいだよ。
ttp://nierdb.nier.go.jp/db/cofs/h10h/chap2-4.htm

154 名前:naya :02/08/03 21:28 ID:???
自分が高校生の時もそのような感じでした。
しかも、数学Cは受験時には選択制だったり、このジャンルが出題されないため、数学Vの方を重点的に勉強してしまい、ほとんど勉強しませんね。

また、最近は数学を受験科目に選択しなくても理系学科に入れる試験制度が
ある大学が増えてきたようですね。

155 名前:名前は開発中のものです。 :02/08/03 22:28 ID:???
--教育関係の話題はスレ違いにつきそろそろ終了--

156 名前:名前は開発中のものです。 :02/08/04 01:58 ID:5a7Xd0hg
ID3DXMeshから頂点とインデックスの情報を取り出すにはどうすればいいのですか?
GetVertexBuffer()で頂点バッファのポインタが取得できるみたいなんですが、
その頂点を格納しているIDirect3DVertexBuffer8がいまいちわからないのです。
フレキシブルな頂点フォーマットというのが8で導入されたみたいなんですが、
その頂点フォーマットのタイプとサイズはどこで得られるんだか、わけがわかんないのです。
チュートリアルでこのあたりまで解説してくれるとありがたいんだけどなあ>MSさん

んー、というより本当はD3DX使いたくないんですけどね。
Xファイル読み込むにはこれが一番お手軽なもので・・・
どこかにXファイル簡単に読んでくれるクラス転がってないですかねえ。

157 名前:名前は開発中のものです。 :02/08/04 02:02 ID:???
GetFVF

158 名前:名前は開発中のものです。 :02/08/04 02:06 ID:5a7Xd0hg
>>157
どうもありがとう・・・余分なものを一切書かないとこに貴方のセンスを感じる。

んで、IDirect3DVertexBuffer8::GetPrivateData()で得られるポインタに
データの本体が入っている、と。
でもこれは単なる配列なので、頂点フォーマットの構造体が無いとデータ取り出せませんよね?
GetFVF()で得られたフォーマットから頂点フォーマットの構造を得るには
どうすりゃいいんでしょうか。

159 名前:名前は開発中のものです。 :02/08/04 02:19 ID:???
>>156
IDirect3DVertexBuffer8::GetDesc

初心者程度の知識しかないくせに、なめた口を利いてんなよ。
「ヘルプ読め厨房!」がお似合いだ。
知識がないのは誰でも最初はそうだが、お前は必要な情報を探す気もろくにないだろ。
ふだんは2chで個人叩きと荒らしばかりやってるだろ。

160 名前:名前は開発中のものです。 :02/08/04 02:19 ID:???
IndexBufferって知ってる?

161 名前:名前は開発中のものです。 :02/08/04 02:22 ID:5a7Xd0hg
やっぱこんな時間じゃすぐ答え返ってこないよなあ。

誰かこういうの作って!!
・1つのクラスが1つのXファイルを扱う
・格納される情報は、頂点、インデックス、マテリアル、テクスチャ(のファイルの名前)
・アニメーションは、パターンに番号が付いていて、1とか2とか指定すると
  "変換済みの"頂点を返してくれる(自分で行列の演算とかしなくていい)

162 名前:名前は開発中のものです。 :02/08/04 02:35 ID:???
僕はゲームの専門学校に逝ってます。
今は、就職活動中ですが、周りの皆が良く言うのは
”この業種での業界の求人が少ない”って話です。
僕的には???です。その辺の会社のHPに
”3DPG急募”って沢山在ります。

でも161読んで、何か解ったような気がします。
…それをPGが言うな!自分で作れ!
今時のゲー専生徒でも、自分で作ってるわ!(クラスじゃ無いけど)

163 名前:名前は開発中のものです。 :02/08/04 03:27 ID:5a7Xd0hg
みんなして俺をバカにしやがって!!
調べるより聞く方が早いから聞いてんだろうがヴォケ!
それが許されないなら掲示板は何の為にあるんだ言ってみろ!
ゲー専生徒でも自分で作ってるだ?てめーらは学校の実習とかでやってんだろうが。
こっちはプログラムなんか夏休みぐれーしかできねえんだよ!
その夏休みの間にDirectXマスターしようとしてるんだ。
てめーら俺に協力してくれたっていいじゃねえかよ。なんでそんな風に言うんだよ。
何にもやる気なくなっちまうよ。

164 名前:162 :02/08/04 03:36 ID:???
学校でXfileの解析(読み込み)、自前制御なんか教えてくれませんよ。
どっちも、元から関数用意されていますので。
そもそもDirectXの授業なんて、殆ど無いに等しいです。
自分で必要だったら、自分でやってるだけです。
実習とバイトの合間を縫って。

165 名前:名前は開発中のものです。 :02/08/04 03:45 ID:???
>>163
もう少し簡潔に質問してくれ。
それとどれとどれが163の発言が分からないからどれに返答していいか分からん。

166 名前:名前は開発中のものです。 :02/08/04 03:47 ID:y/qD5Xb2
>>163
>みんなして俺をバカにしやがって!!
ワロタ

167 名前:名前は開発中のものです。 :02/08/04 03:51 ID:y/qD5Xb2
>>161

>"変換済みの"頂点を返してくれる(自分で行列の演算とかしなくていい)
どういう事?
頂点のワールド行列て事?
モーフィングとかやりたいの?

168 名前:名前は開発中のものです。 :02/08/04 04:05 ID:???
>>163
そういう風に言われると教えたくなくなる…というか係り合いたくなくなるが…
少なくともヘルプ読んでくれよ。
DirectX AppWizardが吐き出すCD3DFileクラスをちょっといじればそれくらいできるぞ。

169 名前:名前は開発中のものです。 :02/08/04 04:08 ID:???
>>163
>調べるより聞く方が早いから聞いてんだろうがヴォケ!
激しくワラタ
多分、自分で調べたほうが早いよ。
俺たちはアナタの辞書じゃない。

おまえこのスレの1だろ
ttp://game.2ch.net/test/read.cgi/gamedev/1028396250/l50

170 名前:名前は開発中のものです。 :02/08/04 04:17 ID:???
>>163
テンプレにできそうな予感

171 名前:名前は開発中のものです。 :02/08/04 04:42 ID:???
この程度なら掲示板で聞くより調べた方が早いと思う。
これだけしっかりしたドキュメントが用意されているんだし。
ID3DXMeshのメンバを一通り調べるのに30分もかからんだろ。
GetFVFの使い方が分からないならサンプルのフォルダでGetFVFで検索すれば
すぐに見つかる。

172 名前:名前は開発中のものです。 :02/08/04 04:51 ID:???
そうか夏休みだったんだな

173 名前:あぼーん :あぼーん
あぼーん

174 名前:名前は開発中のものです。 :02/08/04 05:57 ID:???
調べ方がわからなくて聞いている罠

175 名前:名前は開発中のものです。 :02/08/04 06:56 ID:???
夏休みにもなるとどこからともなくスゴい人がやってくるね。
いやぁ、世界は広いねぇ。

176 名前:名前は開発中のものです。 :02/08/04 12:12 ID:???
おいおい、さすがにネタだろう…
まぁスレが賑わうのはいいことじゃ(・∀・)

177 名前:名前は開発中のものです。 :02/08/04 16:31 ID:???
専門卒、大卒どっちが使えるのかってのは気になるところだがね。

178 名前:名前は開発中のものです。 :02/08/04 16:39 ID:???
使えるヤシは環境にかかわらず独学で使えるヤシになった訳で。

179 名前:名前は開発中のものです。 :02/08/04 16:44 ID:???
使える使えない以前に、大卒でないと書類審査ではねられる罠。
「うちは学歴にこだわらずちゃんとみてます!」なんて建前だよ。
いいかげん気づけよ、未来がある(といいな)厨房ども。
同じできる人なら大卒から取るさ。

180 名前:名前は開発中のものです。 :02/08/04 16:47 ID:???
大卒は教えればできるようになるからね

181 名前:名前は開発中のものです。 :02/08/04 18:39 ID:???
結局ね、偏差値70越えたら知識なんてあることが前提だし、
ペーパー試験で差になって現れるのは知識とか知性じゃなく、
「他者の意図を読んで想定された解答を出せるか」なのよ。
そういうのって馬鹿にされがちだけど、実際極めて重要なわけで。

また卒業のために論文書いたりプレゼンテーションをすることになるわけだけど、
その経験は、曲がりなりにも
「他人に自分の考えを理解してもらうための説明ができる」一助になるわけだし。

大卒である方が有利、っていうのは「技術・知識」一辺倒ではなく
そういう部分も含めての話だと思いますよ。

偏差値70切ってる方については憶測しか出来ませんが…。

182 名前:名前は開発中のものです。 :02/08/04 19:02 ID:???
>181
はげ同。

183 名前:名前は開発中のものです。 :02/08/04 19:51 ID:???
偏差値70以上 ≒ 上位2.3%(正規分布と仮定)
残り97.7%のヤシは使えません。

184 名前:名前は開発中のものです。 :02/08/04 20:18 ID:???
学歴の話してる奴は、ゲ製の数少ない
まともな話ができるスレをつぶす気なんだな?

185 名前:名前は開発中のものです。 :02/08/04 20:27 ID:???
>>184
はげ同。
とりあえず場の空気を読むことを学んで欲しい、若者たちよ。
「その話はもういいよ」という無言の声が聞こえないか?

186 名前:名前は開発中のものです。 :02/08/04 20:29 ID:???
>>184
はげ同、これは巧妙な罠ね

偏差値70以上の国立大(文系だけど)卒で、今だプーたろうですが何か?(´Д⊂

187 名前: :02/08/04 20:42 ID:???
>>179-181
激しく同意するが、気がついてみればここ何のスレだよ。

188 名前:名前は開発中のものです。 :02/08/04 21:02 ID:???
>186
文系は偏差値が何であってもクソということは定説です。およびじゃない。

189 名前:あぼーん :あぼーん
あぼーん

190 名前:名前は開発中のものです。 :02/08/04 21:49 ID:???
DirectX のスレだったのか

191 名前:名前は開発中のものです。 :02/08/04 22:19 ID:???
入学式、「日本ゲーム業界を支えているのはゲーム専門学校の生徒です!」と高らかに
宣言したのはうちの校長でした・・・・・・

欧米のゲームプログラマーはほとんど大卒だったのを知ったのはその1年後でした。

192 名前:名前は開発中のものです。 :02/08/04 22:43 ID:???
>>191
もうやめろって馬鹿

193 名前:名前は開発中のものです。 :02/08/05 00:03 ID:???
>>191
空気読め阿呆

194 名前:名前は開発中のものです。 :02/08/05 00:29 ID:???
>>183 ( ´_ゝ`)マァ チミツ
>>188 ( ´,_ゝ`)プッ
>>191 ( ´_ゝ`)フーン

195 名前:名前は開発中のものです。 :02/08/05 02:57 ID:???

 (゚∀゚ )   アヒャ!

196 名前:名前は開発中のものです。 :02/08/05 04:28 ID:???
このスレも終わったな・・・
2ちゃんねる式の掲示板で、DirectXのみに的をしぼったのを誰か用意してはくれまいか。

197 名前:名前は開発中のものです。 :02/08/05 06:46 ID:???

 (゚∀゚ ) アヒャ アヒャヒャ!

198 名前:名前は開発中のものです。 :02/08/05 10:44 ID:???
>>196
BBXとか、他にもイロイロあるじゃん。

199 名前:名前は開発中のものです。 :02/08/05 13:32 ID:???
ともかく、この伝統ある良スレを荒らすのはやめてくれ。マジで。

200 名前:127 :02/08/05 18:52 ID:???
レスありがとう。

>>129
ステンシルって使った事ないんだけど、マスクするエリアがたくさんあっても重くならない?
まぁ実験してみればいいんだけど、時間がない…(T_T)

>>130
このD3DPRESENT_PARAMETERSでの方法って、
・SwapEffectにD3DSWAPEFFECT_COPY
・FullScreen_PresentationIntervalにD3DPRESENT_INTERVAL_IMMEDIATE
を設定するってやつ?これやってみても駄目だったんだけど、何か足りないのかな…。

ちなみに実験環境は「RIVATNT2/DX8.1/Win98」「GeForce3/DX8.1/Win2k」です。

201 名前:名前は開発中のものです。 :02/08/05 21:38 ID:???
>>200
一応説明しておくけど、D3DPRESENT_PARAMETERSで設定する方法ではGDI使用中は
Presentは呼んじゃ駄目だよ。ようするに画面は更新できないって事。
それとステンシルは使えないよ。ステンシルでマスクできるのはバックバッファ。
ダイアログやコントロールをマスクしないといけないのはフロントバッファ。

202 名前:名前は開発中のものです。 :02/08/05 22:33 ID:WmYu1GTw
Win2k, DirectX8.1, VC++6.0, GeForce2MX 32MB にて…

1.DX AppWizardでアプリを新規作成(急須のヤツ)する
2.変更ナシでビルドする
3.そのまま実行する
4.ALT+ENTERでフルスクリーンモードにする
5.ALT+ENTERでウィンドウモードにする
6.ESCで終了
7.エラーメッセージのダイアログが出てVCごと落ちる

ヽ(`Д´)ノなぜじゃああああああああああああああああああ

203 名前:名前は開発中のものです。 :02/08/05 22:58 ID:???
>>202
同じ構成でも俺の環境だと落ちなかったが。
ドライバ最新にしてみたら?

204 名前:名無しサソ :02/08/06 01:11 ID:???
>202
 Detonatorを変えてやってみることをお勧め。気休めだけど、
最新のよりもWHQL認定ドライバを使うと良いかも。当方Ti4200
のWin98、Detonator30.82(最新β)を使ってるけど、このドライバ
では、D3Dを使ったプログラムのデバッグモードに入れない。
途端に落ちる。

205 名前:名前は開発中のものです。 :02/08/06 02:53 ID:PAyNJocw
すいません質問です
メインループで

HRESULT hr;
LPDIRECT3DTEXTURE8 texture;
hr = D3DXCreateTextureFromFileEx(lpD3DDEV,"gazou.bmp",0,0,0,0,D3DFMT_A8R8G8B8,D3DPOOL_MANAGED,D3DX_FILTER_LINEAR,D3DX_FILTER_LINEAR,D3DCOLOR_XRGB(0,255,0),NULL,NULL,&texture);
if(hr != D3D_OK){
  return false;
}
texture->Release();
texture = NULL;

と、実行させたのですが
タスクマネージャを見ていると、メモリの使用量がどんどん増えていってしまう
texture->Release();
texture = NULL;
を入れているのでメモリは増えないと思ったの出すが、何ででしょうか?

206 名前:名前は開発中のものです。 :02/08/06 03:24 ID:???
while(1){
 OutputDebugString("最適化ばかりしててコミケ落とさないでください!\r\n");
 GameMain();
 Test_205();
}

207 名前:名前は開発中のものです。 :02/08/06 03:55 ID:???
>>205
マジでそこが原因なの?
コメントアウトしてみた?

ついでに蛇足だけど、SAFE_RELEASE(dxutil.h)や
if( texture != NULL )
{
    texture->Release();
    texture = NULL;
}
したほうがよさげ。

208 名前:205 :02/08/06 04:44 ID:A065mayA
>>207
問題のところをコメントアウトにして実行させるとメモリが増えるようなことは起きませんでした。

ためしに、別に小さいプログラムを作って同じ事をさせても同じ現象が起きなかったので
なにか、別のところが間接的に影響を与えているのかな、もう少し調べてみます。

209 名前:205 :02/08/06 05:09 ID:???
解決しました。
↓こいつが原因でした、何であーなのかわからんが、やっと寝れる。

/*
* デバッグ ヒープのフラグを設定して、ヒープのリンク リストに解放
* したブロックを保持します。これにより、解放したメモリの不注意な
* 使用を検出できます。
*/
int tmpDbgFlag;
tmpDbgFlag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);
tmpDbgFlag |= _CRTDBG_DELAY_FREE_MEM_DF;
tmpDbgFlag |= _CRTDBG_LEAK_CHECK_DF;
_CrtSetDbgFlag(tmpDbgFlag);

210 名前:名前は開発中のものです。 :02/08/06 05:25 ID:???
>メインループで
メインループで確保と解放を繰り返してんのか!?Σ( ̄▽ ̄;)

211 名前:202 :02/08/06 06:26 ID:???
おはようございます。

>>203-204
そう思ってドライバ更新したにもかかわらず>>202の状況なわけですよ。
ウィンドウモードなら何の問題もないので当面フルスクリーンナシでいくかぁ…

#フルスクリーンで遊ぶユーザーが多いと聞いたが…

212 名前:名前は開発中のものです。 :02/08/06 06:29 ID:gQhH5TM6
http://js-web.cside.com/

213 名前:名前は開発中のものです。 :02/08/06 08:21 ID:mY.DofG6
http://www.7swords.com/~czar/
DirectXには直接関係ないけど、ここお気に入り〜

214 名前:名前は開発中のものです。 :02/08/06 09:47 ID:???
>>209
_CRTDBG_DELAY_FREE_MEM_DFのフラグがあると、メモリ領域は解放フラグをつける
だけで、実際には解放しません。この場合、解放するのはプログラム終了時。
メモリ不足の状態を再現するのに使えるらしいです。
MSDNにもちゃんと書いてあるので読もうね。

ちなみに、_CRTDBG_LEAK_CHECK_DFはプログラム終了時にリークがないかチェックします。

215 名前:◆KeJ3pYYQ :02/08/06 09:51 ID:HhMbK2lE
メタセコイアで、半球を二つ組み合わせた、くす玉みたいなオブジェクトを作って、
それをxfile書き出しして表示させてるんですが、ぴったり二つくっつけてもまん丸
に見えません(少し縦に細く見えて、つなぎ目が目立ちます)。
最初から球状のオブジェクトなら、ちゃんと丸く見えます。
半球状の物を二つくっつけて、ちゃんと球状のオブジェクトとして見せるにはどうすれば
ヨイのですか

216 名前:127 :02/08/06 09:54 ID:???
>>201
ぐぁ。という事は、Dx8でフルスクリーンで画面更新しつつ
GDIを使うのは不可能ってことですか。
どうしても必要なら、DX7でやるかDX9を待つしかないのね…(;_;)
またはそれぞれ自前で実装するってのもあるか。

217 名前:名前は開発中のものです。 :02/08/06 11:52 ID:???
>215
境界の法線をなんとかしる
メタセコにその機能がなければどうしようもないんじゃない?
もしくは法泉のつじつまが合うように工夫しる<だめかも

218 名前:名前は開発中のものです。 :02/08/06 11:54 ID:???
うちのIMEは何度もコメントで「法線」つかってるのに「法泉」かぁぁぁ

219 名前:◆KeJ3pYYQ :02/08/06 14:16 ID:HhMbK2lE
>>218
>メタセコにその機能がなければどうしようもないんじゃない?

なんて事を言うんですか!じゃあどうしろと言うのですか!!!

ところで、xfileをロードした後にプログラムで球を二つに割るというのはどうでしょう

220 名前:名前は開発中のものです。 :02/08/06 15:15 ID:???
まあそれも手だわな

221 名前:205 :02/08/06 15:47 ID:???
>>214
なるほど、原因の理由がわかりました
ありがとうございます。

222 名前:名前は開発中のものです。 :02/08/06 18:52 ID:???
>>219
割れてない状態のXファイルと割れた状態のXファイルを2つ用意するとか。

223 名前:名前は開発中のものです。 :02/08/06 19:00 ID:???
半球ぐらいなら最初からプログラムで生成してもいいんじゃないかの

224 名前:ひよこ名無しさん :02/08/06 20:04 ID:???
>>219
>なんて事を言うんですか!じゃあどうしろと言うのですか!!!
激しく厨房臭い

225 名前:◆KeJ3pYYQ :02/08/06 20:44 ID:w4Cz3L1Q
>>224
すんません、そこは失笑するところなんです

あとポリゴンを細かーくするとかっすかね・・・

226 名前:名前は開発中のものです。 :02/08/07 02:58 ID:???
テキスト形式で吐き出して、自分で頂点一つ一つ修正しろ。

227 名前:名前は開発中のものです。 :02/08/07 04:32 ID:???
なんで三角関数使って動的に生成しないのん?

228 名前:◆KeJ3pYYQ :02/08/07 09:59 ID:???
>>227
そういう例外的なことが出来るほどプログラムが抽象化されてないんです

229 名前:名前は開発中のものです。 :02/08/07 11:39 ID:???
ステンシルバッファで切るとか・・・
まあどっちにしても変則的になるが

230 名前:名無しサソ :02/08/07 13:00 ID:???
 Xfileはそのまま二つ読み込んで、中心点を使って法線を張り直せばいいのでは・・・?
中心点と円の表面の点を通るベクトルを法線にすれば、継ぎ目は見えないのでは?多分。

231 名前:名前は開発中のものです。 :02/08/07 13:38 ID:???
俺はアマちゃんだが、法線ベクトルがよく分からない。
法線はポリゴンの三頂点の内積とは限らんの?
法線をxfileに持たせるとか持たせないとか。その辺がよくわかんないズラ

232 名前:名前は開発中のものです。 :02/08/07 13:49 ID:???
ここでの法線は頂点法線
DirectXのヘルプにも載っていること
尼ちゃんも風呂も関係ない

233 名前:名前は開発中のものです。 :02/08/07 14:19 ID:???
なんのことはない、「英語を読めないと2流以下になる」という
当たり前の結論が当たり前に出ただけに留まりましたな。

234 名前:名前は開発中のものです。 :02/08/07 14:42 ID:???
頂点法線て何スか

235 名前:名前は開発中のものです。 :02/08/07 15:13 ID:???
つうか内積はスカラだろ・・・外積と書きたかったんだろうが、、
取りあえず高校から勉強しなおせ。話はそれからだ。

236 名前:名前は開発中のものです。 :02/08/07 15:19 ID:???
つまり、知らないと

237 名前:名前は開発中のものです。 :02/08/07 15:44 ID:???
だらだら質問してんじゃねえ。少しは自分で調べろ

238 名前:名前は開発中のものです。 :02/08/07 15:50 ID:???
サクッと教えてよ

239 名前:名前は開発中のものです。 :02/08/07 15:57 ID:???
死んでも嫌

240 名前:名前は開発中のものです。 :02/08/07 16:09 ID:???
ヽ(`д´)ノ

241 名前:あぼーん :あぼーん
あぼーん

242 名前:名前は開発中のものです。 :02/08/07 16:46 ID:???
高校の幾何レベルの知識がない奴に恵む気にはなれんな。
いい機会だから先生に聞いて見ろ。見直されるぞ(w

243 名前:あぼーん :あぼーん
あぼーん

244 名前:名前は開発中のものです。 :02/08/07 16:53 ID:???
知ったか厨と終了厨が来た

245 名前:名前は開発中のものです。 :02/08/07 17:08 ID:???
食物連鎖の関係だね。
(食う)>(食われる)で表記すると、

  終了厨 > 知ったか厨 > 教えて厨

246 名前:名前は開発中のものです。 :02/08/07 17:31 ID:???
教えて厨は知ったか厨に食われるのかYO

247 名前:名前は開発中のものです。 :02/08/07 18:03 ID:???
終了厨が連鎖の頂点かYO

248 名前:名前は開発中のものです。 :02/08/07 20:27 ID:???
知ったか厨ってのは高校幾何レベルの説明を御丁寧に説明していい気になる
奴のことかと思った。

249 名前:名前は開発中のものです。 :02/08/07 20:34 ID:???
>>228
自分のプログラムじゃないの?
だったら自分で半球の.x fileを書き出すプログラムを書けば済むかと。

250 名前:名前は開発中のものです。 :02/08/07 20:39 ID:???
つーか、メタセコとかってどういう基準で法線計算してんの?適当?


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