5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

鬱だ氏のう 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 :名前は開発中のものです。:02/08/04 04:54 ID:???
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)

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 :名前は開発中のものです。:02/08/04 21:29 ID:???
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)

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 :名前は開発中のものです。:02/08/07 16:25 ID:???
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)

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

243 :名前は開発中のものです。:02/08/07 16:52 ID:???
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)

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:???
つーか、メタセコとかってどういう基準で法線計算してんの?適当?

251 :名前は開発中のものです。:02/08/07 20:54 ID:???
アホか。物体を分けてる時点で頂点が共有されてないんだから
当然法線も違ってくる

切断面に透明ポリゴン置いたら回避できねぇかな?
(DirectXで表示するなら、また別の問題があるけど)

252 :名前は開発中のものです。:02/08/07 21:06 ID:???
>>251
だから、その頂点が共有されてない場合の法線の取りまわしについてだよ

253 :名前は開発中のものです。:02/08/07 21:32 ID:???
意味がわからん。
メタセコの仕様に文句あるなら自前で計算するしか無いじゃん
帰れよ

254 :◆KeJ3pYYQ:02/08/07 21:32 ID:???
>>249
そうなんですが、実際に出したいのはもうちょっと複雑で、モデラーでないと作れそうにないんだよ・・・

つーか、球にそういうテクスチャ貼ってアルファテストで抜きゃいいじゃんという気がしてきた

255 :名前は開発中のものです。:02/08/07 21:59 ID:???
球体のメッシュにマテリアルに貼り付けたいのですができません。
LPD3DXMESH mesh=NULL;
D3DMATERIAL8 mat;を宣言
Init3D関数内で
mat.Diffuse.r = 1.0f; mat.Diffuse.g = 0.0f; mat.Diffuse.b = 0.0f;
mat.Ambient.r = 1.0f; mat.Ambient.g = 0.0f; mat.Ambient.b = 0.0f;
mat.Specular.r = 1.0f; mat.Specular.g = 0.0f; mat.Specular.b = 0.0f; mat.Emissive.r = 1.0f; mat.Emissive.g = 0.0f; mat.Emissive.b = 0.0f;
としてマテリアルを赤く設定したのち
D3DXCreateSphereで球体メッシュを生成。
Render関数内で
lpD3DDEV->SetMaterial(&mat);
mesh->DrawSubset(0);
とやったのですが、表示される球体は真っ白です。
なぜこうなってしまうのでしょうか?

256 :名前は開発中のものです。:02/08/07 22:39 ID:???
>>254
難しく考えるとハマるという良い例になった

257 :名前は開発中のものです。:02/08/07 22:57 ID:???
レンダーステートとテクスチャのステージステートの設定。
わからなけりゃフレームワークつかえ

258 :名前は開発中のものです。:02/08/07 23:05 ID:???
DX8で
IDirect3DDevice8::CreateAdditionalSwapChainの
オモロい使い方てありまへんか

259 :名前は開発中のものです。:02/08/07 23:28 ID:???
>>255
ライトの設定がおかしいとそうなった気がする

260 :名前は開発中のものです。:02/08/07 23:46 ID:???
255です。
テクスチャ貼り付けちゃえば赤くできるのですが、ちゃんとマテリアル使えるようになりたいと思いまして。
ライトはつかっておりませんが、
InitRender関数内で
lpD3DDEV->SetRenderState(D3DRS_LIGHTING, TRUE);
とすると、画面上のポリゴンが真っ赤になってしまうのです。
じゃあ、球体を描画する前にTRUEにして終わったらFALSEに
しようとおもったのですが、そうすると球体が見えなくなってしまいました。
どうやら、テクスチャを貼り付けたポリゴンのみに作用しているようなのです。

261 :名前は開発中のものです。:02/08/07 23:52 ID:???
255です。
アルファブレンディングの設定をFALSEにした後に描画したら
赤く表示することができました。

262 :名前は開発中のものです。:02/08/08 01:02 ID:???
>>261
まさかとは思うが、透明度を0にしてないだろうな?
どんな色をつけてライトを当てても透明度が0なら色はつかないぞ。

263 :名前は開発中のものです。:02/08/08 02:41 ID:???
え、マテリアルもRGBAのようなアルファ値があるんですか?
mat.Power=1.0fとやればいいってことですか?

264 :名前は開発中のものです。:02/08/08 04:47 ID:???
D3DMATERIAL8 の定義をよく読め。

あとこれはどうでもいいことだけど、matと略すと行列と間違えるから、
俺はmtrlを使っている。ま、こりゃどっちでもええことだけど。

265 :名前は開発中のものです。:02/08/08 04:49 ID:???
そうそう、matは使わないよね
俺はmateだけど(ダサッ

mtrlみたいな一文字飛ばし略語もなんかいやん

266 :名前は開発中のものです。:02/08/08 05:03 ID:???
一文字飛ばしじゃなくて母音飛ばしだよ。よく使う手。mjskみたいなもん。

267 :名前は開発中のものです。:02/08/08 05:09 ID:???
mjskってなに?(俺アホ?

268 :名前は開発中のものです。:02/08/08 06:05 ID:???
>>267
Σ( ゚Д゚) mjsk!!

269 :名前は開発中のものです。:02/08/08 06:13 ID:???
http://www.google.co.jp/search?hl=ja&lr=lang_ja&q=%28%81@%81K%84D%81K%29mjsk%21%3F

マジッスカの略かぁ…。初めて知った

270 :名前は開発中のものです。:02/08/08 12:05 ID:/HiLzdeI
投影テクスチャ使ってキャラの影を落としたいんですが
どうすればいいんですか?

271 :名前は開発中のものです。:02/08/08 13:15 ID:???
ん?

272 :名前は開発中のものです。:02/08/08 13:53 ID:???
漠然とした質問は返事しにくい。
要点をバシッと決めてくれ。

273 :名前は開発中のものです。:02/08/08 16:54 ID:???
VCつかってやってるんですが、入力支援機能を使用可能にするにはどうすればいいのですか?

274 :名前は開発中のものです。:02/08/08 17:31 ID:???
統合環境のエディタでソース開いて「::」とか
打ち込むと出てくるうざいアレのこと?

275 :名前は開発中のものです。:02/08/08 17:35 ID:???
例:
ワークスペース - FileViewに、「DirectX」というフォルダを作る
DirectXのincludeファイルをプロジェクトに追加。
そこで追加したファイルは邪魔なので最初に作った「DirectX」フォルダに分けておく

とかすれば、入力支援機能でDirectXの構造体を使えたりも駿河

276 :名前は開発中のものです。:02/08/08 20:47 ID:???
>>275
フォルダわけの意義がイマイチ謎

277 :>>275:02/08/08 21:11 ID:???
もうちっと詳しく教えてくださらないでしょうか?

278 :&gt:02/08/08 21:52 ID:???
>>276
ダブルクリックしてファイルを開きたいときに見つけづらいからでは?

279 :名前は開発中のものです。:02/08/08 22:15 ID:???
>>277
もう十分詳しいと思うぞ。理解力が足りない

280 :名前は開発中のものです。:02/08/08 22:36 ID:???
>>277
これ以上詳しくできないよ…

281 :277=278:02/08/08 22:36 ID:???
どうも、理解できました。

282 :名前は開発中のものです。:02/08/09 03:23 ID:???
DirectX8で2Dアクション(マリオのような)作る時って、
スプライトを使うべきか使わないべきか。

283 :名前は開発中のものです。:02/08/09 05:17 ID:???
面白ければどっちでもいい、が遊ぶ側の本音だが、
いまどき横スク画面は壊滅的にダサくてダウンロードすらされない。
VB厨が垂れ流す駄ゲーと区別つかん。

284 :名前は開発中のものです。:02/08/09 06:12 ID:???
HSP厨もな。

285 :名前は開発中のものです。:02/08/10 19:58 ID:PD7Pi8C6
レンダリングステートの変更のコストを抑えるために、
少しの違いでもステートブロックを作ったら
ステートブロックの数が爆発しました。
ピクセル関連のステートだけですが、それでも64個。
もうひとつの選択肢として、レンダリングステートとテクスチャステージステートの
キャッシュつきラッパー関数を作るのもあります。

みなさんどうしてますか?

286 :名前は開発中のものです。:02/08/10 20:39 ID:???
>>285
ステートブロック作っても切り替えを実行しちゃったら変更コストは
あんまり変わらんのでは?

ステートごとにグループ化する努力のほうが効きそうな気がする

287 :名前は開発中のものです。:02/08/10 23:57 ID:9NCQqQXk
ステートの変更なんてたいして時間かかるものじゃ無いと思うけど。
どうせDirectX内部のどっかにある変数を切り替えてるだけだろ?
実際のレンダリングやら衝突判定やらにかかる時間に比べたら微々たるものだと思う。

288 :名前は開発中のものです。:02/08/11 00:18 ID:???
ステート変更が入るとビデオカードが描画終わるまで待たないと
いけないからその分遅くなるよ。
CPUとGPUは非同期に並列に動いているから、単純に変数を書き換
える程度じゃ済まない。

289 :名無しサソ:02/08/11 00:44 ID:???
 そういえば、レンダーステートの話で思い出したけど、PureDevice指定という
のは、レンダーステートのGetが全て出来ない代わりに、GPUの高いパフォーマンス
を得られると言う認識でいいのかな?

 プログラムを検証していて思うんだけど、SoftwareT&L環境下では当然
ながらパフォーマンスが頭打ち。上手く作ればもうちょっと速くはなるだろうけど、
HT&Lには到底及ばない。GeForce3世代になって、その差が目立ちはじめたけど、
皆さんはどの辺のパフォーマンスに主眼を置いてプログラムを作ってるのかな?
最近はHT&Lを前提にしたゲーム(Unrealエンジンとか)も増えているようだけど。

 というか、この辺は新しくポリゴン数スレみたいなものを作ったほうが良いですか?
自分みたいなヘタレだと、最新のビデオカードのパワーは手に余る・・・。

290 :名前は開発中のものです。:02/08/11 00:46 ID:???
softT&Lなんて無視に決まってんだろ。
差がありすぎて両立は無理

291 :名前は開発中のものです。:02/08/11 01:14 ID:???
SoftT&Lは、市販ソフトでも「遊べるか知らんけど動く」までやれば十分。
今年中だと、Soft頂点シェーダは微妙。
Doom3で底上げ期待。

292 :名前は開発中のものです。:02/08/11 02:27 ID:???
近頃はHWT&Lを省略したチップが増えてきたから微妙だな。
CPUが速くなっているからそれで補うってのがメーカーの言い分だけど、
速いCPU使ってる奴がそういう安物ビデオカードを使うとは思えない。
結局、安物ビデオカードを買う奴はCPUも遅いんじゃないかな。

293 :名前は開発中のものです。:02/08/11 02:58 ID:???
>>287
たとえば
ステートAに切り替え→描画1→ステートBに切り替え→描画2→ステートAに切り替え→描画3→
よりも、
ステートAに切り替え→描画1→描画3→→ステートBに切り替え→描画2→
のほうが高速だよ。

294 :名前は開発中のものです。:02/08/11 05:14 ID:???
>>293
ステートAに切り替え→描画1→ステートBに切り替え→描画2→ステートAに切り替え→描画3→
はリア厨でもやらんだろ〜
確実に遅い例にはもってこいだがちょっとワラタよ

295 :名前は開発中のものです。:02/08/11 05:21 ID:???
メッシュの透明に描画するには、ライトの宣言は必須なんですか?

296 :名前は開発中のものです。:02/08/11 05:21 ID:???
俺はやるよ
つか、時間かけてる間に性能が上がるので最適化いらん(泣

Xファイル使ってるような奴は皆そうでしょ。
細かいコントロール不能だし

そーでなくてもピーク性能ってよくわからんよね
測定方法もなんか難しいつーかコツがあるみたいだし…

297 :名前は開発中のものです。:02/08/11 05:30 ID:???
>>293
半透明オブジェクトや、エフェクトで加算合成じゃないビルボード
のZソートで結構ある

298 :名前は開発中のものです。:02/08/11 07:01 ID:???
フィルレートが一番ネックになるので結構あるよ。
俺のマシンは出来るだけ前から書くのが一番だ。
Xファイルの連打ってステート変更もしちゃうのか???
そら使いにくい罠

299 :名前は開発中のものです。:02/08/11 07:31 ID:q2d3/uDw
Xファイルの質問です。
XファイルのテンプレートにAnimationKeyというのがあって、
そのメンバにキーの種類を示すkeyTypeがあり、ヘルプを見るとこの値の意味するところは
0:回転、1:スケーリング、2:位置、3:行列キー
となっています。
ところが、とあるソフトでXファイルを吐き出すと、これが4というものが
出る場合があります。4は一体何を示しているのか、分かる人がいたら教えて下さい。

300 :名前は開発中のものです。:02/08/11 07:42 ID:???
スキンメッシュのサンプル読む限り 4が行列キーだな
3は登場しない前提で対応するコードが書かれていてない

301 :名前は開発中のものです。:02/08/11 07:44 ID:???
すまん。書いてあった。エラーです(藁

302 :名前は開発中のものです。:02/08/11 07:58 ID:???
とあるソフトが何か気になる…

303 :名前は開発中のものです。:02/08/11 10:10 ID:???
今まで何も考えずにD3DXVec3TransformCoordを使っていましたが、
何気にヘルプを眺めているとD3DXVec3Transformを発見
Coordのほうには「・・・その結果を w=1 に射影する」と書かれているのですが
これは無駄に/wが計算されていたのでしょうか???(普通のトランスフォームだから常にw=1)
まさに鬱だ市悩

304 :名前は開発中のものです。:02/08/11 10:35 ID:???
と思ったらD3DXVec3TransformはVECTOR4用だった・・・
でも「・・・その結果を w=1 に射影する」が気になる
結局よく解らんので自前にしよう。そうしよう。
やっぱり鬱だ市悩

305 :名前は開発中のものです。:02/08/11 13:09 ID:aO/cH.IU
スキンメッシュで質問です.
頂点法線も頂点と同じように回転の重ね合わせで求めるのですかね.
 n' = α0*n*R0 + (1-α1)*n*R1
毎フレーム毎ポリゴン外積,正規化していられませんよね
間接ごとに別れたモデルをワンスキンにしようと思ったのですが,LVERTEXにしたらせっかくのワンスキンが台無しかと思いまして.
skinnedmeshサンプルはちょっと読む気になれませんでした.お願いします.

306 :305:02/08/11 13:28 ID:???
あ,結局正規化は必要ですね.
ブレンド無しのワンスキンモデルにしておくのが無難ですかね.
ローポリにする技術も無いですし.

307 :名前は開発中のものです。:02/08/11 14:55 ID:???
よくわからんが、一般的には法線に回転をかけるような事はしないYO
光源を回転させて法線に掛ける。この方が早くてウマー

308 :名前は開発中のものです。:02/08/11 15:25 ID:???
えっと,ゲーム内で他にもいろいろオブジェクトがあるので光源を回転させるわけには行かないのですが.
それと自分で頂点計算していて,バーッテクスシェーダーとかではないのですが...

309 :名前は開発中のものです。:02/08/11 15:38 ID:???
>>308
わかってないと思われ

310 :名前は開発中のものです。:02/08/11 16:44 ID:???
スキニングするときは法線の合成してからライティングするのが普通だと思う

311 :名前は開発中のものです。:02/08/11 17:43 ID:???
スキニングするときって法線合成するの?
書籍には座標の合成の仕組みばかりで書いてないよねー

正直しなくても誤魔化せるような気もするんだけど
バンプマップの法線なんかどーすんだー

312 :名前は開発中のものです。:02/08/11 21:20 ID:???
>>311
8.1のskinnedmeshのシェーダー見れば?
必要ならばやるべし。
nVidiaのサンプルだとDotProduct3バンプの
基底ベクトルの合成もやってる

313 :名前は開発中のものです。:02/08/11 23:14 ID:???
SmartJoyパッドを使って
感圧ボタンをDirectXでどうしても使いたい。
あれ使えれば、かなり幅が広がってくるのにね。

314 :305:02/08/12 02:55 ID:???
>>309
わかってないんです...

>>310
頂点と同じように(移動はなしで)ということですね.

>>311
まだ実際にコード書いていないのでいろいろ試してみます.
計算が倍以上膨れ上がりますからね.

>>312
頑張って読んでみます...

315 :305:02/08/12 09:01 ID:???
500△ポリのモデルで試しましたが、
複数のボーンから影響を受ける頂点が数十個だったので法線計算してもぜんぜん重く無かったです.

316 :名前は開発中のものです。:02/08/12 09:43 ID:???
>>313
SmartJoypad自体が対応してないと思われ

317 :名前は開発中のものです。:02/08/12 09:52 ID:???
>>315
ローポリ過ぎない? ゲームによって違うだろうけど。
これから出るゲームなら、デザイナーがどれだけ頑張っても
「ショボイ」で片付けられちまって報われない。

318 :305:02/08/12 10:21 ID:???
>>317
確かにショボイです.
デザイナ=プログラマ=私(素人)なので報われなくてもいいのです.
ある程度形になって,報われたくなったらモデルを外注したいですね.

319 :名前は開発中のものです。:02/08/12 13:16 ID:???
DirectX8.1SDKをインストールしたんですが容量不足で
失敗したらしく、アプリのアンインストール項目にすら
出ていなかったので、フォルダを削除しました。

以後インストール出来ず、OSの再インストールすら青い
画面で起動不能に・・・2日かけて再起動まで成功。

DirectXを再インストールするにはどうすれば良いの
でしょうか(;´Д⊂)

320 :名前は開発中のものです。:02/08/12 13:31 ID:???
>以後インストール出来ず、OSの再インストールすら青い
>画面で起動不能に・・・2日かけて再起動まで成功。
感想で悪いけど、OSをクリーンインストールしなおしたほうがよさげ…

321 :名前は開発中のものです。:02/08/12 13:38 ID:ui+7Gm17
dxは普通に上書きインストール可能だと思うが
ブルースクリーン出るマシンがいかれてんじゃ?

だいたい、容量不足で失敗つーのも、珍しい。
最初にチェックあるのに(あてにならんが

322 :319:02/08/12 17:48 ID:???
preparing to install(つまり一番最初)で
1628:Failed to complete installation.って
出てまうですよ(;´Д⊂)鬱だ氏のう・・

323 :まあ:02/08/12 18:27 ID:???
今後不安定なまま制作を続けてもしょうがないのだから
クリンストールしちゃいましょう

324 :名前は開発中のものです。:02/08/12 20:01 ID:???
>319
オーバークロックとかしてないか?

そもそも、DirectXのSDK入れたぐらいで容量が足りなくなるぐらいHDDに
空きが無かったら、Windowsそのものがちゃんと動かない気がする。

325 :319:02/08/12 22:50 ID:???
HDDの容量は600Mほどあるはずなんですが・・・
8.0aでも駄目だったらクリーンインストール汁(;´Дm)

326 :名前は開発中のものです。:02/08/13 01:10 ID:???
少ねぇ
安いんだからそのくらいケチるなyo

327 :名前は開発中のものです。:02/08/13 01:22 ID:???
win95だったりして

328 :名前は開発中のものです。:02/08/13 01:50 ID:???
>>326
再インストールが億劫でウチも似たような感じだ。
開封してないドライブが山積みになってるほ。

329 :名前は開発中のものです。:02/08/13 03:23 ID:PImLDq+L
DirectX8.0 のスプライトを使って描画をしてるのですが、
画像がぼやけてしまいます、ぼやけないようにするには
どうしたらいいのでしょうか。


330 :名前は開発中のものです。:02/08/13 03:35 ID:???
過去ログを読めばボケ解消
頭のボケは直らんがな

331 :名前は開発中のものです。:02/08/13 04:04 ID:???
うむ。
過去ログにズバリそのものがでてる。

332 :329:02/08/13 07:29 ID:mgK0hkIz
くっきりできました。
テクスチャーの読み込み時に変なフィルターかけてました


333 :319:02/08/13 08:43 ID:???
8.0aでインストール出来ました(´・ω・`)thx

334 :名前は開発中のものです。:02/08/13 18:46 ID:sLcDe9s2
みんなバージョンいくつで開発してるの?

8.xは情報があまりないから7をダウソ中(鬱

335 :名前は開発中のものです。:02/08/13 18:54 ID:???
8以降でフォントが手軽に扱えなくなったのが辛いね。
ゲームの開発だったら画面に文字入れないと辛いだろうし、
当分の間は7がお手軽でお勧めだと思うよ…。

336 :名前は開発中のものです。:02/08/13 18:58 ID:???
つーか、8が一番使いやすい

337 :名前は開発中のものです。:02/08/13 18:59 ID:???
3Dを扱う場合は楽だよね。<8
特に初期化が。

338 :名前は開発中のものです。:02/08/13 19:22 ID:???
Builder使いにはどうなんでしょうね

339 :名前は開発中のものです。:02/08/13 19:43 ID:???
Builder使いは今でもDDraw3でシコってなさいってこった

340 :名前は開発中のものです。:02/08/13 22:46 ID:???
シコシコシコシコ・・・ハァハァ(;´Д`)339さぁん・・・ゥッ


341 :名前は開発中のものです。:02/08/13 23:28 ID:???
ポリゴンの表示処理で悩んでるのですが、
1) 好きな時に表示
2) 1回のBeginScene()〜EndScene()間で一括で表示
3) 2)を行った上さらにデバイスを極力いじらないようプリミティブをソートして一括で表示
最も簡単なのは1)なんですが、速度が気になります。
3)はテクスチャだのαブレンディングだのを考えるとあまり効果がなさそうです。
みなさんどうしてますか?
上記の方法以外の方法とかもあるんですか?
それとも「そんな大差ないよ」ですか?
お聞かせ願います。

342 :名前は開発中のものです。:02/08/13 23:32 ID:???
すぐに描画するコマンドと
バッファに溜め込むコマンドと
バッファ内を描画するコマンドと
バッファをソートするコマンド

を作る。後は好きにする
最後の処理にバッファ内に未描画のものが残ってたら、自動的に(ソートして)描画

343 :名前は開発中のものです。:02/08/14 02:10 ID:???
キタ−−−−(・∀・)−−−−ッ!!
Builderで付属のサンプルを動かすことに成功。
やっとヨチヨチできそうです。

ごめんね、庭球で。

344 :名前は開発中のものです。:02/08/14 10:58 ID:???
がんがれ

345 :名前は開発中のものです。:02/08/14 11:10 ID:???
builder捨ててアカデミックでも買えよ

346 :名前は開発中のものです。:02/08/15 19:45 ID:???
メッシュ用データーを色々いじる(DX形式に再編してくれたりSTRIP作ってくれる)ライブラリどっかにない?
あんま省力化には興味ないかな?

STRIPはNVidiaの奴がいいのかな

347 :名前は開発中のものです。:02/08/16 16:03 ID:cDFx8JRk
DirectSpriteて加算合成できますか?

348 :名前は開発中のものです。:02/08/16 17:00 ID:???
DirectSpriteって何ですか?(藁

349 :名前は開発中のものです。:02/08/16 17:09 ID:???
DX9で導入されるスプライト専用API

350 :名前は開発中のものです。:02/08/16 17:52 ID:???
そんなもん ない

351 :374:02/08/16 17:59 ID:???
ごめん
DirectX8のスプライトのことです。

352 :名前は開発中のものです。:02/08/16 19:06 ID:???
初歩的な質問です。
フルスクリーンにすると他のウィンドウを操作することはできないんですか?

353 :名前は開発中のものです。:02/08/16 19:08 ID:???
できる

354 :名前は開発中のものです。:02/08/16 19:41 ID:???
「初歩的な質問です。」ってよく見るとすげぇおかしい

355 :名前は開発中のものです。:02/08/16 20:48 ID:???
どういう判断で初歩的と判断できるのか、小一時間問いつめたい

356 :名前は開発中のものです。:02/08/16 21:07 ID:???
Spriteつかわんからわかんないなぁ
Textureなら加算合成できるけど…

…Spriteで加算合成ってどういうときに使うんだ?

357 :名前は開発中のものです。:02/08/16 22:46 ID:???
>>356
君はSpriteもTextureも分かってないよ。もしくはへんな理解。

358 :名前は開発中のものです。:02/08/17 00:03 ID:???
DrawSubsetは遅いんですか?

359 :名前は開発中のものです。:02/08/17 02:20 ID:MCkIbjVq
誰かDirectXの全体像をUMLで書いた人って居ませんか?

360 :名前は開発中のものです。:02/08/17 02:55 ID:FQs5sThb
一気にクソスレ化しましたね

361 :名前は開発中のものです。:02/08/17 04:05 ID:???
元からクソスレだよ

362 :名前は開発中のものです。:02/08/17 16:33 ID:???
昼夜のあるゲームって、普通はどうやって作ろうとするの?


363 :ポヤッチオ作れ:02/08/17 17:56 ID:IsKEPd3F
現実の時間経過とは別に、ゲーム内世界の時間経過という要素を
導入する手法。多くはRPGにおいて、登場人物の台詞や行動を時
間毎に異なるものにすることで、人々の生活感を表現する。SLGで
は能力や属性が昼と夜で変化するユニットとして用いたりする。
昼・夜の二値でモデル化することが多いが、もっと細かく分けること
も珍しくない(ギャルゲーなど)。

しかしそもそもDirectXじゃねえし、
どういう昼夜がやりたいかわからんよ。>>362

364 :名前は開発中のものです。:02/08/17 18:02 ID:???
ambientライトや街頭など(Pointライト)とかの値の事じゃね?

365 :名前は開発中のものです。:02/08/17 18:18 ID:???
義務教育で「質問の仕方」と「検索の仕方」ってのを必須科目にしてほしい。
最近特に思う。

366 :名前は開発中のものです。:02/08/17 18:45 ID:???
>>365
それは親が教えるもんだと思うが…

367 :名前は開発中のものです。:02/08/17 18:47 ID:???
ライトの色とかか?

368 :名前は開発中のものです。:02/08/17 18:50 ID:???
>366
最近は親も解ってないようだから

369 :名前は開発中のものです。:02/08/17 18:52 ID:???
つか、普通、義務教育終われば、身に付いてる筈なんだが…



370 :名前は開発中のものです。:02/08/17 18:56 ID:???
むしろ国民の義務に汁

371 :名前は開発中のものです。:02/08/17 18:58 ID:???
>>369
義務教育が終わってないんだろ

372 :名前は開発中のものです。:02/08/17 18:59 ID:???
>>371
萌え

373 :名前は開発中のものです。:02/08/17 19:10 ID:???
質問の仕方はともかく、
検索の法はまた別のスキルじゃね?
まぁ、考える頭があれば問題にならないけど。

374 :362:02/08/17 21:10 ID:???
箱庭モノとかの
聞きたかったのは
街(近代的なの、例えば夜は街灯や行き交う車のライトが点くもの)
の絵とかをイマサラ256色平面で書きたくなかったんよ。

DirectXすれだし、グラフイツクに関してすてす。
稲光、新月、満月、晴れ、曇り、雨、夕焼け、夏、冬は積雪、とかのヤシ。

375 :名前は開発中のものです。:02/08/17 21:15 ID:???
好きなタイプのライトを設置して色を設定するだけじゃん。


376 :362:02/08/17 21:17 ID:???
>375
それだけだとちょっと違うかった

377 :名前は開発中のものです。:02/08/17 21:31 ID:???
どう違うんだよ

378 :362:02/08/17 21:35 ID:???
影の濃さかなー。
うー
積雪状態への移行は現状でも一気に切り替えしか無理なのだろうか・・・



379 :名前は開発中のものです。:02/08/17 21:37 ID:???
>362
真面目に聞きたいなら真面目に書けよ

380 :名前は開発中のものです。:02/08/17 21:38 ID:???
うーとか言う前に解りやすく質問まとめろ

381 :362:02/08/17 21:54 ID:???
どうやら義務教育が足りていないようでした。
失礼しますた。

382 :名前は開発中のものです。:02/08/17 22:32 ID:???
「○○みたいなライティング処理したいんです。
△まではできますが□がわかりません。」

やや厨くさいけど、具体的で答えやすいかもしれない質問の例。

383 :名前は開発中のものです。:02/08/17 23:18 ID:KfqT+kJi
>>378
雪のかぶってるテクスチャと
かぶっていないテクスチャを用意して
α値を積雪具合に近似して合成・・・
くらいしか思いつかんね
雨なら雨跡とか綺麗に出来そうだけど(っていうか完璧?)、
雪だと厳しいかな?

メガデモなら可能かもしれないけど、
ゲームに使うのはちょっと無理かなぁ?

384 :名前は開発中のものです。:02/08/17 23:29 ID:???
雪の照り返しを再現できてないって事か?
リアルタイムは無理なんじゃないの。

385 :362:02/08/17 23:48 ID:???
やぱり無理っすか・・・
五・六年後に期待しよう・・・

ところで、DX9はちょっと楽しみ。
機能が、ではなくて、どれぐらい環境が分散しちゃったり、
プログラマーの能力が単純比較し辛い状況に陥るか、とかが。

386 :名前は開発中のものです。:02/08/18 00:15 ID:???
もうすぐだから、まぁ待て。

387 :名前は開発中のものです。:02/08/18 00:26 ID:???
Tribes2はHeightMapに雪っぽいテクスチャで上手く表現できてと思うけど。
まあ、パーティクルもどきな雪も降らせてたが。

参考
http://www.dailyrush.dk/tribes2/files/movies/722/download/

388 :名前は開発中のものです。:02/08/18 00:46 ID:???
そうか。お前らみんなブロードバンド対応か。チッ
 
 
 
感想聞かせてください。

389 :典型的感想:02/08/18 10:19 ID:???
( ´,_ゝ`)プッ>>388貧乏人はネトゲやんなくていいよ

390 :名前は開発中のものです。:02/08/18 11:03 ID:???
>>389
立派な六畳一間にお住まいですね

391 :名前は開発中のものです。:02/08/18 12:28 ID:???
頼むから早く夏休み終わってくれ。(切実

392 :名前は開発中のものです。:02/08/18 12:48 ID:???
>>389
立派な一戸建てに住んでますが何か?

393 :名前は開発中のものです。:02/08/18 13:25 ID:???
>>391
ログ読めば、ここがずっとこの調子で来てることに気付くぞ普通。

394 : :02/08/18 15:38 ID:???
Microsoft DirectX Mailing Listで読んでないメールが5000を超えました。
わーい(鬱

395 :名前は開発中のものです。:02/08/18 18:15 ID:???
ゲーム開発の有名なMLって何があるんですか

396 :名前は開発中のものです。:02/08/18 18:18 ID:???
海外で良いなら2つほど。
日本でもALICE softの開発者の誰かが開いてたようだけど、
ページが行方不明。

397 :名前は開発中のものです。:02/08/18 18:25 ID:???
http://www.ai.wakwak.com/~yudai/pcgamedesite/index.html
ここだけど、参加者じゃないので現在有意義なMLかどうかは知らない。

398 :名前は開発中のものです。:02/08/18 18:35 ID:???
話がとまっとるのー
入退会サーバー落ちとるのー

399 :まだ空きがあるぞ:02/08/19 07:15 ID:???
ttp://cedec.cesa.or.jp
DirectXのセミナーが2日めにある。本気なら2万位安いもんだろ?
来いや!ゴルァ!

400 :名前は開発中のものです。:02/08/19 10:15 ID:???
そのセミナークソじゃん 過去数回でたけど無駄無駄

401 :名前は開発中のものです。:02/08/19 13:44 ID:???
セミナーなんかで本気出されてもな

402 :名前は開発中のものです。:02/08/19 13:51 ID:???
セミナーいかなかったら何時寝てるの? 

403 :まだ空きがあるぞ:02/08/19 23:19 ID:???
??過去とかじゃ無くて…
今回の話なんだが…
今回は、マイクロソフトが協賛で、DirectX開発のチーフが来日、
講義が在るんだが、開発者より解るの?
皆、すごいんだんね…

404 :名前は開発中のものです。:02/08/19 23:27 ID:???
開発チーフが来ようが雑誌に書いてあるような 説明するだけだよ
それにDX9のハードを先行して触ってる奴以外は質問しようがないだろ
そーいう人はイチイチ質問する程レベル低くないし

全く無駄とはいわんが。行く必要はない

405 :名前は開発中のものです。:02/08/20 00:25 ID:???
>来いや!ゴルァ!

行くぞ じゃないところが関係者ですか?
毎回盛り上がらないから、必死だな

Soft別のは 金払ってなんで宣伝聞かなきゃならんのつー内容だし
ゲーム会社のは サパーリノウハウ明かさないし

もうやめたら?


406 :名前は開発中のものです。:02/08/20 00:57 ID:???
無料なら参加するよ。うん。

407 :名前は開発中のものです。:02/08/20 02:23 ID:???
>ゲーム会社のは サパーリノウハウ明かさないし

ノウハウって具体的にどういう事が聞きたいの?

408 :名前は開発中のものです。:02/08/20 08:35 ID:???
日本版gems

409 :名前は開発中のものです。:02/08/20 22:19 ID:???
プログラムに目を通してみたけど、DX9のセミナーって1つだけじゃん。
2-1-Aや2-2-AもDX9の話は出てきそうだが。
目玉は2-3-Aのエリアライティングじゃない?

410 :ひよこ名無しさん:02/08/20 22:35 ID:???
毎回「今回は面白い」「今回はためになる」って言われて参加してるんだけど…
正直、時間の無駄だったことがほとんど

411 :名前は開発中のものです。:02/08/20 22:37 ID:???
Webで情報とった方が早いし、安いし、詳しいよ
Webで情報取れないような奴がセミナーで話し聞いたところでわからないしね



412 :名前は開発中のものです。:02/08/21 07:53 ID:???
前どっかのスレで「仕事中に検索すると怒られる」と言ってた奴がいたが、
そういう糞な会社が金だして従業員を参加させるのがその手のセミナーだ。
自腹で行くこたぁないよ。

413 :名前は開発中のものです。:02/08/21 20:15 ID:gBdbJDqq
DirectDrawだけじゃ半透明とかアルファブレンドの処理ってできないのね…。

414 :名前は開発中のものです。:02/08/21 20:46 ID:???
>>413
今さら何を言ってるんだ?

415 :名前は開発中のものです。:02/08/21 20:48 ID:???
>>414 DirectXなんて普段使わんもんだから。
どーやらDirect3D使わないとだめみたいね。
無理ぽ

416 :名前は開発中のものです。:02/08/21 20:49 ID:???
アルファ処理だけなら自前でやったら?


417 :名前は開発中のものです。:02/08/21 20:52 ID:gBdbJDqq
できなくは無いと思うんだけど・・・ やっぱ速度遅いですねぇ。

418 :名前は開発中のものです。:02/08/21 20:53 ID:???
あ、あげちゃった。

419 :名前は開発中のものです。:02/08/21 21:51 ID:???
>>417
やる前から速度がどうこういって結局何もやらない奴か
実用的な速度になるかどうかは作ってみてから決めればいいだろ

420 :名前は開発中のものです。:02/08/22 00:07 ID:???
でも、結局Direct3D使った方が簡単な気がする・・
速度も速いし。ビデオカードに3D機能が必要になるけど。


421 :名前は開発中のものです。:02/08/22 00:26 ID:???
鬱だ氏のう DirectX 2@プログラマ板
http://pc3.2ch.net/test/read.cgi/tech/997101556/l50

DirectX7以前とか2Dオヤジ向けの話題はこちらの方が盛りあがります

422 :名前は開発中のものです。:02/08/22 00:46 ID:???
>>420
アマチュアが作るときくらいは、その位環境を絞ってももういい気がする。
逆にアマチュアだからこそ最適化に凝りたい、と言う人もいるだろうけど。
でも、X9からはD3Dが最初からGDIに組み込まれて半透明の転送も
サポートされるんだっけ?

423 :   :02/08/22 02:26 ID:7yeuCaf2
危険な香り  ―プログラミングに対する認識が変わる
高校生のころ、
2chの「鬱だ氏のう DirectX」スレッドのタイトルを眺めただけで興奮したものだ。
情報交換や雑談としてためになる、というより、
こういうスレッドはプログラミングに対する認識が変わってしまうという、
危険な香りも感じた。
その感じはもちろん正しいものだった。
DxirectXのバージョンアップはプログラマーにとって危険なものだからだ。
脳のOSとなるようなSDKは、決して安全なバージョンアップに堕することがない。
だから「DirectX9」に期待する。


424 :名前は開発中のものです。:02/08/22 03:24 ID:???
> 脳のOSとなるようなSDKは、決して安全なバージョンアップに堕することがない。

どなたか人間の言葉に翻訳してください。

425 :名前は開発中のものです。:02/08/22 03:59 ID:???
>>424
個人の感性は世界をかけめぐるインターネット時代の
充実したWebサービスや高度な分散システムにとって、
VisualStudio.Netはもっとも優れたソリューションといえます。
Webブラウザのセキュリティホールのような避けることが
困難なトラブルにも迅速に対処するインテリジェント・
パッチアップ・サービス。世界のハッカーたちによる、
さらなる挑戦があなたを奮い立たせます。

426 :名前は開発中のものです。:02/08/22 08:48 ID:???
>>424
これだろ
http://game.2ch.net/test/read.cgi/gamedev/1029865211/70

混沌と欲雲が凝縮した2chへようこそ!
無からのコンテンツ・ソリューションをより快適に、よりリッチに
円滑に進めるべく我々ハッカーたちは、様々なアプローチで各々の
顧客に対する要望を可能なかぎりスピーディにそして的確に解決することを
約束します。
我々は貴方の競合他者(主にニチャンネラー)に対抗しうる強力なサポートと
堅牢なソフトウェア・コンポーネントを迅速に提供するばかりでなく、
メンテナンス、トラブルシューティングなどご購入後のあらゆるアフターサポートも
余力余すことなく提供することを誓って止みません。

さぁ、我々ハッカーの扉はこちらから↓

427 :名前は開発中のものです。:02/08/22 11:09 ID:???
スルー↓

428 :名前は開発中のものです。:02/08/22 11:40 ID:???
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)

429 :名前は開発中のものです。:02/08/22 12:25 ID:FS27OipF
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)




430 :名前は開発中のものです。:02/08/22 14:14 ID:???
>>428 >>429
まともなスレに貼るのはやめろ
やるなら厨房スレかクソスレだけにするべし

431 :名前は開発中のものです。:02/08/22 14:29 ID:???
厨房も厨房なりに有意義だと思ってるスレに終了だすから報復されるんだって

432 :名前は開発中のものです。:02/08/22 16:25 ID:???
ヘルプにのっている球状環境マップのテクスチャ座標を求める式
u=Nx/2+0.5
v=Ny/2+0.5
なんですが、uv座標のv軸って下向きですよね。
これだと上下ひっくり返ってしまう気がするんですが、僕が何か勘違いしているのでしょうか。

433 :名前は開発中のものです。:02/08/22 19:14 ID:???
座標系というものを勘違いしてます

434 :名前は開発中のものです。:02/08/22 19:55 ID:???
やはり僕が勘違いしているのですか…う〜んわからない。
法線NxNyはローカル座標でuvはテクスチャ座標ですよね?

435 :名前は開発中のものです。:02/08/22 21:37 ID:???
>>430
有益なスレなら張られても意味がない。気にしないことだ。

436 :名前は開発中のものです。:02/08/22 23:52 ID:???
>>432
テクスチャをひっくりかえせばいいやん

437 :名前は開発中のものです。:02/08/23 00:03 ID:???
>>436
はい、そうなんですが…
今のところはv=-(Ny/2)+0.5とすることで目的の描画をさせることができています。
でもホントはこんな修正する必要ないんじゃないかなあと。

438 :名前は開発中のものです。:02/08/23 10:19 ID:???
DirextX9のβをインストールしました。特に問題なく使用できているのですが、
最近「期限が切れています」と、新バージョンへのアップデートを促すアラートが
ちょくちょく表示されてしまいます。DirectX9の新βなどは、あるのでしょうか?
個人的には9を使いつづけることよりも、むしろ8.1に戻したいのですが、
どうすればいいでしょうか?再インストールですか?

439 :名前は開発中のものです。:02/08/23 13:04 ID:???
>>438
通報しますた。

440 :名前は開発中のものです。:02/08/23 14:04 ID:???
>>439
捕まりますた(´・ω・`)
          ヽ∞ノ

441 : :02/08/23 14:35 ID:???
DirectMusicの3Dサウンドバッファの取得で詰まっています。
自分の周りの色々な方向/位置から音が聞こえてくるようにしたいのですが、
GetObjectInPathで取得したバッファにSetPosition等をすると
Pathに含まれる全てのサウンドの位置が変わってしまいます。
音声ごとのバッファの取得方法を教えていただきたいです。

DirectSoundで自前のでバッファを作成して
自前でwavの読み込みをすればできるような気もしますが、
なるべくDirectMusicをベースにして作成したいです。

ご教示よろしくおねがいします。

442 :名前は開発中のものです。:02/08/23 18:37 ID:???
>>422
アルファブレンドのソフトウェア処理で最適化に凝るのも良いけど、
プログラマ以外の人にそれを見せても何とも思われない・・・
ハッキリ言って、ハードウェアをバリバリ使って作った方が断然素人ウケする。

そりゃ、他の人が作った非常に良く出来た最適化コードなんかを見ると
スゲーと思いますが、そんな事は一部の人間しか分かりません。
人気ゲームを作るには、ハードウェア処理優先で作るほうが絶対良いですよ。

443 :名前は開発中のものです。:02/08/23 19:12 ID:???
今さら語り尽くされたαブレンドごときで最適化云々言っているのは
かっこいいどころか恥ずかしい

444 :名前は開発中のものです。:02/08/23 19:27 ID:???
確かに。

445 :名前は開発中のものです。:02/08/23 20:37 ID:???
なんか面白い物作ってる奴のHPとかしらない?
結構、回答のレスがつくけど、そーいう人は何作ってんだ?

僕はラッパーつくっててクラス設計で頓挫中。しばらくほっておくと
綺麗に忘れてるので同じところ回ってます

446 :名前は開発中のものです。:02/08/23 22:39 ID:???
>>445
ちょっと触って、何か作ろうとして、途中であきらめて、
単なる技術デモ・検証程度で終わる人が多いかと。

本当に出きる人は本職の方が忙しくて面白いもの作ってる暇がなかったり。
(国産XBOXゲー、デキはいいと思うけどね・・・売れないだけで)

447 :名前は開発中のものです。:02/08/24 04:24 ID:???
>検証

ゲームとして要素を組み合わせるまではいかないで、疑問点や
納得いかない点を突き詰められたらやる気失せる、とか?

448 :名前は開発中のものです。:02/08/24 09:16 ID:???
「あとはすごいモデルとすごいBGMとすごいシナリオと
製作時間さえあれば、このゲームは史上空前のものになるな。
俺って天才だ・・・・」

449 :名前は開発中のものです。:02/08/24 10:32 ID:???
>>447
ゲームに組み込もうとしたらデータ形式の変更やレンダリングエンジン
の組みなおしが必要だったりして、すでに出来上がってるのがあると、
そこまで手を出せないということかもよ

450 :名前は開発中のものです。:02/08/24 16:09 ID:nIDqas2v
>>437
>>432の式は一般的な球状環境マップを扱う公式。
んで、テクスチャが上下逆なのはDirectXというかWindowsの仕様。
ただそれだけ。

451 :名前は開発中のものです。:02/08/24 16:27 ID:nIDqas2v
やる気が失せるというか、自分が作っているコーポネントに被ってるやつが
SDK等にあったりするとガクッとくる。
nVidiaのテクスチャ用のクラスとか、自分が作ろうとしていたものより
全然良い出来なんで、このまま作るかそれとも割り切ってこいつを使うか迷った。

452 :名前は開発中のものです。:02/08/24 18:03 ID:???
>>451
優越感に浸るために見てるの?

自分より優れたものを見たいから見てるんじゃないの?

453 :名前は開発中のものです。:02/08/24 18:18 ID:???
>>452
?車輪の再発明の危険と、資料探しの時間浪費のジレンマに
悩んでいるだけのように見えるんだけど?というかレス番間違い?

見つけたライブラリの出来が良くても、自分の予定を組み上げて
しまっているのなら、そのまま元の予定で行く方が堅実かも。
確実に楽になるなら別だけど。

454 :名前は開発中のものです。:02/08/24 19:13 ID:???
っていうか、人のライブラリ使いたくないよね。勉強にならんし。
本当は車輪作ってる場合じゃないんだろうけどね

455 :名前は開発中のものです。:02/08/24 20:46 ID:BJyMAVuF
質問です。モデル間の衝突判定を簡略化するため円柱を使おうと思うのですが
円柱と三角形の交差判定のアルゴリズムでいいのありませんか。


456 :名前は開発中のものです。:02/08/24 21:39 ID:???
>>454
勉強と実製作はある程度割り切って考えた方が良いと思う。
というか自分に言い聞かせてるような物だけど。

457 :名前は開発中のものです。:02/08/24 23:13 ID:???
>>450
レスどうもです。なるほど、そういうことですか。
OpenGL向けのページでも同じ式だったのでおかしいなとは思っていたのですが。

458 :履歴書房:02/08/25 00:48 ID:???
>>455
DirectXの質問では無いような気もしないが、
もう普通に考えた通りで良いんでは?
先ず円柱を上部と下部の円で捉える、そして其の二つの円の
中心を結ぶ線分、この三つ(上部円、下部円、線分)と
三角形から導かれる平面との判定をすれば良いのでは?

……まさかソースくれって話じゃ無いよね?

459 :履歴書房:02/08/25 00:52 ID:???
>>458
いかん!違うスレのコテハンつけたままだ。
逝ってしまった。2Ch初心者バレバレか…

460 :履歴書房:02/08/25 00:59 ID:???
>>458
後、円の半径の値で、線分と点(三角形の各頂点)との判定も必要か。

461 :名前は開発中のものです。:02/08/25 03:18 ID:Kq2PLf7r
DirectInputのマウス座標を絶対値と相対値、両方取得するにはどうすればいいんですか?
システムマウスのIDirectInputDevice8オブジェクト2つ作ることってできるんでしょうか?
自分で試せばいいのですが面倒なので誰かやり方知ってる人が居たら教えてください。

462 :名前は開発中のものです。:02/08/25 03:30 ID:???
>>461
最後の1行が気に入らない。
だから適当に教える。正しいやり方かどうかは知らん。
絶対値モードでやって、自分で前フレの値を取っておいて
それと今フレの値で相対値を出す。
どうかな???

463 :461:02/08/25 04:12 ID:Kq2PLf7r
>>462
すみません。
答えてくださってありがとうございます。
相対値とはマウスの移動量を知りたいのですが、前フレの絶対値と比較して計算するとカーソルが画面の端にあるときに画面の外側にカーソルを移動させたときに正しい移動量が求められませんよね?


464 :名前は開発中のものです。:02/08/25 04:41 ID:???
マウスなんて、通常のメッセージプロシージャで十分。
キーボードはGetAsyncKeyState()で十分。
DInput使うのはパッドの時だけじゃ。

465 :名前は開発中のものです。:02/08/25 08:55 ID:???
>464
パッドだってjoyGetDevCapsがあるやん。

466 :名前は開発中のものです。:02/08/25 10:38 ID:???
>>463
画面外に相当する値ならば自分でクリッピング


467 :名前は開発中のものです。:02/08/25 15:03 ID:X4JD8AfK
Xファイル内のSTRING型のメンバをGetData()で読むのに、
DWORD dwsize;
BYTE *pb;
lpXFileData->GetData("メンバ名", &dwsize, (void**)&pb);
だと毎回dwsizeが4になるんですが、何か間違っているんでしょうか?

468 :名前は開発中のものです。:02/08/25 15:44 ID:???
>>467
君の場合、DWORDが4Byte環境なんでしょ?

469 :名前は開発中のものです。:02/08/25 17:12 ID:???
>>468
おかげで読み込めました。
pbの内容を勘違いしていました。


470 :名前は開発中のものです。:02/08/26 07:20 ID:???
ゲーム製作ってハイレベルなことだと思ってたけど
なんでAAばっかなんだろう

471 :名前は開発中のものです。:02/08/26 09:16 ID:???
コピペはともかくAAはハイレベルな技術

472 :名前は開発中のものです。:02/08/26 17:27 ID:???
スターブレンドα

473 :名前は開発中のものです。:02/08/27 00:25 ID:???
DirectXはC++使えるから、一部のゲーム機よりハイソな職場

474 :名前は開発中のものです。:02/08/27 18:25 ID:???
DirectInput使って毎フレームごとにGetDeviceStateでキーボードとマウスの入力をチェックしているのですが、
一度押したキーがずっと押しっぱなしになるという現象がたま〜に発生してしまいます。
(常に( keyboardBuff[ほにゃらら] & 0x80 )でtrueが返ってくる)
どんな原因が考えられるのでしょうか?

475 :名前は開発中のものです。:02/08/27 22:10 ID:???
>>474
ちょっとわからない。
DirectInput使わない状態でもなる?

476 :名前は開発中のものです。:02/08/27 22:11 ID:???
ああっと、ようは非DirectInputのWindowsのAPIでもなるかなってこと

477 :名前は開発中のものです。:02/08/27 22:34 ID:???
>474
デバッガのなんかのスレッドが落っこちるときじゃねえ?
バイナリ単体では発生しないみたいだから俺は気にしてないけどw

478 :名前は開発中のものです。:02/08/27 22:37 ID:???
>>475
なるほど。WinAPIで試してみます。

あ、あと、押しっぱなし状態になる直前なんですけど、
前兆があって必ず4,5秒固まります。
で、動き出すと同時に直前まで押してたキーが押しっぱなしになるという感じです。

479 :477:02/08/27 22:44 ID:???
>478
あ、やっぱりそれだよ。アウトプットウィンドウで、なんかのスレッドが終了するときだ。
気にしてないけど、やっぱ気になるから防ぎ方知ってる人いたらおせーて

480 :名前は開発中のものです。:02/08/27 22:49 ID:???
>>479
速いマシンに買い替えなさい。

481 :名前は開発中のものです。:02/08/28 00:38 ID:???
DirectSoundってアプリのウィンドウが非アクティブになると再生止まるけど、
これ防ぐ方法で何か知ってる人はいらっしゃいませんか?

482 :名前は開発中のものです。:02/08/28 00:51 ID:???
>>481
DirectSoundの役割を考えるが良い。
さすれば汝の疑問は解決しよう。

DirectX経典にはDirectSound以外にも音を司る技法が記されているのだよ。
汝、信仰を深めよ。

483 :名前は開発中のものです。:02/08/28 01:27 ID:???
>>482
DirectMusicになるんでしょうかねぇ。。
ちと諸事情でサウンドの生PCMデータを再生しなきゃならないんで、
DirectSoundだと楽でいいかなぁ、と思ってたりするんですが。

484 :名前は開発中のものです。:02/08/28 02:04 ID:21zL3Wvr
DirectX7 の Bltメソッドで、
VRAM上のサーフェスを、丸ごとシステムメモリサーフェスに
等倍コピーしたのですが、遅すぎて困っています。
(640x480の2回コピーを1セットとして、1秒間に10回行かない)

 セレ1200+GeForce2MX(32M)と、P3-600+ATI RageM(4M)のノートで、
ほぼ同じ結果が出るのですが、仕方のない事なのでしょうか?
若しくは、何らかの解決方法があるでしょうか?
(両方VRAM上とか、両方システムメモリ上っていうのは別として。)

 ご経験の方が居ましたら、情報頂けると嬉しいです。
あと、(この件についての)資料HPなどがありましたら、教えて下さい。

485 :名前は開発中のものです。:02/08/28 02:17 ID:???
Directx8で開発を行っています。
フルスクリーン(640*480)に設定したのはいいんですが、
実行後、Alt+Tabで通常のスクリーンサイズ(1024*768)に戻し、
そのご復帰しようとすると、復帰できません。
640*480の灰色のウィンドウが1枚、
1024*768のデスクトップに表示されており、
なんの反応も示しません。Alt+F4で落ちますけど。
復帰って、できないんですか?
私のソースが悪いだけですか?

486 :名前は開発中のものです。:02/08/28 02:23 ID:???
>>485
VRAMの内容を戻すのはシステムじゃなくてプログラム側の仕事

487 :名前は開発中のものです。:02/08/28 02:32 ID:???
俺も昔ハマったんで解決策書いときます。
毎フレーム描画する前にTestCooperativeLevel。
DEVICENOTRESETが帰ってきたらResetしてやるべし。
Reset時にMANAGEDじゃないデバイスオブジェクトの無効化、復元も忘れずに。

488 :名前は開発中のものです。:02/08/28 02:45 ID:???
>478
会社のWin2kではそれ置きます。
CPUを新しいのにしても無駄でしょう。1.5Gだし。
でも自宅のXpでプログラムしてると起きたことありません。

489 :夏房:02/08/28 05:40 ID:PGMDNgH5
>>484
フィルレートって奴を検索して学ぶんだな。
以上。


490 :名前は開発中のものです。:02/08/28 07:04 ID:???
>>484
VRAM->システムメモリ
VRAM<-システムメモリ
は激重なのが今のPCの通例です。
コンシューマ感覚で造ると痛い目見ます。

491 :名前は開発中のものです。:02/08/28 07:52 ID:???
>>485
そのレベルなら、、とりあえずの完成品を目指して、
elなりなんなりを使うなりした方が良いのでないか?
扱っているバージョンが8でないものは駄目だろうけど。
世間一般のライブラリ使用ならその辺を考える必要も少なくて良いと思う。

頭から尻まで、そして頭だけ作って終わる。。。

492 :名前は開発中のものです。:02/08/28 13:37 ID:???
うりゃage

493 :名前は開発中のものです。:02/08/28 14:24 ID:???
画像のローディングにスレッドを使おうと思ってるんだけど、
メインのスレッドでシーンをレンダリング中に他のスレッドで
テクスチャをロックしても大丈夫かな?

IDirect3D8::CreateDeviceで
D3DCREATE_MULTITHREADEDを指定したら大丈夫っぽいけど
誰かやったことある人いない?

494 :名前は開発中のものです。:02/08/29 10:43 ID:???
初心な質問ですみません。。

マテリアルのα値って、影響しないんでしょうか?
頂点のディフューズ色にα値を入れたときは半透明になるんですが、
マテリアルだと反映されないです。。

495 :名前は開発中のものです。:02/08/29 10:52 ID:???
あれ。。前に作ったメッシュの描画ではマテリアルのアルファが反映されてました。。
どっか設定が変なのかな。。

496 :494:02/08/29 11:30 ID:???
結局上手くいったのですが一つ気になったことがあります…。
ディフューズ色がある頂点バッファはマテリアルのアルファが反映されないんですが、
ディフューズ色がないほうは反映されました。これはこういうもんなんでしょうか?


497 : :02/08/29 13:00 ID:???
TextureStatgeState,RenderStateあたりは
キッチリ理解してちゃんと設定しといたほうがイイと思われ...
こんなもんかな?でうまくいったからそのまま開発を進めると、
他のグラフィックカードでは変な動作になったりしてデバグが大変になる罠


498 :名前は開発中のものです。:02/08/29 16:12 ID:???
>>496
ヘルプ「ライティングにおける数学的計算」で検索。
色の決定に関する全ての事項が一つの数式にまとめられています。
これさえイメージできてれば自由自在に色を扱えます。
  「「「Π   
  ((((´ー`)/"
<<<( ヨメヨ.)
.ノノノ  ゞ


499 :494:02/08/30 12:15 ID:???
>>497 >>498
レスありがとうございます〜。
確かにTextureStageState、ライティングの計算ともに、あまり理解してませんでした。
まだまだ勉強すること沢山だ〜… 頑張ります。

500 :500:02/08/31 00:16 ID:???
500

501 :名前は開発中のものです。:02/08/31 12:13 ID:???
sdkのスキンメッシュのサンプルの
SetTimeのMatrixKeyって補完のところは手抜き?
行列の補完てどうするの?

502 : :02/08/31 18:23 ID:???
たしかマトリックスキーの時は補完無しで
位置・スケール・回転の時には補完ありになるんだったよね?

マトリックスの補完はできないと思うので、
補完したかったらマトリックスキーでなく、
位置等の情報を持つXファイルを作れば良いと思われ...

速度優先でやりたかったら、各フレームごとにサンプリングして
マトリックスキーをいっぱい作る。


503 :名前は開発中のものです。:02/08/31 18:28 ID:???
行列をQuaternionに変換するやり方を知らんのか?

504 :名前は開発中のものです。:02/08/31 18:35 ID:???
x補完
o補間

MatrixKeyとはスケールと平行移動も込み?

505 :名前は開発中のものです。:02/08/31 23:33 ID:???
Xファイルから読み込んだメッシュのバウンディングボックスを
作るために、D3DXComputeBoundingBoxを使おうと思ったんですが
数値がおかしく、うまく作れません。
第一引数に渡す頂点データのバッファへのポインタってD3DXLoadMeshFromXの
第四引数じゃだめなんでしょうか?

506 :名前は開発中のものです。:02/08/31 23:47 ID:???
>>505
サンプルはLockしてそのポインタを渡しているから俺もそうしているが、
それ試して上手くいかなかったらソースの一部を書いてくれ。

507 :名前は開発中のものです。:02/09/01 15:06 ID:xIdjFJT5
>>503
やって見たんですがスケールが変になります。
うまくやる方法ないでしょうか。

キーフレームが細かければ全メンバの線形補間の方が再現性たかいです・・・
m._11 = lerp( t, m1._11, m2._11);
m._12 = lerp( t, m1._12, m2._12);
m._13 = lerp( t, m1._13, m2._13);
m._14 = lerp( t, m1._14, m2._14);
m._21 = lerp( t, m1._21, m2._21);
m._22 = lerp( t, m1._22, m2._22);
・・・・

508 :オレー ◆Kvyv1OZU :02/09/01 16:07 ID:???
>507
マトリクス→クォータにオン→D3DXQuaternionSlerp→マトリクス
じゃ駄目なのか?

509 :507:02/09/01 16:16 ID:???
こうやってます・・・
 D3DXVECTOR3 pos;
 D3DXQUATERNION q, q1, q2;
 D3DXMATRIX r, t;
 D3DXVec3Lerp(&pos, (const VEC3*)&m_pMatrixKeys[dwp2].mat._41,
   (const VEC3*)&m_pMatrixKeys[dwp3].mat._41, fLerpValue);
 D3DXQuaternionRotationMatrix(&q1, &m_pMatrixKeys[dwp2]);
 D3DXQuaternionRotationMatrix(&q2, &m_pMatrixKeys[dwp3]);
 D3DXQuaternionSlerp(&q, &q1, &q2, fLerpValue);
 D3DXMatrixRotationQuaternion(&r, &q);
 D3DXMatrixTranslation(&t, p.x, p.y, p.z);
 pframeToAnimate->matRot = r * t;

510 :名前は開発中のものです。:02/09/02 01:57 ID:5xwxSg5f
Directx8を使っています。
Zバッファを有効にしながらアルファチャンネル(カラーキー)で抜けを作ったポリゴンの
描画はどうすれば良いのでしょうか?
今は、抜けの部分にもzバッファが適用されてしまいます。

511 :名前は開発中のものです。:02/09/02 02:07 ID:???
>>510
一般的には、アルファテストで抜けの部分を描画しないようにする。

アルファの微妙な濃度が重要な場合は、どこまでやるかによる。
Z書き込みなしで オブジェクト単位/ポリゴン単位 でZソートとか。


512 :510:02/09/02 02:23 ID:???
>>511
ありがとうございます。
アルファテストでD3DCMP_GREATERを設定することで解決しました。


513 :名前は開発中のものです。:02/09/02 09:15 ID:???
一般的、ねぇ。。。

514 :名前は開発中のものです。:02/09/02 09:46 ID:???
Dx8以降なら一般的と言えそう

515 :510:02/09/02 11:13 ID:???
>>513
他にも方法があるのでしたら教えてくれないでしょうか?

516 :名前は開発中のものです。:02/09/02 21:28 ID:???
箱の中に水を張って水面の反射と屈折をシミュレートするプログラムを作成しています。
水面にマルチテクスチャで反射と屈折のテクスチャを合成して張っています。

で、反射はキューブマップを使って求めているのですが、屈折の描画方法で詰まっています。
屈折したベクトルと箱の交点を求めることでテクスチャ座標は求まるのですが、
箱の底面で交わるとは限らず、側面と交わることもあります。また、水中に物体を沈めた場合、
その物体と交わる場合もあります。

そういうような底面以外で交わった場合には、底面のテクスチャだけではどうしようもなくなってしまうのですが、
どうすればいいのでしょうか?

517 :名前は開発中のものです。:02/09/02 22:06 ID:???
>>516
で、何の市販ゲー?
タイトル教えてよ。

518 :名前は開発中のものです。:02/09/02 23:26 ID:???
水中に物体を沈めるとキビシイけど
底面と側面だけならなんとかなりそうな気がするよ

519 :名前は開発中のものです。:02/09/03 00:54 ID:???
PixelShaderが動いてくれません。誰か教えてください。
D3DCapsで確認してPixelShader1.0未満だったので
D3DDeviceはSOFTWAREで初期化しました。
カードはGeForce2GTS
OSはWinXP Pro ,DirectX8.0SDK
鬱です。オナガイします

520 :名前は開発中のものです。:02/09/03 00:58 ID:???
SOFTWAREで初期化ってなんだ?
SoftwareVertexProcessingの事?
HEL(REF)の事?

521 :名前は開発中のものです。:02/09/03 01:06 ID:???
>520
長かったので勝手に省略しました(^^;
SOFTWARE = SoftwareVertexProcessing

現在はこんな感じで初期化です
pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL,hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING, ...


522 :名前は開発中のものです。:02/09/03 01:12 ID:???
リファレンスラスタライザでやってみろ
つか、GF2なんて糞カード捨てろ

523 :名前は開発中のものです。:02/09/03 01:20 ID:???
...
D3DDEVTYPE_REF,hWnd,
D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_PUREDEVICE, ...
でも動かないし、
サンプルであるMFCPixelShaderでも真っ黒のまま動かない、、
あきらめてGF2からRadeon9000に変えますw

524 :名前は開発中のものです。:02/09/03 01:43 ID:???
>>516
水中の物体は自力で屈折線が物体と交わってるか調べるしかないんじゃないかなぁ…。

壁の方は、屈折線が壁にぶつかったら、底面を延長させた平面にぶつかるまで延長させて、
そこに対応するテクスチャを貼る感じになるんじゃないだろうか。
これはGemsにもやり方が載っているので参考にしてみるといいかも。。

525 :524:02/09/03 01:47 ID:???
あ、つまり屈折用のテクスチャは1枚だけでよい、ってことです。
回って漢字の内外正方形の四隅を繋いだ感じなんだけど分かりますかね

526 :524:02/09/03 01:58 ID:???
>壁の方は、屈折線が壁にぶつかったら、底面を延長させた平面にぶつかるまで延長させて、

意味不明な日本語ですた(汗

屈折線が壁にぶつかっても、
延長させた底面と延長させた屈折線の交点を求めるってことです
その交点のテクスチャ座標に壁のテクスチャ座標の画像を貼るわけですな

自己レスでスレ汚してしまってスマン

527 :名前は開発中のものです。:02/09/03 04:22 ID:???
変な現象に困ってます
なぜかD3DXFONTの描画をやめるとアプリが劇重になります
lpFont->DrawText("test", -1, &rc, DT_NOCLIP, D3DCOLOR_RGBA(255,255,255,255));
↑をコメントアウトすると40〜50秒くらい固まって、その後終了キーの入力を受け取って、
終了するといった具合です
固まっている間は、カーソルもほとんど動きません(動いてもかくかく)
デバイスの作成や、レンダリングステートなどいろいろいじってみましたが、どうもフォントが原因のようなのです
DX8.1,Win2Kです(WinMeだと起こらなかったです)
どなたかこんな現象に遭遇された方いますか?

528 :名前は開発中のものです。:02/09/03 08:12 ID:???
>>509
俺は行列の補間やったことないから自信ないけど、それスケーリングどう見ても無視してない?
最初は遅くなってもいいから、行列を一旦スケール、回転、移動の3つに分解してみては…。
速度の最適化は動いてからでもいいですから。

>>508
オレーたん発見ー… 明らかにスレ違いですがレースゲー頑張ってください。
あそこのスレでは書き込むと自演っぽく見えるので(汗

529 :528:02/09/03 08:17 ID:???
今書いてて思ったんだが、行列を全てアフィン変換へ分解できるのなら、
ロード時に拡大回転移動の3つのキーへ変換してしまえば、
SetTimeのMatrixKeyの補間は不必要なのかな? これって間違ってる?

530 :516:02/09/03 11:25 ID:???
>>524
レスどうもです。
底面と側面を一枚のテクスチャで扱うわけですね。
なんとなく側面の水面の上と下の部分を上手く合わすのが大変そうな
気がしたりもするんですが、なるほどやってみます。

531 :名前は開発中のものです。:02/09/03 13:37 ID:eoJAGzi4
DirectAudioで普通にwavを再生すると、
自動的にストリーミング再生にしてくれるようなのですが、
このあたりの設定ってどこで指定するのでしょうか?
バッファサイズとかの設定はDirectSound使わないとだめ?
LoaderさえあればDSound使うのですが。DSUTILってのもありますがね。

532 :名前は開発中のものです。:02/09/03 15:55 ID:???
>>531
パフォーマンスのバッファ管理に何か不満があるの?
何故バッファサイズを設定したいのか教えて欲しいかも。

もしDirectSoundで再生するにしても、WAVE FORMATは簡単だから読み込みは楽だ。
ただ、このスレのちょっと前にもあったように、
今更DirectSoundを使う必要性もないんじゃないかと思う。

533 :名前は開発中のものです。:02/09/03 17:00 ID:???
>532
特に不満はないんですけどね。
ストリーミングか否かを明確にできればいいかなぁと。内部ではそんな区別は無いのかな?

ところでボリュームを個々に設定するのにAudioPathをそれぞれ作るのでいいのですかね。
セグメントとAudioPathは一まとめに扱うか。。。むずいな。。。

534 :名前は開発中のものです。:02/09/03 17:57 ID:???
>>533
不満がないならDXAudioでいいと思う。
折角内部を隠蔽してくれてるんだし深く追求しなくても…

ちなみにDXAudioではIPersistStreamあたりでデータ転送の仲介をしてるはず。
結局どんなデータでもストリーミングになるんでない?
MSのDirectX開発ページんとこにカスタムローディングの説明があるから見てみるべし。
ヘルプにも載ってるかも… よく見てないけど。

AudioPathも、LoadObjectFromFileとセットでCreateAudioPathするだけだし。
それほど難しくないと思う。

535 :516:02/09/03 18:18 ID:???
>>524
やってみますた。
この方法、あらかじめ陰のかかったテクスチャ用意しないとダメっぽいっすね…
あと水面の上下で箱の角がうまいこと一致しないっす。
これは俺のテクスチャ座標の求め方間違ってるからなのかな。見直そう。

536 :名前は開発中のものです。:02/09/03 18:22 ID:???
>533
難しいのはいろんな概念が一気に出てきたためで、扱いは簡単ですね。
詳しい解説どうもです

537 :524:02/09/03 21:33 ID:???
>>535
確かに水面の近くでテクスチャがずれそうですな。
この辺どうなってるのかは俺もよく分からんです… 役立たずでごめん。

陰についてはDXならシェーダで何とかならんかなぁ。
底面にぶつかった座標値からだせそうな気も…
これまたシェーダやり始めたばかりでよくわからんです(涙

538 :名前は開発中のものです。:02/09/04 02:50 ID:xIbAbvD0
Directx8で質問です。
ラグナロクオンラインのように背景ポリゴン、キャラ2Dみたいにする場合、
2Dキャラ表示用のマトリクスはどう作ればよいのでしょうか?


539 :名前は開発中のものです。:02/09/04 03:43 ID:???
一般的ビルボード行列は、
_11〜_34まで逆ビュー行列。_41からはx,y,z,1

でも俺は 「地面に立っている、少し奥側に傾いた板」を使い、行列は
普通でやってます。理由は
頭が地形にめり込むのを抑制するためと、
多少パース付かないと味気ないから。

足のつま先が地面にめり込むのを抑制するためには
ビルボードをカメラ方向にわずかに近づけてる。
転置ビュー行列の_31,_32,_33をある割合でx,y,zから引く。

はっきりいってビルボードはうんざり。
次のプロジェクトからは使いたくない。

540 :539:02/09/04 03:44 ID:???
あくまでビルボードがメインのゲームってことね

541 :538:02/09/04 04:13 ID:???
>>539
>>_11〜_34まで逆ビュー行列。_41からはx,y,z,1
できました。ありがとうございます。

>足のつま先が地面にめり込むのを抑制するためには
>ビルボードをカメラ方向にわずかに近づけてる。
>転置ビュー行列の_31,_32,_33をある割合でx,y,zから引く。
めりこみの抑止ですが、Z値をコントロールすることで回避は
できないのでしょうか?





542 :名前は開発中のものです。:02/09/04 04:29 ID:???
>>541
D3DRS_ZBIAS だけど
どれくらいの効果かはやってみないとわからん

543 :名前は開発中のものです。:02/09/04 04:30 ID:???
ZBIASって効果ないよ。同一平面の前後(壁と弾痕とか)位しか効果がない

544 :名前は開発中のものです。:02/09/04 05:37 ID:???
最近D3Dやって思うんだけどOpenGLの方がクウォリティー高くない?

545 :名前は開発中のものです。:02/09/04 05:52 ID:???
>>最近D3Dやって思うんだけどOpenGLの方がクウォリティー高くない?
いまいち抽象的すぎて言いたいこと分からんが、
今となってはドライバの対応状況の万全さでD3Dかな。

結局ね、ゲーム屋に言わせればAPI(インターフェイス)なんて
なんだっていいのよ。どうせラップせねばならぬし。


546 :名前は開発中のものです。:02/09/04 07:12 ID:???
>>544
動作環境が広い面ではOpenGLだが結局は545の通り。
英語圏ではOpenGLでゲーム製作は多いし、
使えるライブラリではこっちの方が多いかな?
OpenGLのメジャー作といえばQuake3

547 :名前は開発中のものです。:02/09/04 12:59 ID:???
ID3DXSprite::Begin
ID3DXSprite::Draw
ID3DXSprite::END

この流れでスプライトを表示しようとすると、表示できませんでした。

IDirect3DDevice8::BeginScene
ID3DXSprite::Begin
ID3DXSprite::Draw
ID3DXSprite::END
IDirect3DDevice8::EndScene

こうしてやるとスプライトを表示できました。
でも前者のやり方でスプライトを表示できている人もいる
みたいなんですが、うちの環境が変なんでしょうか?
ソフトはVC.NETで、OSはWin2k、
DirectX SDK のバージョンは8.1なんですけど。

548 :名前は開発中のものです。:02/09/04 17:56 ID:???
>>547
ID3DXSpriteの説明に、ID3DXSprite::BeginはIDirect3DDevice8::BeginSceneの代わりには使えないと書いてある。
もしそうやってるソフトウェアがあったとしてもそんなの気にしない。SDKのとおりにしる


549 :名前は開発中のものです。:02/09/04 19:10 ID:???
>>548
自分のPCがおかしいのかという不安が解消されました。
ありがとうございます。

550 :名前は開発中のものです。:02/09/05 01:31 ID:/DOtiz09
ビルボードで貼り付ける画像の解像度は描画速度に関係してくるのでしょうか?
例えば16×16の画像を2倍に拡大した場合と32×32の画像をそのまま使用した場合で
解像度が低い方が描画が早かったりするんでしょうか?

551 :名前は開発中のものです。:02/09/05 08:30 ID:???
>>550
理屈ではもちろんそうだが、その例では目に見える違いがでないかもしれない。
テクスチャ転送量全体を考えてみるべし。
むやみに低解像度にして画面がしょぼくなったら損だよ

552 :名前は開発中のものです。:02/09/05 15:24 ID:XAnwUSlO
だれかOgg Vorbis形式の再生方法教えて!
ov_openするとアクセス違反になる..なぜじゃー(>_<)

553 :名前は開発中のものです。:02/09/05 15:36 ID:???
>>552
もしかしてDLLのプロジェクトで作ってたりする?
俺も前にやったんだけど同じところでアクセス違反になって不思議だったんだが…
違ったらごめん。ちなみに解決策はコード生成でDLL(マルチスレッド)だ。
なんでそれで動くかはわからん(ぉ

554 :名前は開発中のものです。:02/09/05 15:40 ID:XAnwUSlO
>>553
うおぉぉーーー!あなたは神様です(T-T)
マジでそれでうまく行きました(^^)
ありがとうっす♪

555 :名前は開発中のものです。:02/09/05 18:31 ID:???
>>554
まさか本当にDLLで作っていたとは(笑 まぁ、解決してよかった。
それにしてもOgg Vorbisは本当にいいな。
再生するだけなら扱いも楽だし。ライセンス料かかるMP3は消えてよし。

556 :名前は開発中のものです。:02/09/06 01:43 ID:3M9KUq9c
DirectX7から8へ乗り換え中です。
SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
7のときはこんな感じでアルファブレンドができたのですが、8だと
ただの抜けあり描画になってしまいます。
テクスチャはBMPでカラーキーを使用しています。
他になにか設定が必要なのでしょうか?

557 :名前は開発中のものです。:02/09/06 01:48 ID:???
>>556
試しに↓も入れてみてくれ

SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);


558 :名前は開発中のものです。:02/09/06 01:48 ID:???
SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
もな

559 :名前は開発中のものです。:02/09/06 01:55 ID:???
>>556
8からカラーキーの使用は無くなった筈だが…
TGA若しくはDDSでアルファ情報があるテクスチャを使うんじゃ?
因みにDDSはSDKのUtilitiesのTextureToolで作れるよ。

560 :556:02/09/06 02:19 ID:3M9KUq9c
>>557
入れてみましたが駄目でした。
SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
これも入ってます。
SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ONE);
SetRenderState(D3DRS_DESTBLEND,D3DBLEND_ONE);
この設定で加算はできています。
>>559
7にあったカラーキーが無くなって今までアルファブレンドだった
設定でカラーキーが使えるようになったと解釈して良いですか?
今までのアルファブレンドはどこに?
TGAのアルファプレーンは反映されるのですが、それだとプログラム側で
アルファ値をコントロールできないので、頂点アルファあたりを使って
アルファブレンドをやりたいのです。なにか良い方法ないでしょうか?


561 :名前は開発中のものです。:02/09/06 02:25 ID:KmTxppnE
なあ、テクスチャの方はαを設定したのか?

562 :556:02/09/06 02:29 ID:3M9KUq9c
>>561
テクスチャのアルファって?

563 :名前は開発中のものです。:02/09/06 02:29 ID:KmTxppnE
SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_BLENDDIFFUSEALPHA );
これやらないとテクスチャはαブレンドにならないけど、
こういう話とは違う?>>560


564 :556:02/09/06 02:54 ID:3M9KUq9c
すいません。この設定が効いてませんでした。
SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
ちゃんと出るようになりました。カラーキーの部分の抜けを適用したまま
半透明レートを頂点カラーでコントロールできます。
答えてくださったみなさんありがとうございましました。



565 :名前は開発中のものです。:02/09/06 02:56 ID:KmTxppnE
良かったね。おめでたう。

566 :名前は開発中のものです。:02/09/06 03:02 ID:NU3TRrfk
凄く初歩的な質問なんですが。
床などにテクスチャを貼る場合、
テクスチャの画像を大きくして並べる数を少なくするのと、
テクスチャの画像を小さくして並べる数を増やすのではどっちが軽いんでしょうか?

567 :名前は開発中のものです。:02/09/06 03:05 ID:???
速度的には同じ。
メモリ的には小さい方が軽い。

568 :名前は開発中のものです。:02/09/06 03:06 ID:???
テクスチャの画像を大きくして並べる数を少なくするのは歪みが生じない?
今のDirectXは平気になったんか?

569 :名前は開発中のものです。:02/09/06 03:14 ID:???
昔のソフトでよくあった、テクスチャの繋ぎ目に隙間が開いてしまう現象
はなんだったんだろう?

今でもコントロールパネルから調整できるよねぇ?

570 :名前は開発中のものです。:02/09/06 03:26 ID:m11JpBjY
ありがとうございます。
画像を小さくして並べる数を増やす方が良いのですね。
参考になりました。


571 :名前は開発中のものです。:02/09/06 03:31 ID:???
テクスチャ繋ぎ目のすきま。
プログラマが固定小数点信者だったからとかない?(憶測

572 :名前は開発中のものです。:02/09/06 03:37 ID:???
おいおい、ポリ数が多くなりすぎて逆に遅くなるだろ

573 :名前は開発中のものです。:02/09/06 03:51 ID:???
面がでかすぎるとライティングも困る

574 :名前は開発中のものです。:02/09/06 03:58 ID:???
その辺のバラス取りが泣ける。性能UPによって変わっていくし…

575 :名前は開発中のものです。:02/09/06 04:30 ID:???
Gx00系は画面真っ暗。表示されず。

576 :名前は開発中のものです。:02/09/06 04:49 ID:???
Gx00系ってMatroxのアレのことと今知った

577 :名前は開発中のものです。:02/09/06 05:05 ID:???
>>575
Gx00系で何をすると画面真っ暗なんだ。大丈夫なのかお前。

578 :名前は開発中のものです。:02/09/06 05:10 ID:???
Gx00系って、、、G4x0以外は使えねぇだろ…g200とか

579 :名前は開発中のものです。:02/09/06 05:16 ID:???
G400もつかえねーけどな
450は氏欄

580 :名前は開発中のものです。:02/09/06 05:17 ID:???
G400はバンプマップで地球儀だせるよ。それ以上は無理

581 :名前は開発中のものです。:02/09/06 05:24 ID:???
>>579
どうでもいいが、つかえねー理由ぐらい書いとけよ。

582 :名前は開発中のものです。:02/09/06 05:25 ID:???
抜き色がおかしくなる

583 :名前は開発中のものです。:02/09/06 05:31 ID:???
俺はGeForce4Tiが現役マシンだが、G400も過去に使ってた。
具体的にDirect3Dの何を使ったら抜き色が変になったかを
書けば対策方法を教えるが?

584 :名前は開発中のものです。:02/09/06 05:43 ID:???
>>579=>>582
>抜き色がおかしくなる

なぜ抽象的な表現を使う。
具体的に書いてみ。
何をしたら抜き色が変になったんだ。

585 :名前は開発中のものです。:02/09/06 05:58 ID:???
つーか
○×のビデオチップが使えねーとかどうだとか
そういう話以前の問題だろ。

586 :名前は開発中のものです。:02/09/06 06:44 ID:???
RenderState設定をいい加減にしてるだけだろ

587 :名前は開発中のものです。:02/09/06 11:26 ID:2HBzLxJN
Gx00だと半透明の出具合が違うな。
GeForce系やRADEONでは大丈夫な設定でも。
なにか設定抜けてるのかな。

588 :名前は開発中のものです。:02/09/06 15:51 ID:f2V/Iqy/
Ogg vorbisの曲データからPCMデータを抜き出して
DirectSoundに渡して再生するサンプルを誰か作ってー

589 :名前は開発中のものです。:02/09/06 15:57 ID:???
すごいクレクレ君だな。

590 :名前は開発中のものです。:02/09/06 16:59 ID:???
>>588
1)OggVorbisをWAVEファイルへ変換するソフトを作る
2)WAVEをDirectSoundで再生するソフトを作る

1はOggVorbisのSDKに九割方は同じのがあるし、2なんてWeb探せばどこにでもあるだろう?
しかも両方とも100行以内でかけるような簡単なものだ。
1と2ができるなら一緒にしてできないなんてことはありえまい。少しは自力でやってみ。

591 :531:02/09/06 17:13 ID:???
DirectMusicのSetVolume×10パス分を毎フレーム呼んだら死んだ。
なんじゃコリャ。激重い。
やっぱゲームの効果音にはDirectSoundなの?

592 :名前は開発中のものです。:02/09/06 18:15 ID:???
>>591
もしかしてSetVolumeって自動でフェードっぽいことしてくれないかなぁ?
ちとわからないんだけど、英語ヘルプにどうもそれっぽいことが書いてある気が…
dwDulationに与える値を設定してみてちょ

593 :592:02/09/06 19:08 ID:???
>>591
今実験してみたけど、DirectMusicって自動フェードしてくれるみたいよ。
やっぱDirectMusicマンセーだな(w


594 :名前は開発中のものです。:02/09/06 19:55 ID:???
う〜ん。フェードっつっても超非線形なのでやっぱ毎フレーム指定したいかも。
既にインターフェースそのままでDSoundにごっぞり鞍替え中。
でも自動でフェードしてくれるのは知らなかった。サンクスコ

595 :名前は開発中のものです。:02/09/06 20:36 ID:???
PerformanceのInitAudioでDirectSoundのインターフェイスをとれば、
DMusicとDSoundを共存させられる気も。

596 :名前は開発中のものです。:02/09/06 22:43 ID:/3OZCZxa
DirecDrawで、オフスクリーンサーフェスにTGA形式の画像を読み込みたいんだけど
これって自前でTGA解釈するしか方法ないのかな?
(バイナリとして読み込んでヘッダフッタ削ってDIBにするとかみたいな)

・・・今更DirectDrawとかいうな

597 :名前は開発中のものです。:02/09/06 23:19 ID:???
>>596
海外のその手のサイトに行けば腐るほどそういうライブラリが
転がってるんでないの

598 :名前は開発中のものです。:02/09/06 23:27 ID:/3OZCZxa
ごめん、ぐぐってたら考えが変わってきた

DirectX8.0SDKからDirectDraw弄る際のリファレンスってどこにありますか?
手持ちの日本語ヘルプファイルには無かった・・・

599 :531:02/09/06 23:27 ID:???
鞍替え完了。サクッとFPSキープ。
DSUtilを読んでたら、publicメンバのGet関数を発見した。

>>595
DirectMusicは規模がでかいのであんまり関わりあいたくないかも。
waveしか使わなかったらDSoundのみもありですな。

600 :名前は開発中のものです。:02/09/06 23:31 ID:???
>>598
ない。DX7のヘルプはMicrosoftのサイトに置いてあるからそれをDLしる

601 :名前は開発中のものです。:02/09/06 23:42 ID:???
>600
すいません
ddutil.h読んでたら謎が解けました

ごきげんよう

602 :名前は開発中のものです。:02/09/07 00:24 ID:iRBKvDit
IRC/opennap
http://opennap.scenecritique.com

603 :名前は開発中のものです。:02/09/07 07:36 ID:???
DirectXに何の関係が?

604 :名前は開発中のものです。:02/09/07 08:16 ID:???
DirectX9beta

605 :名前は開発中のものです。:02/09/09 03:59 ID:oCHjDl9e
とりあえず、待ちきれないやつは後藤たんの記事でハァハァしとけ

■【9/6】DirectX 9のスーパーセットとなるNV30
http://www.watch.impress.co.jp/pc/docs/2002/0906/kaigai01.htm
■【9/5】DirectX 9世代のGPU戦略〜0.13μmに賭けるNVIDIA
http://www.watch.impress.co.jp/pc/docs/2002/0905/kaigai01.htm

606 :名前は開発中のものです。:02/09/09 11:58 ID:LhGt96LR
Ogg Vorbisって1回全部読み込んでPCMデータにしてからじゃないと
再生できないのかなぁ??(ov_readを全データ分,前処理でするって事)
それとも手作業で別スレッド作って読み込みつつ再生しないといけないの?
MCIみたいに自動的に別スレッドで読み込みつつ再生してくれる方法ってないの?
どなたか知ってたら教えてくださいm(__)m

607 :名前は開発中のものです。:02/09/09 12:23 ID:???
>>606
すれ違い。
それにストリーミング再生くらい自分で作れないと駄目。
しかもOggVorbisに限った話じゃないし。

608 :名前は開発中のものです。:02/09/09 22:13 ID:???
リアルタイムアクションゲーのBGMってことで
DirectSound + OggVorbisで64bpsの曲を流したら、
数秒に1回、一瞬ラグ入るんですが、みんなもそう?
やはり重いのかな。
CPUはP4 1.7G です。

609 :名前は開発中のものです。:02/09/09 22:26 ID:???
>>608
BGM切ると正常になるならOggVorbisのせいかもしれないが、
OggVorbisのデコードの仕方に問題がある可能性も否定できない。
うちでもOggVorbis使ってるが固まることがないから。

610 :名前は開発中のものです。:02/09/10 07:41 ID:???
>>609
バッファがでか過ぎたようでした。500kありました。
十分小さくしたら問題なくなりました(16kでも行けた)

611 :名前は開発中のものです。:02/09/11 01:56 ID:???
半日悩んだんだけど、どうしてもわからない・・・
DirectX8.0SDK+BCC5.5.1+ttp://www.geocities.com/foetschのBorland用Libファイルで
自作のD3Dラッパーが動かない・・・(コンパイルは通る)

ちなみにチュートリアルはコンパイルできて、期待通りの振る舞いをします
ランタイムのバージョンは8.1です

チュートリアルとほとんど変わらない事をやってるはずなのに
ログ見たところCreateDeviceでInvalidCallが返ってくるです

以下にソースを晒しますので、お暇な方はちょっと見てやってください

http://naha.cool.ne.jp/lichterlo/myd3d.h.txt
http://naha.cool.ne.jp/lichterlo/myd3d.cpp.txt

612 :611:02/09/11 02:23 ID:6aqmQWZz
age忘れゴメソ

613 :名前は開発中のものです。:02/09/11 03:33 ID:???
>>611
コンパネ→DirectX→Direct3D で Use Debug Version にして
デバッガで走らせると、アドバイス的なメッセージもガンガンでてくるぞ

614 :名前は開発中のものです。:02/09/11 03:36 ID:???
デバッグメッセージを受け取れる状態で実行しないと効果がない罠

615 :名前は開発中のものです。:02/09/11 04:03 ID:???
デバッガで走らせると、と書かれてあるように見えるが

616 :名前は開発中のものです。:02/09/11 05:13 ID:QUS9ooCg
>611
ハードウェアアクセラレータ最大 になってる?


617 :611:02/09/11 06:07 ID:???
>613
デバッグバージョンのランタイム持ってなかったのでDL中です
アドバイスthx

>616
環境はPenIV1.8GHz512MB
GeForce4Ti4200DDR128MBと申し分ない雰囲気です

618 :611:02/09/11 06:59 ID:???
デバッグ用ランタイムで走らせてみたら
「指定されたウィンドウはフォーカスを受け取れない」
・・・

えぇ、ウィンドウもラッパークラス作ってたんですが
メンバじゃなくて関数ローカルのHWNDでCreateしてました・・・

はずかしー

619 :名前は開発中のものです。:02/09/11 12:16 ID:???
ヤレヤレだぜ。

620 :名前は開発中のものです。:02/09/11 22:17 ID:RNHebZSv
DirextX8.1のIDirect3D8::CreateDeviceに渡す構造体の
D3DPRESENT_PARAMETERSのFullScreen_RefreshRateInHzに
D3DPRESENT_RATE_DEFAULTとか
D3DPRESENT_RATE_UNLIMITEDを設定してデバイスを作成した時
設定されたリフレッシュレートを知りたい場合はどうすればいいんですか?


621 :名前は開発中のものです。:02/09/11 23:02 ID:???
>>620
http://www.microsoft.com/japan/developer/library/jpdx8_c/_dx_idirect3d8_getadapterdisplaymode_graphics.htm
これ使っちゃダメ?
でもデフォルトだと0が取得できちゃったりする罠。

622 :名前は開発中のものです。:02/09/11 23:09 ID:???
>>650
http://www.microsoft.com/japan/developer/library/jpdx8_c/_dx_idirect3ddevice8_getdisplaymode_graphics.htm

あ、こういうメンバ関数もあるんだ…。
でもデフォルトの0はD3DDISPLAYMODE型の仕様で定められてるっぽいので
それを確実に回避してリフレッシュモードを調べようと思ったら、
単位時間内のフリップ回数を数えるのがベストかなぁ…。

623 :名前は開発中のものです。:02/09/11 23:52 ID:???
Visual C#とDXVBLib(Direct X 7.0 for Visual Basic)で簡単なチャットをつくろうと思っています。
DirectPlayのReceiveでDirectPlay4のQueryInterfaceに失敗しました。
というエラーメッセージが出ます。
エラーメッセージの意味がわかりません。
解決方法とかってあるんでしょうか。

624 :名前は開発中のものです。:02/09/12 00:03 ID:???
Visual C#とDXVBLib(Direct X 7.0 for Visual Basic)
~~~~~~~~~~                  ~~~~~~~~~~~~~
1行目の時点で何か失敗しそうな予感がするのは私だけなのでしょうか…?

625 :名前は開発中のものです。:02/09/12 00:09 ID:???
レスありがとうございます。
Visual C#でDirect Xを使おうとすると
DXVBLib(Direct X7.0 for Visual Basic)ぐらいしか見当たらなかったので
今はDXVBLibを使っています。
DXVBLibはComコンポーネントなので、
どの言語でも利用可能かと、、、
それと今のところは上以外不具合はありません。
よろしくお願いします。

626 :名前は開発中のものです。:02/09/12 00:22 ID:xMICRC4q
>>621-622
うーんやっぱりデフォルトのときに0が戻ってくるのが困りますね
マイ黒ソフトの考えることはよーわかりません
可変FPSはあきらめて60固定でするしかないのかな?

どうもありがとうございました

627 :名前は開発中のものです。:02/09/12 00:24 ID:???
ハァ?
可変FPSについて誤解してないか?
普通はフレーム処理にかかった時間を記憶して調整するだろ

628 :名前は開発中のものです。:02/09/12 00:45 ID:???
液晶のリフレッシュレートってどうなってるの?

629 :名前は開発中のものです。:02/09/12 01:53 ID:???
液晶ベンダー次第

630 :名前は開発中のものです。:02/09/14 10:16 ID:???
日本語マニュアルって8.1のはないの?

631 :名前は開発中のものです。:02/09/14 12:34 ID:???
>>630 MSDN内にあるよ。

632 :名前は開発中のものです。:02/09/14 14:53 ID:???
ないよ

633 :名前は開発中のものです。:02/09/14 18:32 ID:???
フルスクリーン<->ウィンドウの切り替えって
IDirect3D8::CreateDeviceで対応したデバイスを作り直すって事でいいのかな・・・

634 :名前は開発中のものです。:02/09/14 19:21 ID:???
>>633
renda- sute-to de risetto

635 :名前は開発中のものです。:02/09/14 19:22 ID:???
まちがい
プレゼントパラメータ設定してリセット
あーはずかし・・

636 :633:02/09/14 23:21 ID:???
リファレンス見ました
テクスチャとか全部破棄してIDirect3DDevice8::Resetするんですね
ありがとう

637 :名前は開発中のものです。:02/09/15 00:27 ID:???
D3DPOOL_MANAGEDにしとけば破棄しなくても済む?

638 :名前は開発中のものです。:02/09/15 01:30 ID:???
>>637
うん。
でもD3DXSPRITEとかあのへんのは破棄するしかないので諦めてやるしかない。

639 :名前は開発中のものです。:02/09/15 10:12 ID:???
>D3DXSPRITE
使う必要性が見あたらないので、使わなければ良いだけでは?

640 :名前は開発中のものです。:02/09/15 10:40 ID:???
ターゲットが WindowsXP なので
mciSendCommand , mciSendString の代わりにDIRECTSOUND で
音を出す必要が出てきました。
(NT4で動いたプログラムが動かんとは…)

そこで mciSendString("play hogehoge notify", NULL, 0, hWnd);
のように実行が終わったら特定のウィンドウにメッセージを
送るための仕組みはあるのでしょうか?

なかったら別スレッドを立ててそういうルーチンを組まないといけないのでしょうか?

641 :名前は開発中のものです。:02/09/15 10:45 ID:???
>>640
DirectX7のヘルプだとチュートリアルの中に「再生の通知の処理」という項目があるけど。

642 :640:02/09/15 18:00 ID:???
わかりました。もちっとDirectXのサンプルソースをなめまわしてみます。

643 :名前は開発中のものです。:02/09/17 08:49 ID:???
>>640
うちでは、mciで普通に動いているけれど・・

644 :名前は開発中のものです。:02/09/17 09:43 ID:???
時々TRIANGLESTRIPはパフォーマンスがいいからそっち使おうって話を聞きますけど、
実際のところTRIANGLELISTなんかよりもよかったりするんですか?

例えばハイトフィールドをDrawIndexedPrimitiveで描画するとして、
TRIANGLELISTなら一発で描画できるけど、
TRIANGLESTRIPでは帯を何度か描画しなきゃならないっすよね。

COM呼び出し回数を減らすのも十分な高速化だと思うんですが…

645 :名前は開発中のものです。:02/09/17 12:08 ID:???
原則的にはそう。
ただしご指摘の通りDrwPrimitiveのオーバーヘッドが大きいのでDirectXでは効果が薄い
(OpenGLなんかは早いよ)

市販ゲーなら必須かもしれんが、趣味プロなら要らないかも
まぁそーいったチューンを楽しむのも趣味プロの一環だろうけど


646 :644:02/09/17 16:13 ID:???
>>645
オーバーヘッド考慮しなければ高速なんですね。
Strip化とDrawPrimitiveの回数減らすのって全く逆になりそうだし、
実際どちらがいいのか不思議で仕方なかったんですがスッキリしました。
ありがとうございます〜

647 :名前は開発中のものです。:02/09/17 16:23 ID:???
3角形を書くのには3頂点必要だけど、ストリップなら+1頂点で三角形が書けてしまう
100個の三角形書くのに listなら 300頂点、stripなら99+3頂点。役1/3

後オーバーヘッドだけじゃなくて、最近のビデオカードは頂点キャッシュがあるので、キャッシュヒットすれば
演算が省かれるので差がつきにくいつーのもありかと



648 :名前は開発中のものです。:02/09/17 21:35 ID:???
皆さんはSetTextureStageStateとかSetRenderStateとかでステータスを変えて描画した後どうしてますか?
変える前のステータスはGetで保存しておいて、終わったら全部復元みたいな感じなんですかねぇ
書き換えたステータスが他のところで影響したりしてしまって結構面倒。。

Direct3Dにレンダーステートのスタック機構が整ってるとうれしいとか思う今日この頃

649 :名前は開発中のものです。:02/09/17 21:48 ID:???
COM呼び出しってそんなにオーバーヘッド無いぞ、
コストは普通の仮想関数呼び出しと変わらない。
DCOMはプロセス超えるからオーバーヘッドあるけど。

650 :名前は開発中のものです。:02/09/17 21:49 ID:???
んじゃ単に関数呼び出しが重いってだけ?

651 :名前は開発中のものです。:02/09/17 21:50 ID:???
>>648
スタックだとOOPと相性が良くない罠。
ステートマシンだからD3D8の様な形に出来たと思う。

652 :640:02/09/18 01:34 ID:???
>>643
うちではmp3の読み込みと再生を全部mciでやってたけど、
codecが腐ってたからどえりゃあ不安定で再生できたりできなかったりしたんですよ。

とりあえずwavに交換してその場はしのぎましたが、
ファイルサイズを小さくするのが至上命令なんで
mp3の再生をDIRECTSOUNDで行おうかと考えたんですよ。

653 :名前は開発中のものです。:02/09/18 02:56 ID:???
ライトマップ使ってるんでほとんど
ストリップになりません・・・
って俺だけかな。工夫が足らない?

654 :名前は開発中のものです。:02/09/18 03:58 ID:???
>>652
世の中にはOggVorbisという便利なものがありますよん。
圧縮率・音質ともに良好なので念のため考えてみるべし。


655 :名前は開発中のものです。:02/09/18 06:12 ID:???
>652
意表をついてMODという手もある
ttp://www.mars.dti.ne.jp/~odaki/mod/index.html
CからMOD再生DLL↓
ttp://www.un4seen.com/music/

ちなみに
Unreal TournamentがMODで
UT2003がOggVorbis

656 :名前は開発中のものです。:02/09/18 21:48 ID:???
>>647
インデックス使えばストリップ使う必要性が全くないと思うんだけど・・・

657 :名前は開発中のものです。:02/09/18 23:41 ID:???
結局、キャッシュヒットするようにIndex並べるつーのはStripに近いきがするけどね

SD-RAMからRIMM1066なって転送スピード10倍とかになったので
リファレンスラスタライザーもちっとは動くかと思ったら、やぱし全然駄目ですた
ソフトレンダのVirtualONはどうかと思ったら MMXに対応していません とかエラー出やがります
ショボーン


658 : :02/09/19 01:18 ID:???
Direct3Dのテクスチャの張り方で困っています。
地面にテクスチャをタイルのように並べてマップを表現しています。
一気に書けるように、256*256pixelのテクスチャを64*64単位のパーツを分けて
地面にペタペタ張っているのですが、
継ぎ目に隣のテクスチャが微妙に見えてしまいます。

頂点がpixelの中央になるようにuvを、例えば
(0.0 , 0.0)-(0.25 , 0.25)から
(0.0+0.5/256 , 0.0+0.5/256)-(0.25-0.5/256 , 0.25-0.5/256)
のように変更してもダメでした。(遠ざかるにつれ継ぎ目が見える)
ミップマップが効いているため、遠くのポリゴンでは
+0.5/256 でなく +0.5/128 等に変更しないとダメのようです。

どのようにすればこの問題を解消できるのか
教えていただきたいです。よろしくお願いします。

659 :名前は開発中のものです。:02/09/19 02:25 ID:???
超FAQ

660 :名前は開発中のものです。:02/09/19 17:36 ID:???
IDirectMusicSegment8::SetLoopPointsのmtStartとmtEndって
どんな数値入れればいいのでしょうか?
ms単位だと変な位置でリピートするのですが、教えてくださいお願いします。


661 :名前は開発中のものです。:02/09/19 19:45 ID:???
頂点キャッシュってDrawIndexedPrimitiveじゃないと意味ないよねえ・・・

662 :名前は開発中のものです。:02/09/19 20:03 ID:???
>>660
DirectMusicってms単位じゃなくてMIDIみたいなTick単位じゃなかった?
使ったことないから自信ないけどそうだった気がする

663 :名前は開発中のものです。:02/09/19 23:29 ID:???
Xファイルをオリジナルフォーマットにコンバートしたいのですが
IDirectXFileEnumObject::GetNextDataObject()が
DXFILEERR_PARSEERRORを返してwhileループから抜けてしまいます
↑はヘルプを見る限り返さないはずですが・・・
あとIDirectXFileData::GetType()でGUID拾ってくるのですが
これはCOMオブジェクトを作れと言ってるのですか?
ヘルプの
DirectXGraphics->高度なトピック->Xファイル->使い方->ロード
だけだと情報が少なすぎます
どうかご教授お願いします

プログラム版の方にも書いたんですが進行遅そうなので
こっちに書かせていただきましたごめんなさい


664 :名前は開発中のものです。:02/09/20 00:04 ID:???
>>660
何かキーが押されたらIDirectMusicPerformance8::GetTime()で
その時点のMUSIC_TIME拾ってそれをメモっといて
IDirectMusicSegment8::SetLoopPoints()
に渡せばいいんじゃないかな
8始めたばっかでAudioはやってないけど7の時はそれでできますた
漏れはXFileの解析で苦しんでるんですよ誰か教えて

665 :664:02/09/20 00:08 ID:???
そうそうMUSIC_TIMEはロードした時点から更新されるので
曲の位置=nowtime-starttimeだったっけ7は

666 :名前は開発中のものです。:02/09/20 00:08 ID:???
Xファイルの変換って、MSのルーチンを使うと大変だよな。
直接読んだ方がイイよ。

667 :663:02/09/20 00:10 ID:???
>>666
Xファイルのフォーマットはどこで調べられますか?

668 :名前は開発中のものです。:02/09/20 00:17 ID:???
>>667
ヘルプ読めよ・・・

669 :663:02/09/20 00:22 ID:???
>>668
ヘルプに書いてあるのは知ってましたが
たくさんあるテンプレートやトークン全て考慮して自力でやる方が
MSのルーチン使うよりも簡単なんですか?


670 :ヴァニラあいす ◆Af963Yl. :02/09/20 00:27 ID:???
>>663
.Xファイルは実は自前のルーチンも持っているんだけど、
今回はあえてD3DXライブラリを使って試してるとこ。

漏れも今いろいろ試してるので、何か分かったら書きます。
期待せずにまってて頂戴。
途中で投げ出しちゃったらごめんなさい。w


671 :名前は開発中のものです。:02/09/20 00:28 ID:???
>>669
不要な情報は読み捨てる。

672 :名前は開発中のものです。:02/09/20 00:28 ID:???
なんか言いがかりに近くなってきたな。
ここはゲ製だから、666はゲームが内部に持つローダーと仮定しているのだとおもう。
それならば対応すべきテンプレートなどたかが知れてる。それともツールでも作るのかね?

673 :663:02/09/20 00:34 ID:???
>>672
ローダーだったらD3DXCreateMesh()が簡単だからそれ使ってるけど

674 :671:02/09/20 00:36 ID:???
独自形式で必要な情報だけを、Xファイルから取ればいいのなら、
テンプレートなんてほとんど無視できると思うんだけど。
どーですかね?

675 :名前は開発中のものです。:02/09/20 00:38 ID:???
はぁ??

676 :663:02/09/20 00:39 ID:???
D3DXCreateMesh()->D3DXLoadMeshFromX()の間違い
>>674
テンプレートとかよく分かってないんで勉強が必要です

677 :675:02/09/20 00:39 ID:???
>>673

678 :名前は開発中のものです。:02/09/20 00:41 ID:???
もしやおまいら
スキンメッシュの分割自前でやっとるん?

679 :672:02/09/20 00:41 ID:???
俺がここで言ったローダーは解析部(パーサー)のことを指してるのですよ  >>676

680 :663:02/09/20 00:43 ID:???
>>674
最低限必要なデータは頂点、インデックス、マテリアルですが・・・

681 :名前は開発中のものです。:02/09/20 00:46 ID:???
>>663
んで、何を質問してたんだっけ?

682 :663:02/09/20 00:50 ID:???
>>681
Xファイルから独自フォーマットのコンバート
欲しいサブセットデータは頂点、法線、テクスチャuv、
ストリップインデックス、マテリアル、テクスチャファイル名
と多分こんなもんです

683 :名前は開発中のものです。:02/09/20 00:53 ID:???
>>682
それならばSDKの例のサンプルで読めるな。
読み込んだら好きなように吐き出せばOK。

684 :663:02/09/20 00:55 ID:???
>>683
8.0SDKですがXファイルのサンプルなんてありましたか・・・
うかつですた


685 :663:02/09/20 00:56 ID:???
皆さんレスありがとうございます

686 :名前は開発中のものです。:02/09/20 01:01 ID:???
===完===

687 :名前は開発中のものです。:02/09/20 02:52 ID:???
VS2.0 PS2.0
の資料なんてまだないよねえ・・・

688 :名前は開発中のものです。:02/09/20 17:41 ID:4/XpyZrj
また質問しますが許してください

Xファイルからコンバート中なのですが
ID3DXMeshの個々のサブセットのストリップインデックススタート値と
個々のサブセットの面の数はどうやって調べればよいのでしょうか?
コンバートした後にIDirect3DDevice8::DrawIndexedPrimitiveを
呼び出すときに使うので・・・
あとD3DPRIMITIVETYPEを調べるのは不可能ですか?
よろしくお願いします

689 :688:02/09/20 17:45 ID:???
つけたし
サンプルのPick Polyを参考にしながらやってます

690 :688:02/09/20 18:33 ID:???
ヘルプを見ていたらID3DXBaseMesh::GetAttributeTable()が
使えそうな気がしてきますた
これでやってみます

これで合っていたらお騒がせして申し訳ありませんでした

691 :名前は開発中のものです。:02/09/20 19:31 ID:???
ある場所でD3DXCreateTextureFromFileExAを呼び出すと、
別の場所でkernel32.dllのエラーが起きるとかいう不可解な状況なのですが…
(それもプログラム始まって数行目の凄い簡単なコードの場所で)
まさかこんな状況になった人ってほかにはいませんよねぇ(汗

ちなみに環境はWin2k/VS.NET/DX8.1/MultiThread/Unicodeでコンパイル、
実行環境は他人のマシンでWin98上書きMe/DX8.1らしいです(かなり古いらしい)
当然ながら自分のマシン上では問題なく動きます。それだけにデバッグしにくい…

692 :名前は開発中のものです。:02/09/20 19:39 ID:???
ちなみにD3DX〜関数をコメントアウトするだけでちゃんと動くという…
リンカとかコンパイラとかのバグかと疑いたいです(w

693 :688:02/09/20 20:01 ID:???
>>691
漏れにはお手上げです
動作環境のテストは個人では難しいのでは?


ID3DXBaseMesh::GetAttributeTable()はID3DXMesh::Optimize()しないと
駄目らしい・・・んでOptimize()の呼び方が間違ってるのか失敗しる

それで最初の質問
ID3DXMeshの個々のサブセットのストリップインデックススタート値と
個々のサブセットの面の数はどうやって調べればよいのでしょうか?
あとD3DPRIMITIVETYPEを調べるのは不可能ですか?
どうかこのウツケな漏れにお教えください

スレ汚しごめんなさい

694 :691:02/09/20 20:11 ID:???
>>693
D3DXMeshって三角形リストのみじゃなかった?

695 :名前は開発中のものです。:02/09/20 20:37 ID:???
>>691
> /Unicode

Unicodeにする必要性はサテオキ
win98でunicodeプログラムって正常に動くんだっけ?

あと、unicodeなのに D3DXCreateTextureFromFileEx"A"
とはいかに。Wな気がするが。

696 :691:02/09/20 20:59 ID:???
>>691
MSLUを使えばWin98上でUnicodeも動くし、
マルチバイトでW版が使えるのと一緒でUnicodeでもA版は動くよ

LPDIRECT3DDEVICE8 CreateDevice();
LPDIRECT3DTEXTURE8 CreateTexture();

int WINAPI WinMain(...)
{
HINSTANCE hDll = LoadLibraryA( "unicows.dll" );
someclass* instance = new someclass;
LPDIRECT3DDEVICE8 device = CreateDevice();
LPDIRECT3DTEXTURE8 texture = CreateTexture();
texture->Release();
device->Release();
delete instance;
FreeLibrary(hDll);
return 0;
}

の、new someclsssのところで死ぬんですよ。
んでCreateTextureをコメントアウトすると動く… 不可解すぎ(汗

697 :名前は開発中のものです。:02/09/20 21:04 ID:???
UNICODE使うのやめれば?

698 :691:02/09/20 21:14 ID:???
Unicodeは関係ないと思うんだけどなぁ…
とりあえずUnicodeチェックはやめてみようと思います。
しかしテストしてくれる人に会えるのが3日に一度でテストすらできず…

699 :名前は開発中のものです。:02/09/20 21:20 ID:???
極当たり前に考えて、Win98上のUnicodeなんて信用できないだろ。

700 :691:02/09/21 00:30 ID:???
すまんす、結局Unicodeが原因ですた… ただ、結局Unicodeで動いてます。

今までunicows.libをリンクしてただけだったんですが、
MS公式サイトの説明通りに/nodでkernel32とかを無視させるようにしたらいけました。
D3DXCreateTextureFromFileで死んでたのは多分、
関数内でUnicows.dll内のファイル系関数を呼ぶのに失敗してたんじゃないかな?
という感じです。どうもお騒がせしました…。

701 :名前は開発中のものです。:02/09/21 08:56 ID:???
わざわざトラブルを抱え込んで自爆というオチか。アフォ丸出しだな

702 :名前は開発中のものです。:02/09/21 10:03 ID:viCl1ubd
VC5.0+DX8.1bSDKでコンパイルすると
'UINT_PTR' : 定義されていない識別子です。
とか出てエラーになるのですが適当にtypedef int* UINT_PTR;と入れても
'&' : 不正な左オペランドです。
とか出るのですがVC5.0+DX8.1bSDKの組み合わせは駄目ですか?

FAQかもしれませんが検索してもヒットしなかったのでよろしくお願いします

703 :名前は開発中のものです。:02/09/21 10:21 ID:???
とりあえずUINTはunsigned int ニダ

704 :702:02/09/21 10:38 ID:???
たぶんVC6.0以降のの〜\VC\include\*.hで定義されていると思うのですが
UINT_PTRとはどういった型なのかを教えて下さい

d3dx8math.hのstruct _D3DXMATRIXA16の中のnewオーバーロードで
エラーが出てしまいます

705 :名前は開発中のものです。:02/09/21 10:51 ID:???
grepしたらこんな感じ <basetsd.h>
#ifdef _WIN64
typedef unsigned __int64 UINT_PTR, *PUINT_PTR;
#else
typedef unsigned long UINT_PTR, *PUINT_PTR;
#endif


706 :702:02/09/21 10:58 ID:???
>>705
d3dx8math.hにぶち込んだらとおるようになりますた
たいへんたいへんありがとうございますた

707 :702:02/09/21 11:05 ID:???
なんか衝突する場合もあるみたいなので代わりに
d3dx8math.hに#include <basetsd.h>
としたら大丈夫みたいです

708 :名前は開発中のものです。:02/09/21 20:33 ID:???
2D的に扱いたいのでWorld-View-Projectionは変更しないという前提で、

スプライトを描画する場合VertexBufferは4頂点分の大きさが必要だけど、
何種類ものスプライトを表示する場合、やはりVertexBufferは1スプライト
に1つ作成するものなのでしょうか?

考えてるのは、グローバルに1つスプライト用のVertexBufferを作っておいて
描画するときに、VertexBuffer更新する方法なのですが
みなさんどうしてますか?

もしかしてスプライトの場合でもVertexBufferを固定で、一つ一つ
WorldTransformかけてるのかな?

709 :名前は開発中のものです。:02/09/21 21:14 ID:???
>>708
深く考えずにTLVertexとDrawPrimitiveUPでいいと思う

710 :708:02/09/21 21:49 ID:???
>709
確かにそうなのですが。(以前はTLVertexとDrawPrimitiveUPを使ってました)
しかし、今回はShaderを使うこともあり、どうしてもVertexBufferを
使うしかないんです。

例をスプライトからパーティクルに変えますが、
class ParticleList
{
Particle par[1000];
VertexBuffer* vb
}



class ParticleList
{
Particle par[1000];
VertexBuffer* vb
}


711 :708:02/09/21 21:53 ID:???
ゴメン送信してもうた。
----
class ParticleList
{
 Particle par[1000];
 static VertexBuffer* vb
}

では、どっちがいいかな?
毎フレームパーティクルの座標は書き換えるので、大きいVertexBufferを
作って全てのパーティクルで共有した方がいいと思うんだけど。

712 :名前は開発中のものです。:02/09/21 22:03 ID:???
俺だったら、MAX_PARTICLEサイズのバッファー一回つくって、
あとは毎フレームそれにつっこんで1回のDrawで描くよ

713 :709:02/09/21 22:55 ID:???
一度にスプライト描画するんだったら、
MAX_SPRITE分の四角形を描画できる三角形リストのIndexBufferを用意
IndexBufferは何度描画しても変わらないから最初に初期化だけしとく
後はスプライトの四点をVertexBufferに書き込んでいってDrawIndexedPrimitive

ただこれは一歩間違うとUP系より遅くなる可能性があるんで注意
メインループのスケジューリングが結構大切です
(Presentの"直後に"DrawIndexedPrimitiveを呼べないなら、
DrawPrimitiveUPで早い段階からスプライトを1つずつ描画したほうが早い場合も)

714 :709:02/09/21 23:01 ID:???
UPで逐一描画するのとIndexedで溜め込んだ場合の差異はここにテストがあった
ttp://isweb42.infoseek.co.jp/computer/t_tail/program/vsdx8/d3d/020/index.htm
上の表のDrawPrimitiveUPのレンダリング時間とDrawIndexedPrimitiveの差に注目
それとRender.cppも参照しる

715 :名前は開発中のものです。:02/09/22 00:12 ID:???
俺はいろいろやってみたことあるよ。UPは結構優秀。
nvidiaのサイトで拾ったDynamicVertexBuffer/DynamicIndexBufferの
テンプレート使ってUPと対等。
事前にIndexBufferを用意してやっとDrawIndexedPrimitiveUPに勝てた。

716 :名前は開発中のものです。:02/09/22 04:32 ID:fagAZlUu

LPDIRECT3DTEXTURE Image;
void load(LPDIRECT3DDEVICE8* pDevice,char* filename){
D3DXCreateTextureFromFile( *pDevice, filename, &Image)
}
がD3DXERR_INVALIDDATAを返して失敗します。
これを呼び出す前にメッシュのロードに成功しているのでpDeviceにはしっかりとした値が入っていますし、filenameも"a.bmp"でフォルダにa.bmpも存在しています。
いったいなにが悪いのかわかりません。


717 :名前は開発中のものです。:02/09/22 05:08 ID:???
>>716
カレントディレクトリがどこか確認しる。

718 :名前は開発中のものです。:02/09/22 05:15 ID:fagAZlUu
>>717
Debugから直接アプリを起動しているので間違いないとおもいマス。
エラーのチェックはこうやってます。
switch(D3DXCreateTextureFromFile( *pDevice, filename, &Image))
{
case D3DERR_NOTAVAILABLE : MessageBox (NULL,"NOTAVA","e",MB_OK);break;
case D3DERR_OUTOFVIDEOMEMORY : MessageBox (NULL,"OUTOF","e",MB_OK);break;
case D3DERR_INVALIDCALL : MessageBox (NULL,"INVAOLODCA","e",MB_OK);break;
case D3DXERR_INVALIDDATA : MessageBox (NULL,"INVAILDDATA","e",MB_OK);break;
case E_OUTOFMEMORY: MessageBox (NULL,"E_OUTOOFMEMA","e",MB_OK);break;
}


719 :名前は開発中のものです。:02/09/22 05:50 ID:???
うちのGeForce3では期待した動作をしてくれるんですが、
知り合いのMatroxのVGAで動かしたら駄目らしいんです。
ここまではよくある話なんですが、ちょっと不可解なので…

ALPHAOP と COLOROP にそれぞれ
STAGE0 に D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_DIFFUSE
STAGE1 に D3DTOP_MODULATE, D3DTA_TFACTOR, D3DTA_CURRENT
と指定するのと、
STAGE0 に D3DTOP_MODULATE, D3DTA_TEXTURE, D3DTA_TFACTOR
と指定するので表示結果が変わってしまいました。
具体的には、最初のほうのTFACTORが影響されてない感じでした。
(頂点ディフューズ色は0xFFFFFFFFでデフォルトと一緒にしてます)

テクスチャステージも3まで対応してるとD3DDEVCAPS8には出てるし、
他に考えられる原因が分かりません…。

720 :名前は開発中のものです。:02/09/22 06:07 ID:???
>>718
話題はずれるが、今後のためにD3DXGetErrorStringを見といた方がいいぞ

721 :名前は開発中のものです。:02/09/22 06:26 ID:???
VCのデフォルトっぽい構成で、カレントディレクトリはmyprojと仮定。
myproj\data\mesh.x
myproj\data\a.bmp
myproj\debug\prog.exe

D3DXLoadMeshFromX("data\mesh.x"...);で読んだら
"a.bmp"のパスは"data\a.bmp"

722 :名前は開発中のものです。:02/09/22 07:53 ID:fagAZlUu
なんか、成功しました。カレントディレクトリの問題だったようですぅ。

723 :名前は開発中のものです。:02/09/22 10:19 ID:???
>>719
リファレンスラスタライザではどうなる?
リファレンスと異なるならMatroxに報告してあげるとか・・・

724 :名前は開発中のものです。:02/09/22 12:47 ID:???
>>722
よくある間違いだ。過去ログ見るひとのために一応書いておくと
./debugのアプリは ./ に移動させてから実行しないといけないんだよな。

725 :719:02/09/22 13:55 ID:???
>>723
うちの環境のREFで実験したら、期待通りの動作でした。

Matroxの最新ドライバで試すのをすっかり忘れてたので、
それで駄目だったらMatroxに通報してみます

726 :名前は開発中のものです。:02/09/22 17:05 ID:???
この間やっとDX8.1bSDK入れたんだけどDX7でやってた
IDirectMusicLoader::GetObject()が全角ファイル指定すると
失敗するようになったんですが前のプロジェクトは全部捨てろと
MSは言ってーるのですか?・・・半角カタカナは前からだったけど

727 :名前は開発中のものです。:02/09/22 18:53 ID:???
>>719
D3DTA_DIFFUSEとD3DTA_TFACTORは同時に使えない環境がある。
SDKの説明にもそんなことが書いてある。
NVIDIAでも同時に使えるようになったのはGeForce3から。

728 :719:02/09/22 19:56 ID:???
>>727
へぇぇ、そうだったのかー
ってことは、結構ハードウェア的には厳しい実装だったのね・・
情報ありがトン

729 :名前は開発中のものです。:02/09/22 21:21 ID:???
起伏のある地形をxファイルで読み込んで
その地形の上をカメラが移動する、という風にしたいのですが
地形が盛り上がっているところや凹んでいるところで
カメラの高さをどのように上げ下げするのかわかりません。

検索したところBSPというものが引っ掛かったのですが
これを用いる方法しかないのでしょうか?

730 :名前は開発中のものです。:02/09/22 21:23 ID:???
初歩的な質問ですいません。
キーワードだけでも教えていただけると助かります。

731 :名前は開発中のものです。:02/09/22 21:27 ID:???
起伏の形状を取り出してx, y座標からz座標を求めればいいんじゃなかろーか

732 :名前は開発中のものです。:02/09/22 21:36 ID:???
起伏のある地形ということならHeightFieldがいいんじゃないか?
これならx座標とz座標に応じてフィールドのy座標が決まるから、
それにカメラの高さを加えてやればいいだけだな

733 :名前は開発中のものです。:02/09/22 21:41 ID:???
ちなみにこう。
float field[FIELD_SIZE][FIELD_SIZE];
initialize(field);
int camera_x = hoge();
int camera_z = hage();
float camera_y = field[camera_x][camera_z] + camera_height;
このままだとカメラの移動に応じて高さが一気に変わるから適当に補完とかしる

734 :名前は開発中のものです。:02/09/22 22:05 ID:???
ただ、HightFieldだと広めのマップが表現できない

735 :名前は開発中のものです。:02/09/22 22:19 ID:jVKC+C+L
>>734
そこは頭の使いようだろ?
HightFieldというアルゴリズム自体にはなんの問題も無い。

736 :名前は開発中のものです。:02/09/22 22:29 ID:???
>>729
BSP(Binary Space Partition)と

>地形が盛り上がっているところや凹んでいるところで
>カメラの高さをどのように上げ下げするのか

はあまり関係ないよ。
BSPは空間分割のデータ構造とか探索のアルゴリズムの手法で、
君が求めてるのは多分ポリゴンメッシュとカメラオブジェクトの
当たり判定の話だしょ。

737 :名前は開発中のものです。:02/09/22 22:45 ID:jVKC+C+L
729は平面の式について調べれ。

738 :名前は開発中のものです。:02/09/22 23:03 ID:UA7t4cRe
DirectShowの話題はまだー?

739 :名前は開発中のものです。:02/09/22 23:35 ID:???
>>729
正解などない。
どのようにと聞かれても、地面の起伏に応じてカメラ動かせ
としか答えようがない。君にビジョンがないと話が進まないな。
BPSは今のところ本質的には関係ない。

740 :名前は開発中のものです。:02/09/23 02:48 ID:???
DirectDrawの話題はまだー?

741 :名前は開発中のものです。:02/09/23 03:46 ID:???
>>740
聞いてやるよ、質問は何だ?

742 :名前は開発中のものです。:02/09/23 07:06 ID:???
>>729
皆、小出しだね。そりゃ調べる力も必要だろうが…
漏れのやり方で良いなら、
先ず、ポリゴンは三角形として話を進める。地形は3ポリの集合。
ココで使うのは、平面の方程式、ax+by+cz+d=0って奴。
之を変形して、d=-(ax+by+cz)と考える。
んでカメラが居るポリゴンの位置(XZ平面での)を調べる。カメラで解らないのはY情報なんだから解るでしょ?
ココで其のポリゴンの三頂点のどれでも良いから、一つチョイスする。
その頂点と、他の二つの頂点でベクトルを定義して、外積か何かで法線ベクトルを出す。
そいつを単位化して、各要素をa,b,cとする。次は選んだポリゴンのX,Y,Zをx,y,zとして
d=-(ax+by+cz)の計算をしてdを求める。
こいつの値は変数にでもぶっこんで、値は知らなくても良い。
そして最後に、また変形、y=-(ax+cz+d)/bで考える。
ココでx,y,zはカメラの位置ベクトルの各要素、つまりyが求まる。x,zは解っているので
a,b,cは先程の法線ベクトルを単位化した各要素、dも先程求めた物。
つまりy以外は全て値が出てるよね。
お終い。

743 :742:02/09/23 07:09 ID:???
>次は選んだポリゴンのX,Y,Zをx,y,zとして
間違い。スマソ
次は選んだ頂点のX,Y,Zをx,y,zとして


744 :名前は開発中のものです。:02/09/23 08:20 ID:???
カメラの乗っかってるポリゴンの
3頂点の重み付き平均でいいんじゃないの?


745 :名前は開発中のものです。:02/09/23 08:25 ID:???
>>742
要約してみた。

D3DXIntersect

以上(ワラ

746 :名前は開発中のものです。:02/09/23 09:01 ID:???
D3DXCreateMesh()使って作ったメッシュに頂点情報とか
入れるにはどうすればいいんですか?
またはそれが載っているサンプルを教えて下さい

747 :名前は開発中のものです。:02/09/23 09:56 ID:???
>>746
んなんロックして流し込めばいいだけだ。
つか、教えて君モロ出し系で質問するなら
「物凄い勢いスレ」とか「初心者歓迎スレ」のほうがいい。
ここだといきなり噛み付かれても文句いえねーよ。

748 :名前は開発中のものです。:02/09/23 09:58 ID:???
http://game.2ch.net/test/read.cgi/gamedev/1032098770/
http://game.2ch.net/test/read.cgi/gamedev/1013645518/


749 :742:02/09/24 03:03 ID:???
>>745
そうきましたか…
ココはDirectX板だから関数があれば、それを教えれば良いのかも知れませんが…
処理的に何をやってるのか解らないで、使うってどうなんでしょう?

始めたばかりの時、行列で回転かけるのをRotation関数使わないで
ロックして全頂点をループで自前の行列計算したりってやりませんでした?
用意された関数オンリーな人って、バーテクス、ピクセルシェーダーとか
出来るようには、為ら無いんじゃ…

750 : :02/09/24 04:10 ID:???
でも742の方法はイマイチな気がするのはオレだけか?
イチイチ平面の方程式にしないほうがイイんでないか?

xファイルを読み込む。カメラ位置はp0とする(x,zは特定されている)
頂点/インデックスバッファをロックして頂点データp1,p2,p3がまずわかる。
p1+a*(p2-p1)+b*(p3-p1) = p0 をp0のy座標,a,bについて解く
a >= 0 , b >= 0, a+b <= 1 ならそのポリゴン上にあるので求まったp0を採用
ポリゴン上になかったらほかのポリゴンを探す

でいいんでないか?知らんけど

んで、この方法だと毎フレームごとにポリゴンごとに判定しなくちゃイケナイから重い
初歩的な最適化の方法としては、画面をxzのグリッドで分けて、
グリッドごとに衝突する可能性のあるポリゴンのテーブルを作っておく
そーすっと、カメラの属するグリッドのポリゴンでのみ判定すればよくなる。
グリッド間隔は小さいほど効率が上がるがそれだけメモリを消費するんでテキトーに。

あとはアレだ。イチイチ頂点バッファのロックアンロックを繰り返すと重くなりそーなんで
頂点データは必要な部分をコピーしといたほうがいいな。

オレのラベルではこんくらいしか方法は思いつかん。もっとイイ方法があったら教えれ。


751 :742:02/09/24 06:50 ID:???
>>750
744の3頂点の重み付き平均って奴ですね。
内分の関係を逆に捉えて、条件が満たされていれば点と点を内分する状態であると。
やはり、人のやり方って勉強になりますね。
こう言う、数学的なルーチンワークって面白いですよね。

>ポリゴン上になかったらほかのポリゴンを探す
これが、プログラマの腕の見せ所ですね。当方はへっぽこ専門生なんで
数学はともかく、プログラムはイマイチです。ここの最適化が重要ですね。


752 :名前は開発中のものです。:02/09/24 09:56 ID:???
>>751 3頂点の重み付き平均って奴ですね
違うぞ。

753 :742:02/09/24 22:49 ID:???
>>752
4頂点の重み付き平均でした。失礼しました。

754 :名前は開発中のものです。:02/09/25 19:54 ID:MSCNJlmH
MDX
age

755 :名前は開発中のものです。:02/09/26 01:23 ID:Th5mYXTg
カスタムVERTEX SHADERをいじるとき、適当なことをやるとwin2000でも青画面になるのですが、どのようなときに青画面になりますか。

756 :名前は開発中のものです。:02/09/26 02:15 ID:???
>>755
適当なことをやったとき

757 :名前は開発中のものです。:02/09/26 04:28 ID:Th5mYXTg
>>755
IDがもう少しでMSDN

758 :名前は開発中のものです。:02/09/26 04:31 ID:???
一歩足りてないな。

759 :名前は開発中のものです。:02/09/26 06:26 ID:???
755 名前:名前は開発中のものです。 :02/09/26 01:23 ID:Th5mYXTg
757 名前:名前は開発中のものです。 :02/09/26 04:28 ID:Th5mYXTg



760 :名前は開発中のものです。:02/09/26 07:41 ID:???

(゚∀゚)アヒャ!

761 :名前は開発中のものです。:02/09/26 10:20 ID:ANzLdQ8E
DirectX8.1で画像を1枚表示させるだけのプログラムで、
うちのマシンだと、たまにFPSが1も出ないような状況が起こってしまいます。

そんなに性能のいいマシンではないのですが、普通のDirectXを使った
ゲームはFPS60で普通に動いてます。

なんでそうなるのでしょうか。
再現性のないバグなのでよくわかりません。

762 :名前は開発中のものです。:02/09/26 10:21 ID:???
グラフィックボードぐらいかいてくれろ

763 :名前は開発中のものです。:02/09/26 10:23 ID:???
> そんなに性能のいいマシンではないのですが、普通のDirectXを使った
> ゲームはFPS60で普通に動いてます。
UnrealTournament2003やBattleField1942でFPS60出てるなら、プログラム側のバグかと。

764 :名前は開発中のものです。:02/09/26 11:05 ID:???
実行環境と普通のDirectXを使ったゲームってのが分からないとな。
あと1枚画像を表示させるってのも具体的にどうやって表示してるのか。

765 :名前は開発中のものです。:02/09/26 11:08 ID:???
>>761
>たまにFPSが1も出ない

DirectXの側でその手の不具合は聞かないな。
アプリのほうで凡ミスをやってる予感がするな。
戻り値はチェックしてるか。SDK付属サンプルは無事に動いてるか。
サンプルが無事に動いてるならそっちを参考にしたほうが早いぞ。

あとはアンチウイルスツールとかの常駐ソフトの所為かもな。

766 :名前は開発中のものです。:02/09/26 11:41 ID:???
>>761
ドライバは最新のものにしてる?
古いものだと新しいDirectXに対応してなくて
変な現象が起こることがあるよ。

767 :名前は開発中のものです。:02/09/26 11:54 ID:???
ノートンのAntiVirusでAutoProtectを有効にしてると
BattleField1942の通信対戦中にフレームレートが
極端に落ちる現象がたまーに起きる。それ以外は知らない。

768 :名前は開発中のものです。:02/09/26 11:56 ID:???
ここは素晴らしいインターネットですね。

769 :名前は開発中のものです。:02/09/26 11:57 ID:???
六角大王でXfileを出す方法を教えてください、おながいします。

770 :名前は開発中のものです。:02/09/26 12:02 ID:Th5mYXTg
>>761
FPSを格納するバッファを更新してないかったというオチでしょうか。
あと、1枚表示させるだけの静止画だとFPSがどんくらいか判断しづらいです。
>>769
3dsに変換してconv3dsという糞ツールでxに変換してください。

771 :767:02/09/26 12:03 ID:???
ちなみにその現象が起きるのを確認した環境は
Win98SE+DirectX8.1b
BattleField1942(製品版)
ビデオチップはGeForce4Ti4200。
ドライバはBeta Detonator 40.52だ。
 
761の環境はどうだ。

772 :名前は開発中のものです。:02/09/26 12:03 ID:???
>>761
HDDにアクセスしにいってるとかそういうのは無いか?

773 :名前は開発中のものです。:02/09/26 12:03 ID:???
>>769
スレに合ってる内容とはとても思えないが…
とりあえずデータコンバータとしてもMetasequoiaをお勧めしとこう。
詳しくはMetasequoia公式のデータ交換の項を読め。

774 :名前は開発中のものです。:02/09/26 12:10 ID:Th5mYXTg
たまに、だからちがうか。

775 :名前は開発中のものです。:02/09/26 14:19 ID:???
スレ進行停止>質問>怒涛のレス>繰り返し

776 :名前は開発中のものです。:02/09/26 14:27 ID:???
Metasequoiaもあと2,3年したら
どこかの会社が買い取って入門用3Dモデラ\39,800-とかで売り出すことになるんでない

777 :名前は開発中のものです。:02/09/26 16:05 ID:???
ゲーム用の音楽素材として、ループする音楽を作りたいのですが
フリーで何か良いソフトはありませんか?

778 :名前は開発中のものです。:02/09/26 16:33 ID:???
あまりにもスレ違いすぎるぞ。

779 :名前は開発中のものです。:02/09/26 18:20 ID:Th5mYXTg
>777
DirectX付属のDirectMusicComposerとかいうのがあったと思います。

780 :名前は開発中のものです。:02/09/27 00:32 ID:???
ぼかしテクスチャを作ろうと思ってレンダリングしたテクスチャを、
SetTexture( 0, &rtex );
SetTexture( 1, &rtex );
SetTexture( 2, &rtex );
SetTexture( 3, &rtex );
のように4つのステージにセットしてピクセルシェーダーで
加工しようと思ったらt0以外ではうまくピクセルが取れなかった。
CopyRectして使ってみてもやはりステージ0以外ではうまくいかない。
ロードしてあらかじめ用意したテクスチャを使用した場合はどの
ステージのテクスチャもうまく取れたけど何か分かる人いない?

781 :名前は開発中のものです。:02/09/27 04:58 ID:???
>>780
テクスチャ座標を適切にセットしてないだけかと。

782 :名前は開発中のものです。:02/09/27 05:37 ID:BHwi6z60
DirectMusic Producer でした。

783 :名前は開発中のものです。:02/09/27 05:44 ID:XQiRpxo1
http://muvc.net/jsweb/profiles.html

784 :名前は開発中のものです。:02/09/27 08:42 ID:???
>>780
普通は問題なく出来るぞ。
具体的にどういう手順で失敗したのかを書けば
原因は見えると思うが、780の説明だけでは何とも。

785 :名前は開発中のものです。:02/09/27 14:32 ID:???
>>780
もしかして使用してるピクセルシェーダーのバージョン、1.4だったりしない?
1.4ならテクスチャステージと同じ番号のレジスタにしかテクスチャロードできなかったような・・・
texldする時も
texld r0,t0
texld r1,t0
texld r2,t0
texld r3,t0
ってしないとだめだし、つーか基本か。
見当違いだったらすまん。

786 :780:02/09/27 21:25 ID:???
>>781
UVはちゃん設定してるのでロードしたテクスチャでぼかすと
UVがうまくずれてぼけてます。つまり期待通りの結果。

>>784
普通に考えたら簡単に出来るよね。ロードしたテクスチャと
レンダリングしたテクスチャに何か違いでもあるんだろうか。
でもなんかSetRenderStateとSetTextureStateの設定で
いろいろ症状が変わるので調査中。
SetTextureを0〜3まで順番に設定していくと、段々テクスチャが
何かとαブレンドされて薄くなったりしてる。

>>785
PS1.0なんだけどね。

うちはGeForce2MXだから来週また会社で試してみます。
みんなありがとね。

787 :名前は開発中のものです。:02/09/28 00:31 ID:???
The Dot Net Zone is a resource for wanna-be Dot Net
Wiz kids, primarily aimed at people who have nominated
C# (CSharp) as their language of choice, and have a
hankerin for writing games.

どうやらDirectX9は.NET完全対応のようですね。
C#しか持ってないんで対応しなかったら…

788 :名前は開発中のものです。:02/09/29 15:52 ID:MTZiZpi/
プログラムのことでなくて恐縮なんですけど
DirectX8SDKのインストールのことで質問です。

Windows2000にSDKをインストールしようとすると
"unable to create installdriver"
というエラーが出てとまってしまいます。

もしよかったら解決法を教えてもらいたく思います。
どうぞよろしくお願いします。(既出だったらすいません)

789 :名前は開発中のものです。:02/09/29 16:22 ID:???
たぶん諦めるしかない
どうしても入れたければOSの再インストール。
あ、PlatformSDKをフルで入れれば入るからそれでもいい。
ただし、ランタイムはRetailなのでデバッグやりづらいかもしれないけど

790 :名前は開発中のものです。:02/09/29 16:24 ID:???
別にインストールしなくてもアーカイブの内容をそのままコピーすればすむのでは?

791 :名前は開発中のものです。:02/09/29 17:10 ID:???
>>788
管理者権限がないとインストールできないと言うオチでは?

792 :788:02/09/29 20:18 ID:???
どうも本当に親切なレスありがとうございます。

>>789
OSの再インストールってことはやはりインストール順番がまずかったのでしょうか?
SP3→デバドラ→DirectX8SDK
ってやりました。
PlatformSDKっていうのは何ですか?
MSNのヘルプでそういう項目もあった気もしますけど、それのことでしょうか?

>>790
後にランタイム版のインストールなら成功したので、
Libファイルとヘッダファイルのみコピーで大丈夫でしょうか?

>>791
うーん、ちゃんとadministratorでログオンしてます。

793 :名前は開発中のものです。:02/09/29 20:36 ID:???
こういうときはエラーメッセージ
"unable to create installdriver"
でgoogleしてみることをオススメする

794 :788:02/09/29 20:44 ID:Ifw9RZf/
>>793
もちろんしました、
でも検索結果は望むものがでなかったんです

ほかにもいろいろ検索ワードを変えてやったりしましたがだめでした。
ほかにもいろんなWin2000のトラブルが書いてあるホームページなども
調べたけどだめでした。
1時間しらべてどうしても見つからなかったので
ここで質問させていただきました。どうかよろしくお願いします。

795 :788:02/09/29 20:47 ID:Ifw9RZf/
>>793
ごめんなさい。間違えてました。
うちのエラーメッセージはそれじゃなかったので勘違いしました。
どうもありがとうございました。

そのワードで検索した結果で解決しそうです。
ほんとにすいません。どうもありがとうございました

796 :788:02/09/29 20:49 ID:Ifw9RZf/
・・・
さらにごめんなさい
検索ワードまで一致してましたね・・・
ほんとにすいません、反省してます。
どうも検索ワードが悪かったです、まさかそのままいれて結果がでるとは
思わなかったので試してませんでした、すいません

797 :780:02/09/30 20:03 ID:???
4テクスチャステージでのぼかしテクスチャ作成の件だけど
問題解決しました。
SetTextureState( 0,D3DTSS_COLOROP,D3DTOP_MODULATE );
これをステージ0だけじゃなくて1〜3ステージにもやっていたのが
原因でした。理由はいまいち飲み込めてないけど。

で、この先に進むわけだけどぼかしテクスチャを3枚ほど用意したいので
レンダリングターゲットからCopyRectした画像で動的にMIPMAPを
作成したいです。ただ動的MIPMAPはネット上にもあまり資料が
ないのでやり方が分かりません。誰か分かる人いませんか?

あとぼかしテクスチャからMIPを作るかMIPを作ってから
それぞれのレベルでぼかしテクスチャをレンダリングするか迷うなぁ。

798 :名前は開発中のものです。:02/09/30 21:43 ID:???
動的MIPMAPはDirectX9で強化されるからそれを待て、なーんてね

799 :名前は開発中のものです。:02/09/30 21:47 ID:???
DirectX9 早く正式版でないかぁ。
こっそり(?)2D周りも強化されているのが嬉しい。

800 :名前は開発中のものです。:02/09/30 21:54 ID:???
おまえらNDAを守りなさい

801 :名前は開発中のものです。:02/09/30 21:58 ID:???
798,799 ぐらいの内容なら、CEDECで一般向けに公開されたので無問題

802 :780:02/09/30 23:09 ID:PG8kIa+b
>>798
CEDEC行って動的MIPMAPが強化されるのは知って
るんだけどDX8でも出来るんじゃないかと思って。
出来ないんだったら1/2サイズのテクスチャにバイリニア
掛けてレンダリングして作っていかないとダメかな?


803 :780:02/09/30 23:12 ID:???
ミス。1/2のサイズのポリゴンに張ってレンダリング
しての間違い。

804 :名前は開発中のものです。:02/09/30 23:16 ID:???
DirectX9ってどこがNDAにする必要あるんだ?
MSは開発者のキモチしらねーアフォか?
ベータのSDKくらいすぐ公開しやがれ!
何ヶ月待たせてると思ってるんだ!

805 :名前は開発中のものです。:02/09/30 23:21 ID:???
SetRenderTargetの負荷が低いことを祈るしかないねえ・・・
ところで便乗質問なんだけど、SetRenderTargetするときは
BeginScene/EndSceneで区切る必要ありますか?

806 :780:02/10/01 00:41 ID:???
SetRenderTargetってBegin-Endで区切らなくても使えるよね。
ただSetRenderTargetって2の累乗サイズのテクスチャじゃないとね。
CopyRectの負荷がもったいないので512*512にレンダリングして
640*480に戻すってのもアリかなぁと思ったりもする。
これなら解像度の低いRenderTargetを複数用意してレンダリングを
回せば簡単にMIPが作れるね。
ああ、それでDX9にはマルチレンダーターゲットとかいうのが付いたのか。


807 :780:02/10/01 01:10 ID:???
DX9で一つ気になる事が。VertexShaderのbレジスタだけど
ifやcallでしか使えないらしいけど頂点毎に判定するんだろうか。
どうせ定数としか比較しないんだからDraw発行した時にシェーダー
を最適化して頂点毎にifで判定なんてしないようになっていればいいが。
もし頂点毎での判定ならどうしても必要な時以外はifは使えんよな。
あと計算結果との比較や頂点毎にスケルトン数を持たせてその数で
処理を振り分けたり出来るんだろうか。

808 :名前は開発中のものです。:02/10/01 01:12 ID:???
マルチレンダーターゲットはATIのチップしか対応してねーから意味ねー罠。

809 :名前は開発中のものです。:02/10/01 01:59 ID:q1lKlffC
お菓子版 ▲至福▲ おいしい菓子パン part4 ▲極楽▲ 
ここスレにいる>>220は基地外です。自分がこのスレの中心的な存在でなければ
気がすまない新参者を受け入れようとしない閉鎖的な人間です。
そのためには自作自演も当たり前のようにします
そんな態度が周りに不快感を与え、知らず知らず敵を作っているのです。
本人は気づいているのでしょうか
よろしければ一度見にいってくださいこのスレには彼の執念を感じます
       ↓
http://food.2ch.net/candy/#3

810 :名前は開発中のものです。:02/10/01 13:41 ID:pawwJ8Cr
IDirectXFileDataのメッシュオブジェクトから
IDirectXFileData::GetNextObject()を呼んでも
子供のマテリアル等にいかなくてNOMOREOBJECTを返すのですが
どうなってるの?ちなみにairplane 2.xで試してます

811 :名前は開発中のものです。:02/10/01 17:57 ID:???
>>810
サンプルとしてはちょっと過剰機能かもしれないが、
SkinMeshのLorderサンプルに答えがあるよ。
兄弟オブジェクトと子供オブジェクトは違うということに注意だな。

812 :名前は開発中のものです。:02/10/01 18:42 ID:???
>>811
SkinnedMeshに手を加えてやってます
IDirectXFile::CreateEnumObject()
=>IDirectXFileEnumObject::GetNextDataObject()
=>IDirectXFileData::GetNextObject()
=>IUnknown::QueryInterface()で取得した
メッシュオブジェクト(IDirectXFileData)で
IDirectXFileData::GetNextObject()を呼んでるのですが
MeshFaceWraps MeshTextureCoords MeshNormals
MeshVertexColors MeshMaterialList
はメッシュの子供ではないのですか?
ヘルプに書いてあるオプションのデータ要素は
子供かと思っていたのですが

813 :811:02/10/01 19:43 ID:???
>>812
っていうかメッシュ読み込むんでしょ?
それならD3DXLoadMesh〜系の奴ならマテリアルとか自力解析する必要ないと思うんだけど…
何か特別なことやりたいのかな?

814 :780:02/10/01 22:45 ID:???
SetRenderTarget使ってぼかしテクスチャを3つ用意してみた。
512*512(元)と、512*512と256*256と128*128のぼかしテクスチャ。
あとはデプス値によってブレンドするみたいだけど、どうやるか分からん。

512*512の元画像のデプスバッファをテクスチャステージにセットして
ピクセルシェーダーで読むんかな?
でもダブルスチールはテクスチャ3枚とぼかし量のルックアップテーブル
らしいからデプス値はやはり元画像のアルファチャンネルに描くのか。
じゃないとテクスチャステージ4つじゃ足りないし。

すると元画像のカラーとデプスをステージ0と1にセットして
アルファにデプス入れ込むシェーダーで一回レンダリングするのか?
確かにこんな風にすればピクセルシェーダーで8ビットのデプス値を
取れそうだけど。すると256個のルックアップテーブルを確かに
参照させられそうだ。あとはルックアップテーブルの計算方法が
わかればいいけど難しそう。

815 :名前は開発中のものです。:02/10/02 01:28 ID:???
http://www.beyond3d.com/forum/viewtopic.php?t=2538

> You can set break points in your shaders or set breakpoints on screen pixels!.
screen pixelにブレークポイントが置けるなんて面白い。


816 :名前は開発中のものです。:02/10/02 12:37 ID:???
>>815
激しくスレ違いだけどVCでループカウンタがいくつのときにブレーク!とかってやっぱできるのかな?
できるんだろうなぁと重いながら、if文書いてブレークさせてる俺が憎い!

817 :名前は開発中のものです。:02/10/02 12:46 ID:???
>>816
できますよ
編集->ブレークポイント->条件で

818 :名前は開発中のものです。:02/10/02 12:53 ID:???
>>816
そんな君にお薦めの本
http://bookweb.kinokuniya.co.jp/pocketpc/wsea.cgi?W-NIPS=997437703X&RCODE=GB25%2FG03

デバッガの使い方から簡単なx86アセンブリ言語まで理解できるようになる。
クイックリファレンスシートもついていてお得だよ。お値段4800円

819 :名前は開発中のものです。:02/10/02 17:56 ID:2iij7o2x
ID3DXMeshをoptimize()したオブジェクトのマテリアルとその数と
テクスチャ名が知りたいのですが何か方法はありますか?

820 :780:02/10/02 22:39 ID:???
>>814でデプス値の取得方法を適当言ってたので訂正。
どうやらレンダリングしたカラーとデプスバッファを後から
合成するんじゃなくて元画像をレンダリングする時に頂点カラーの
αチャンネルにデプスを入れておくらしい。if氏のサンプルから判明。
同じようにやってみて、ピクセルシェーダーでmov r0,t0.aって
やったらグレースケールでデプス値を描画出来た。
あとはぶんか社のwebの資料を参考にするか。

821 :名前は開発中のものです。:02/10/03 00:27 ID:jFd/DQhs
XBOXは ほら、メインメモリのVRAMが共通のヤシ(なんつーんだっけ?)だから
CPUからZBufferへのアクセスが自由らしいぞ

PCの場合はZBuffer読み込み制限きついよねー
アルファにいれても8bitでしょ?

と、Masaさん周辺が言ってたと思った

822 :名前は開発中のものです。:02/10/03 00:28 ID:jFd/DQhs
メインメモリとVRAMが共有のヤシ

823 :名前は開発中のものです。:02/10/03 00:31 ID:jFd/DQhs
UMAでした。ウマー

824 :名前は開発中のものです。:02/10/03 00:44 ID:jFd/DQhs
ZBufferのアクセスはDX9で改善されてないかな?
つかDX9まだでないの〜〜?

825 :780:02/10/03 00:53 ID:???
>CPUからZBufferへのアクセスが自由らしいぞ

へぇ〜、確かに便利だね。
でもデプス値が欲しいのはピクセルシェーダーでブラーテクスチャを
ブレンドする時だと思うから結局CPUではアクセスしないので
αチャンネルに入れるしか無いような気がするなぁ。
つーか、まさかGPUの仕事を低速なCPUにやらせてるのか?
あしたwebの資料をあさってみるか。

826 :名前は開発中のものです。:02/10/03 19:00 ID:???
Direct3D7でトゥーンシェーディングやりたいんだけど、
輪郭をレンダリングするにはどうしたらいい?


827 :名前は開発中のものです。:02/10/03 20:41 ID:???
>>826
実装の方法は自分で考えてって前提なら。

ポリゴンの法線が視線(カメラ)の向きと直角なら、黒くする。

レンダリングするオブジェクトより、少しだけ大きく
ポリゴンが裏向きのオブジェクトを用意して同じ位置で一緒に描画

ちょー思いつき。

828 :名前は開発中のものです。:02/10/03 22:45 ID:???
フリーソフトでアニメーション付Xファイル吐き出し出来るソフトありますか?
へっぽこ専門学校生なんですが学校まで行ってソフト使いに行くのが億劫なんで。
メタセコからmikoto経由のXファイルアニメ吐き出しは変換ソフトが今非公開らしいし。

829 :名前は開発中のものです。:02/10/03 22:48 ID:???
>826
ttp://isweb42.infoseek.co.jp/computer/t_tail/program/vsdx8/d3d/013/index.htm
はい、漏れは知らんが。

830 :名前は開発中のものです。:02/10/03 23:43 ID:???
>>828
mikotoのファイルパーサを作る。
実力付くぞ〜。専門学校生ならやっといて損は無い。

831 :名前は開発中のものです。:02/10/04 00:00 ID:37NScLDw
DolphinVSを改造して、オブジェクトの下面に波の映り込みを描かない
方法を模索してましたが、挫折しそうです。
GeForce3つかってます。D3DTOP_LERPとかいろいろやってみたけど
うまく行きません。助けてください。

832 :名前は開発中のものです。:02/10/04 00:39 ID:Ry8odqE2
http://page.freett.com/unnkoman/koukoku.html
ここは?

833 :名前は開発中のものです。:02/10/04 00:50 ID:???
>>826
http://www.t-pot.com/
ここ行け。リクエストにも答えてくれるぞ。
つーかまじでやってくれるとは思わなかったけど。



834 :名前は開発中のものです。:02/10/04 00:56 ID:???
わざわざリクエストなんかせんでも
固定T&Lでのセルシェーディングなんざ
ネット上に資料がゴロゴロ転がってるぞ。

googleで
toon rendering とかで検索してみ。一発よ。

835 :名前は開発中のものです。:02/10/04 01:03 ID:???
if氏のシャドウのサンプルはセルフシャドウがちらついて
変なのが残念。


836 :DirectX9!!:02/10/04 01:33 ID:???
DirectX9!!

837 :名前は開発中のものです。:02/10/04 01:36 ID:???
ハァ?

838 :名前は開発中のものです。:02/10/04 15:21 ID:???
>>836
まるちぽすとウザい。

839 :名前は開発中のものです。:02/10/04 21:07 ID:???
初心者の雑魚なんですが質問させてください。
DirectX8.1のDirectGraphicsについてなんですが
2D描写の時、サーフェイスを作ってブロック転送するとうまくいくのですが
スプライトでやろうとすると、
縦横のサイズを2の累乗でスプライトを作成すれば問題ないのですが、
それ以外の場合、伸びたりちじんだりしてしまいます。
やはりこれもテクスチャの制限というかビデオカードに依存するものなのでしょうか?
640*480でアルファブレンディングして2D描画(のべるげーのようなもの)がしたいのですが
どうしてもうまくいきません。
サーフェイス間でアルファブレンディングなどは不可能なのでしょうか。
素直に7までのDirectDrawを使うべきなのでしょうか……


840 :名前は開発中のものです。:02/10/04 21:14 ID:???
>839
漏れも初心者なんで細かいことはわからんが、確かDiorect3D系は縦と横がそれぞれ2の累乗の画像サイズじゃないとおかしくなる。
ビデオカードではなくDirectXの仕様みたいなの。
1024*512で画像作って、入れるか、512*512を拡大縮小して640*480にはめ込むなんてのもあり。

ていうかDirectDrawを使ったことが無いのでわからんちん。DirectGraphics簡単すぎねん。
ちなみにスプライト関数はお勧めしない。うちだけかもしれんけどなんか沢山だすとやたら重い。
頂点データで自前スプライト関数を作るのをお勧め。どうせ作るやつに併せて関数組替えるんだし細かいトコまで指定できるそっちのが良いかと。
初心者の漏れが言うことなんで自信なし。
このスレ見てる人はもっと上手い事言えると思うけど。

841 :名前は開発中のものです。:02/10/04 23:18 ID:???
>>839
確かスプライトは勝手に伸縮するから、空のテクスチャを作った後に画像を
転送するとかそういう工夫が必要だったはず。


842 :名前は開発中のものです。:02/10/04 23:23 ID:???
最近はエロゲでも640x480より大画面のゲームあるだろ。

2D野郎はけち臭いし面倒くさがり。
そのくせMMXやらSSEの自慰的最適化は大好き。
面倒なのが好きなら256x256を5枚確保して分割しろ。
5枚目は128x256に分ける


843 :名前は開発中のものです。:02/10/05 00:14 ID:???
>>831
http://www.aqut.homeip.net/quadrupled/ml/200201/msg00000.html
↑とかは?

844 :名前は開発中のものです。:02/10/05 07:45 ID:???
フルスクリーンってFPS自動調整してくれるんですか?
ウインドウだと1000FPSなのにフルだと70〜80になります。

845 :816:02/10/05 07:46 ID:???
>>817 >>818 カイタノワスレテタ. アリガト

846 :名前は開発中のものです。:02/10/05 09:18 ID:CpVGlNaL
>>844
リフレッシュレートに同期してんじゃねぇの?
デフォルトでは同期だっけ?

847 :名前は開発中のものです。:02/10/05 09:39 ID:???
>>839
テクスチャのサイズは累乗の制限を受けるが
画像自体が勝手に伸びたり縮んだりすることは絶対に無い
D3DXでわざわざ伸張フィルター付で読み込んでいるとかいう落ちでは?

848 :名前は開発中のものです。:02/10/05 10:14 ID:CpVGlNaL
ifさんのHPいつのまにか消えてる〜?
消息知らない?

大体煮詰まってくるとHP消しちゃうんだよなー 
おながいしますよ

849 :839:02/10/05 10:19 ID:???
>>840
>>841
>>842
助言ありがとうございます
うーん、やっぱりテクスチャのサイズ制限を受けてしまうみたいですね……

>>847
すいません、フィルターかけてました(;´Д`)

850 :名前は開発中のものです。:02/10/05 10:24 ID:???
>>839
テクスチャ読み込み時にD3DX_FILTER_NONEを指定しなさい。そうすれば累乗でできた余白は黒になる。

851 :名前は開発中のものです。:02/10/05 11:53 ID:???
>>839
1024*512のテクスチャを作って640*480のBMPとかを
読み込ませてポリゴンに張って使えばいいと思うよ。
ただし、ピクセルとテクセルが完全に一致しない事がある。
座標に0.5の補正を掛けてもダメで、ドライバーの設定を
いじってもダメだった。元絵が微妙にボケる可能性あり。

>>842
>最近はエロゲでも640x480より大画面のゲームあるだろ。
>2D野郎はけち臭いし面倒くさがり。

CDの容量とかデザイナの手間を考えて640*480にするんじゃねぇの?
エフェクトとかも考えると640*480じゃないと古い機種はつらい。

>>848
if氏のはこっちに引越し。
http://www.t-pot.com/


852 :名前は開発中のものです。:02/10/05 11:56 ID:CpVGlNaL
>>851
サンクス〜(号泣

853 :名前は開発中のものです。:02/10/05 13:24 ID:???
DrawIndexedPrimitiveの2番目の引数MinIndexの説明で
「この呼び出しの間に使用される頂点群に対する最小の頂点インデックス。」
ってなってるんですけど、これは4番目の引数StartIndexの説明
「インデックス配列の中で頂点の読み取りを開始する位置。」
と何が違うのでしょうか?

854 :名前は開発中のものです。:02/10/05 13:41 ID:???
修飾子を外していくとわかる
1つ目は「頂点群に対する最小の頂点インデックス」
2つ目は「インデックス配列の読み出し開始位置」
対象が違うっしょ

855 :名前は開発中のものです。:02/10/05 13:42 ID:???
StartIndex。インデックスバッファの
MinIndex インデックスバッファの中の値の最小値。「頂点バッファの
開始位置」みたいな使い方。



856 :名前は開発中のものです。:02/10/05 18:11 ID:???
モーションが大変ってのはわかるんですが、シェーダーとか
一通りいじってきたので、そろそろモーションやろうと思ってます。

IFさんのページとか見たのですが、もっとじっくり知りたいのです。
おすすめの本とかサイトとか在りますでしょうか?

857 :名前は開発中のものです。:02/10/05 20:54 ID:???
>>856
Advanced Animation and Rendering Techniques : Theory and Practice
http://www.amazon.co.jp/exec/obidos/ASIN/0201544121/qid%3D1033818807/249-1506701-3573152


858 :名前は開発中のものです。:02/10/05 23:17 ID:Lt8u7Bgr
DotProduct3バンプ+加算マルチテクスチャ
現在PixelShaderを使わないでやってますが、
ほとんどマルチパスになっちゃってます。
普通xバンプ + 加算xバンプ
やっぱもったいないですか?

859 :名前は開発中のものです。:02/10/06 00:33 ID:???
頂点群に対する最小の頂点インデックス
最小って何が最小なんですか?
描画のタイプ(TRIANBLEFANとか)とプリミティブの数の二つの引数から
呼び出されるインデックスの数がわかるので、この二つとあとはインデックス
バッファの開始場所の引数だけあればいいってことではないのですか?

860 :名前は開発中のものです。:02/10/06 00:41 ID:4rON28Od

http://c4.cgiboy.com/darkserge999/



861 :名前は開発中のものです。:02/10/06 00:45 ID:???
>>859
2番目の引数MinIndexと3番目の引数NumVerticesというのは、
頂点バッファにあるN個の頂点のうち
「MinIndex番目からNumVertex個使う」
という指示なんだろう。

この範囲の頂点をハードウェアに送ったりT&Lしたり
なんらかの最適化に用いるんだと思う。

862 :名前は開発中のものです。:02/10/06 02:12 ID:???
3D STUDIO MAXで吐き出すXファイルってのはモーションが付いてくるのですか?
棒を作ってボーン二個でうねるアニメを作りSDK付属のXファイルを吐き出しましたがメッシュビューワーでアニメーションしません
休日使って学校行ったのに何も進展なかったら欝だ・・・。

863 :名前は開発中のものです。:02/10/06 02:37 ID:???
棒でボーン
あぼーん
不幸

864 :名前は開発中のものです。:02/10/06 03:07 ID:???
SetTextureStageStateが思い通りに行かなくて困っています。
質問なんですが、

SetTextureStageStateで
テクスチャのアルファを参照するようにしているときに、
RGB565のようなアルファをもたないテクスチャを割り当てたら、
アルファは 0、1 どちらと見なされるんでしょうか?

865 :名前は開発中のものです。:02/10/06 06:05 ID:???
>>862
ついてくる。
というか、Xファイルをテキストで出してみればわかる。

ちなみにMAXの場合、モーションなんかより
スキニング情報を出力させるのが厄介
(アニメーションしないのもそのせいだろう)。

プラグインのReadmeに書いてあるから読んでみ。

そもそもMAXは設計がおかしいから(機能追加による無意味な肥満化)
可能であればMayaなりXSIに移行することを勧める。

ついでに言うと、はじめはXファイル使うのもいいが、
3Dの仕組みわかってきたら自分でプラグイン作ることも勧めておく。

866 :名前は開発中のものです。:02/10/06 09:01 ID:PrcbrNwY
3DツールのSDKが英語なのが辛い
MAXのSDK 日本語化が完全に終わってない、つかする気もない模様。詐欺だ。明記しとけ
文句言う方がヘタレですか、、、ショボーン

各ツール触ってないと、内部構造まで比較できないっすよねぇ
購入前にSDKあまり覗け無いし… MAXは醜いのか…

割とmaxフォーマットが広まってるので大金だして買ったのに鬱〜

867 :名前は開発中のものです。:02/10/06 10:11 ID:???
>>864
1

868 :名前は開発中のものです。:02/10/06 10:40 ID:???
だいたい基本である3Dモデルを個人で手軽に作れない時点でこの業界終わってるよな。

869 :名前は開発中のものです。:02/10/06 11:30 ID:???
著作権フリー素材集ってあんまり出回ってないのかな?

870 :名前は開発中のものです。:02/10/06 11:37 ID:???
もしも。

もしもゲーム用の著作権フリー素材集を公開したところ、
著作者を明示せずに無断で流用する連中が横行し、
自分の素材が使われたゲームが見たいと思っても誰も作者に報告しない。
あまつさえ散々利用していたはずの連中に匿名掲示板で中傷される。
そんな状況だったらゲーム用のフリー素材集をどれだけの人間が公開するだろう?
あなたは素材製作者に対してどれだけのものを還元してきたのだろう?

結局、他人の善意を引き出すことができるのは自分の善意だけだ。
誰かがやることを期待するよりも自分が先鞭をつけることが先ではないのか?

871 :名前は開発中のものです。:02/10/06 11:59 ID:???
>>870
あーいやそのフリー公開じゃなくて・・・
音楽とか効果音とか壁紙とかって売ってるじゃない
そういうの

872 :名前は開発中のものです。:02/10/06 12:17 ID:???
3Dはピーコ品じゃないと手出すのもバカらしいくらいソフト高いからな〜

873 :名前は開発中のものです。:02/10/06 12:30 ID:PrcbrNwY
どんなデーターを期待してるんだ?
人体だって それなりに公開されてるだろ。Mikotoのデーターとかな

まず、コンバーター作ってプログラムに組み込んで、ゲームなり動く状態になったら
それを見せてデーター利用の交渉しろよ


874 :名前は開発中のものです。:02/10/06 12:44 ID:???
>865
ありがとうございます。
Readme訳して勉強してきます。
学校がMAXとLightWave置いてあるんでそれを使ってるんです。
LightWaveは友人いわくテクスチャ付ワンスキンアニメの出力にバグがあるとかなんとかでMAXをやって見たんですが。


875 :名前は開発中のものです。:02/10/06 13:06 ID:???
ああ、素材スレありましたね
そっち行きます

876 :名前は開発中のものです。:02/10/06 14:11 ID:OgV3YXy2
リアルな爆発シーンを、パーティクルを使って描画しようと思っていますが、
自分で作ったプログラムを動かしてみても、しょぼい爆発しか描画されません。
というか、ただのビットマップが数個重なって(αブレンドはしたけど)表示されるだけです。

画像は、windowsのペイントのスプレーでちゃちゃっと書いたようなものなのですが、
これが原因なのですか?
どうしても爆発が粗く見えるのです。

それとも、DirectXの描画機能で、ぼかすなどの機能があるのですか?
それとも、プログラム中で画像をぼかす機能を自分で実装するのですか?

みなさんどうやってます?


877 :名前は開発中のものです。:02/10/06 14:48 ID:???
>876
ttp://www.vector.co.jp/soft/win95/art/se173882.html
こんなん使ってる。
スプレーでやる場合Windowsのペイントだと標準の色が彩度が高いので綺麗にならない


878 :名前は開発中のものです。:02/10/06 15:13 ID:???
>3DツールのSDKが英語なのが辛い
>MAXのSDK 日本語化が完全に終わってない、つかする気もない模様。詐欺だ。明記しとけ

翻訳ソフト通してある程度判断すればいい。つーか英語覚えなさい。
モデルの出力プラグインならMSもソース付きで公開してるし
あるものを解析して吸収するべし。
正直日本語マニュアルが無いと何も出来ない奴はヘタレ。

879 :名前は開発中のものです。:02/10/06 16:06 ID:PrcbrNwY
ま、そうなんだけどね、日本語マニュアル って文中のリンクが全部切れてるしゴルァ って感じ
リンクの張ってないOnlineDocなんて読めるかゴルァ

印刷してもまた別の面で不便


880 :名前は開発中のものです。 :02/10/06 16:42 ID:tRa4bAyP
みんな、新しい顔文字ができました。いっぱい使ってください!

σ゚д゚)ボーノ  

 ボーノとは、イタリア語で「おいしい」という意味です。
2chでメジャーの(゚д゚)ウマーに対抗して(?)できたようです。

※ちなみに、絵の意味は、イタリア人によく見られる、
 おいしいときに指をほっぺにあてる仕草です


881 :名前は開発中のものです。:02/10/06 16:47 ID:???
>>880
そういうくだらないことは他のクソスレでやってくれ

882 :名前は開発中のものです。:02/10/06 16:53 ID:???
ちょっとまってくれよっ。このスレがクソスレじゃないって証拠がどこにあるんだ!?

883 :名前は開発中のものです。:02/10/06 17:01 ID:???
そこかしこに

884 :名前は開発中のものです。:02/10/06 17:08 ID:???
>>871
売っている素材集は基本的にゲーム等には使えないよ。
普通はテクスチャ等を単体で抜き出せるような用途には使用不可能。
ようするにプリレンダムービーにしか使えない。

885 :名前は開発中のものです。:02/10/06 17:23 ID:???
ここはこの板でも数少ないまともなスレだろうが

886 :名前は開発中のものです。:02/10/06 18:00 ID:???
>>884
いや、だから著作権フリーの、と書いてあるんですが・・・

887 :名前は開発中のものです。:02/10/06 18:21 ID:OgV3YXy2
DirectXには加算合成はないようですが、光とかってどう表現したら
よいのですか?



888 :名前は開発中のものです。:02/10/06 18:26 ID:???
> DirectXには加算合成はないようですが

ポカーン

889 :名前は開発中のものです。:02/10/06 18:34 ID:???
>>887
ライティングはdiffuseやspecularやambientなどで表現します。
というかprogramable shaderがあることだし、方法は無数です。
ファミコンではドット絵で表現した。
聖人は言葉で表現しました。
WinGLは236色(だっけ)中の近い色と置換する変換テーブルだっけ?

887に光明あれ。首をくくればおそらくJacob's ladderを視れる

890 :名前は開発中のものです。:02/10/06 18:40 ID:???
>>887
ある、馬鹿なことを言う前にヘルプで確認しろ

891 :名前は開発中のものです。:02/10/06 20:50 ID:???
>887
ていうかDirectDrawですか?
それなら自前でピクセル毎にがんばって。
3D|Graphicsならヘルプを読みましょう。

892 :名前は開発中のものです。:02/10/06 21:27 ID:???
DirectXGraphicsでの2D描画です。
頂点バッファを使わないでもできますか?

893 :名前は開発中のものです。:02/10/06 21:44 ID:???
何度もヘルプを見ろと書いてあるはずだが読んだのか?

894 :名前は開発中のものです。:02/10/06 21:51 ID:???
>>893
お前には聞いてない

895 :名前は開発中のものです。:02/10/06 21:54 ID:???
>892
出来る。
SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);
透明On
SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ONE);
黒抜き
SetRenderState(D3DRS_DESTBLEND,D3DBLEND_ONE);
加算
この後に描画するものはすべて加算になる。
戻し方は探せ。応用だ。

896 :895:02/10/06 21:56 ID:???
>894
逆ギレするくらいならこんな簡単なことで聞くな。ヘルプに載ってるんだから

897 :名前は開発中のものです。:02/10/06 21:58 ID:???
>>895


898 :名前は開発中のものです。:02/10/06 22:15 ID:???
別にヘルプに載ってる事ぐらい教えてやればいいのに。
ここのレベルが低い事ぐらい見ればわかるんだから相手に合わせろよ。
素人の書き込みにカリカリするなら来ないほうがいいぞ。

899 :名前は開発中のものです。:02/10/06 22:19 ID:???
逆だ
素人がわからないことはヘルプに載ってるがヘルプに載ってないことこそ経験者に聞く必要がある。
相手に合わせろというくらいならおまえが相手に合わせてヘルプを読め。
そもそもDirectXSDKを使うのにそのヘルプを読まないとはどういう神経してんだ。

900 :名前は開発中のものです。:02/10/06 22:25 ID:???
>898
その低レベルに聞かなきゃならんヤツならそのレベルを超えるべくここに来ないでもっとレベル高いとこ行けと。

901 :名前は開発中のものです。:02/10/06 22:27 ID:???
>895 899 900
廚にかまうな。駄スレ化する。

902 :名前は開発中のものです。:02/10/06 22:32 ID:???
そろそろ次スレの準備

903 :名前は開発中のものです。:02/10/06 22:35 ID:???
>>1の初心者用相談室ってどこ?

904 :名前は開発中のものです。:02/10/06 22:37 ID:???
で、どんなレベルの話ならOKなんだ?
ネットで検索すれば出てくる話題はNGか?
英語資料読みもしない奴の質問もNGだよな。
とりあえずシーグラフレベル以外は質問すんなよ。

905 :次スレは>>950が:02/10/06 22:50 ID:???
まぁまぁマターリ。

あまりにもアレだったら、初心者スレか物凄い勢いスレに誘導すればいいじゃん。
レベルの話自体が荒れる兆候なんだって。

906 :名前は開発中のものです。:02/10/06 23:24 ID:???
最低限ヘルプを読んで、それで意味が分からなければ聞けばいい
努力が見られない人間に気持ちよく答えてやれる人間は少ない

907 :名前は開発中のものです。:02/10/06 23:38 ID:???
>906
そうそう、それよ。
たとえば「ヘルプを見たけどどのような命令で加算ができるのかわかりません。DrawPrimitiveに何かやるのでしょうか」
みたいな初心者だけど色々試してそれでも分からん(↑この場合的違いなんだが)とかだったら答えやすい。
レベルとかじゃなく、態度やな。例えレベル高くても慇懃無礼なヤツには対応するのも面倒。
超初心者でも丁寧かつ行動してるやつなら応える。

908 :名前は開発中のものです。:02/10/07 00:26 ID:???
初心者を抜け出したと思ってる奴が一番態度悪いよな。
変にプライド持ってたり自分の考え押し付けたり。
まぁそーゆー奴の質問にはGoogleのアドレスと
検索キーワード教えてやるだけ。
実際検索も出来ん奴は叩かれておしまい。

909 :名前は開発中のものです。:02/10/07 00:29 ID:???
次スレまだ?

910 :名前は開発中のものです。:02/10/07 00:40 ID:???
こんなレベル低いスレ要るのか?

911 :名前は開発中のものです。:02/10/07 00:50 ID:???
低いかどうかは知らんが、要る。

912 :名前は開発中のものです。:02/10/07 00:54 ID:???
>908
まさに初心忘れるべからずですな。

>910
それをいったらこの板の存在が

913 :名前は開発中のものです。:02/10/07 00:58 ID:???
>それをいったらこの板の存在が

何か勘違いしてない?この板は隔離板でしょ。
ちゃんと機能してるんじゃないの。

914 :名前は開発中のものです。:02/10/07 01:00 ID:???
>913
ゴメン納得

915 :次スレの1:02/10/07 01:03 ID:???
http://game.2ch.net/test/read.cgi/gamedev/1033920036/l50
次スレたてました

が、確認画面があると思ってた・・・鬱だ氏のう

916 :名前は開発中のものです。:02/10/07 01:05 ID:???
じゃあ必要と思ってる人が次スレ立てといてくれ。

228 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)