鬱だ氏のう DirectX (Part 5)
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名前は開発中のものですた。
02/07/23 00:32ID:DsnWt/i.初心者用相談室では扱わないような少し高度な話題も受け持つ。
■旧スレ(プログラム板)
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)
コピペスマソ
0002名前は開発中のものです。
02/07/23 00:42ID:???前スレの宿題よろしく。
0003名前は開発中のものです。
02/07/23 01:13ID:???古い話なんだから、分からないことがあれば過去ログあさればいいのに。
それに毎度毎度、「俺はほとんど自前でDirectDrawは使わない」って
自慢しに来る自前描画主義者が出るし。
0004名前は開発中のものです。
02/07/23 01:18ID:???0005名前は開発中のものです。
02/07/23 01:55ID:???0006名前は開発中のものです。
02/07/23 02:46ID:3mnZwdQ2ありませんか?
0007名前は開発中のものです。
02/07/23 02:57ID:???死ぬほど複雑なプログラムというわけでもないから、無ければ
作ってみると良いのでは?キューブマップみたいに6面で
見た風景を、円に写像変換する奴。円のメッシュの切り方
がポイントになりそうだけど。
というか、厳密なスフィアマップを作る事に、そこまで意味は
あるのかな?視点が変わったらスフィアマップは正確では
なくなるんだし、ある程度適当でも言いような・・・。というのは
怠け者の意見。
0008名前は開発中のものです。
02/07/23 12:00ID:???>以前に比べればカナリ淘汰されてるから、
MSも、ビデオチップごとのレンダリング結果の差を小さくするようあれこれ手を打ったしね。
自前一筋の人はこういう動向も知らんだろうけど。
0009名前は開発中のものです。
02/07/23 12:56ID:???だろう? データ的には、ミサイルやレーザーが当たった座標をバッファに
保存して、最も古く破壊された所から順に復活(再生)させているのだろうけど、
グラフィック的な処理が分からない。
0010名前は開発中のものです。
02/07/23 14:10ID:???この時点で思い違いしている。
それに、ここはDirectXの話するところだろ。スレ違いだ。
0011名前は開発中のものです。
02/07/23 14:35ID:???いたた。スレ違いすまそです。
http://game.2ch.net/test/read.cgi/gamedev/1020950091/l50
こちらに移動しました。
0012名前は開発中のものです。
02/07/23 19:08ID:???相手の四角形との内外判定をしてから線分の交差判定をすればOK。
ただし、正方形や長方形ならば点の内外判定は簡単だから(内積2回)、
4点全て判定してしまった方が平均では軽くなると思う。
ゲームなら線分の交差判定までやらなくても、重心とか辺の中点も内外判定
するだけで十分。あまり扁平した長方形を使わなければ、頂点だけの判定で
も十分。
これ以上は【Collision Detection】スレで
0013名前は開発中のものです。
02/07/23 20:28ID:???アクションマッピングっていちいち指定しなきゃいかんの?
めんどくさいからデフォルトの「CAD - 3D object control」
(dinput.h:4090行あたり)のままにしてるんだけど、何か弊害があるのだろうか。
日本語版ヘルプ見ても、
x 軸からデータを取得して車を左右に動かすのではなく、
DIAXIS_DRIVINGR_STEER という仮想コントロールからデータを
取得することになる
てことは、結局やってることは一緒だと思うんだけど…概念の問題?
# キーコンフィグを自前で用意しなくてもいいらしいのは助かるけど、
# あまりカッコよくないね
0014名前は開発中のものです。
02/07/24 00:28ID:???普通のジョイスティックで車ゲームを遊ぶ人はX軸をステアリングにするけど
ネジコンで遊ぶ人は捻る軸をステアリングにするでしょ?
ネジコンで遊ぶ人は車ゲームを遊ぶときは必ず捻る軸をステアリングにするし
車ゲーム以外なら十字キーの方を使う。そのマッピングを楽にするのが、
アクションマッピングの役目。
0015名前は開発中のものです。
02/07/24 11:35ID:???何となくわかった気がする。
サンクス。
0016名前は開発中のものです。
02/07/24 12:48ID:???格ゲーの体力ゲージのようなものはどうやって表示するんでしょう?
オフスクリーンサーフェスはどこへいったぁぁぁぁ!
サーフェスに描いてCopyRectか自分で転送するしかないのかな…
0017名前は開発中のものです。
02/07/24 13:05ID:???板ポリゴンにテクスチャ貼りつけるじゃ駄目?
0018名前は開発中のものです。
02/07/24 13:13ID:???ありがとう
そうすると、カメラの移動とともにポリゴンを移動させねばなりませんね。
やってみるか。
(ちなみに、マリオ64やサルゲッチュのようなサンプルです。)
0019名前は開発中のものです。
02/07/24 14:29ID:???トランスフォーム済み頂点をつかって
スクリーン上の2D座標を直接指定すればいいのでは?
0021名前は開発中のものです。
02/07/24 21:20ID:???何故ゲージごときにテクスチャがいるのか、小一時間問いつめたい
0022名前は開発中のものです。
02/07/24 21:43ID:???凝った絵柄にするなら必要じゃないか?
0023名前は開発中のものです。
02/07/24 23:21ID:???なぜ「ゲージ=単色」と考えるのか、小一時間問いつめたい
0024名前は開発中のものです。
02/07/24 23:40ID:bCFuNa3Q0025名前は開発中のものです。
02/07/24 23:59ID:???何故「テクスチャを使わない=単色」と考えるのか、小一時間問いつめたい
0026名前は開発中のものです。
02/07/25 00:03ID:???ゲージ部分にわざわざテクスチャを使って重くする必要は無いと思うが?
0027名前は開発中のものです。
02/07/25 00:06ID:FyiymMBkゲージも3DモデルにしてX軸回転させてウマー
0028名前は開発中のものです
02/07/25 00:06ID:???0029名前は開発中のものです。
02/07/25 00:09ID:???+-----------------------------------------------+
|+------------------------------------+ |
||<------------グラデ----------------->| |
|+------------------------------------+ |
+-----------------------------------------------+
こんなの。
0030名前は開発中のものです。
02/07/25 00:13ID:???どううまく表現できないのか分からないですが、
それならポリゴン4枚で用が足ります。
0031名前は開発中のものです。
02/07/25 00:43ID:???つまりポリゴンの使い方が分かっていないから、矩形一つという発想しか出来ず、
テクスチャとか言い出したという落ちか
模様として使うなら全く別問題だし、凝ったものと言っても枠の部分も別問題
ゲージの長さを表す部分をテクスチャで描くとすると、
変化するたびにテクスチャをロックして書き直すのは無駄が多すぎる
0032名前は開発中のものです。
02/07/25 01:07ID:???アルファ付テクスチャで角のまぁるくてかわぃぃ模様のゲージにしようぜ。
0033名前は開発中のものです。
02/07/25 01:10ID:???この程度ではfpsに影響するほどパフォーマンス的な差はないし。
線形補間のグラデーションだけでみんな満足?
0034名前は開発中のものです。
02/07/25 01:17ID:???凝る以外にもっとやるべきことがあるとは思われるが。
0035名前は開発中のものです。
02/07/25 01:24ID:???自力で解決のしようがないと思うが。
0036名前は開発中のものです。
02/07/25 01:27ID:???>変化するたびにテクスチャをロックして書き直すのは無駄が多すぎる
ゲージと模様を別テクスチャにすれば解決するんじゃ、、、
それで板ポリゴン2枚で済むけど、致命的な速度低下に繋がるのだろうか、、、
0037名前は開発中のものです。
02/07/25 09:44ID:???0038あのう
02/07/26 02:03ID:???DirectInputで入力デバイスからの情報を受け取るのって
描画部分の関数の先頭にかかれてるじゃないですか。
このボタンが押されたら前に進むとかそういう感じに。
でも、ってことはFPSの違う環境でプレイしたらプレイヤーの移動速度が
変わってしまうってことにならないですか?
0039あのう
02/07/26 02:08ID:???失礼しました。
0040名前は開発中のものです。
02/07/26 02:08ID:Cdb3asbE0041あのう
02/07/26 02:14ID:???たとえば十時キーの上ボタンをおしたら
move.z+=1.0f;
にして
下の方のプレイヤーを描画する部分
D3DXTranslation(&mTrans,0.0f+move.z,0.0f+move.y,0.0f+move.z);
なんて感じにしたらやっぱFPSが高ければ高いほど
前に進んじゃうのかななんて思ってしまいまして。
もうすこし概念的な部分からDirectXを勉強する必要があるみたいですね
どうもありがとうございました。
0042名前は開発中のものです。
02/07/26 03:42ID:???0043名前は開発中のものです。
02/07/26 04:11ID:???41で言えば
move.z += 1.0f * d;
で、dは基準にしたfpsに対する実際のfpsの割合係数。
要するに多く呼び出す分だけコマ毎の移動量を減らすんだよ
0044名前は開発中のものです。
02/07/26 07:49ID:???方向キーを同時に押すと取り込まれないんだけど。
0045名前は開発中のものです。
02/07/26 08:36ID:???0046名前は開発中のものです。
02/07/26 08:37ID:???0047名前は開発中のものです。
02/07/26 11:32ID:???0048名前は開発中のものです。
02/07/26 14:08ID:???サーフェスのDCって取得できなくなったの?
myDC = pSurface->GetDC()
画面キャプチャしたいんだけどどうすればいいのか???
0049名前は開発中のものです。
02/07/26 15:27ID:JZcpJvLwはじめのDX初期化のときに使うウインドウハンドルでGeDC()すれば?
0051名前は開発中のものです。
02/07/26 20:01ID:???それだとフルスクリーンでFlipしてるときに上手く取り込めないよ。
キャプチャしたいならIDirect3DDevice8::GetFrontBufferがいいかと。
D3DFMT_A8R8G8B8に変換された状態で取得できるから、その後の取り扱いも楽。
0052あのう
02/07/26 22:06ID:???43さんの説明でやっとわかりました。
先が思いやられますが、DirectX9がでる前に一通りできるようにがんばろうと思います。ありがとうございました。
005348
02/07/26 22:23ID:???0054名前は開発中のものです。
02/07/26 23:04ID:???GetRenderTargetでバックバッファを取得するのでは駄目なの?
0055名前は開発中のものです。
02/07/27 00:35ID:???そのサーフィスロックして、直接アクセスすればピクセルは
持ってこれるよね・・・。というか、テクスチャから保存できる
プログラム組んでるなら、Bltで転送すれば良いんだし。
というのを以前Zバッファでやろうとしたら自滅しますた。
Capsビューアで見ると、ZバッファってLockableなサーフィス
を持つかどうかもビデオカードとドライバ次第なんだね。
Radeonは出来ると出ていたのに出来なかった・・・。
OpenGLだと例外なく出来るけど、遅い。
0056名前は開発中のものです。
02/07/27 01:27ID:???そのあとCopyRects()使うのかな?
アレ遅いんだよねぇ…
0057名前は開発中のものです。
02/07/27 01:58ID:???人から「動きません」って言われてしまった
ビデオメモリ4MBらしいんだけど、この環境で動かす事ってできるのかな?
0058名前は開発中のものです。
02/07/27 02:05ID:???モノによる。
それ以前にドライバが入ってないとかDirectX7でしたとか…
0059名前は開発中のものです。
02/07/27 02:10ID:???何故そこでCopyRectsが出てくるの?
そのままLockすればいいんじゃないの?
006048
02/07/27 02:13ID:???テクスチャとして取得したいのですが、可能でしょうか?
FF7などでバトル突入するときの効果が作れそうですし。
んで>>53のような方法を思いついたわけですが、なぜかポリゴンの描画順がばらばらに。ヽ(`Д´)ノ
IDirect3DDevice8::SetRenderTarget()のステンシルバッファへのポインタをNULLにしてるんですが、マズイでしょうか?
IDirect3DDevice8::GetDepthStencilSurface()で取得したポインタ使うと D3DERR_INVALIDCALL になっちゃうし。
0061名無しサソ
02/07/27 02:54ID:???テクスチャと普通のバックバッファ領域の大きさは同じじゃないから、
当然Zバッファも割り当て直さないといけないよ。それをしないと、描画順
が当然滅茶苦茶になる。ちゃんとしたテクスチャサーフィスへの描画方法
は、CubeMapのサンプルを見てみると良く分かるよ。
006248
02/07/27 03:08ID:???ああん、一歩遅かった。
書いてからもしやと思って割り当てなおしたらできますた。
要領悪くてごめんなさい。
widthとheightが512とかじゃないとダメなのかな…
ミップマップ関連のせい?
0063名無しサソ
02/07/27 03:27ID:???テクスチャは2の乗数の正方形と相場が決まってるんだけど・・・。
128とか256とか512。それが嫌ならバックバッファから読んで保存すると
いいのでは?リアルタイムでバンバンキャプチャしていく方針なの?
0064名前は開発中のものです。
02/07/27 03:35ID:???遅くなるが、別に2の乗数でなくてもテクスチャは作れる
0065名無しサソ
02/07/27 03:40ID:???今までそれ以外で作ってなかったから、考えても
いなかったよ。ありがとう。かつてVoodooとかでは
もっとおかしな制限があったことを思い出してみたり。
0066名前は開発中のものです。
02/07/27 08:20ID:???色々と制限があったりするので注意。
詳しくはD3DPTEXTURECAPS_NONPOW2CONDITIONALの説明でも読んで。
ちなみにGeForce3/4はこの制限にひっかかってる。
あんまり関係ない制限だけどね。
0067名前は開発中のものです。
02/07/27 09:32ID:???「DirectX8が正常に作動してる」って言ってるんで信用するしか無いんだけど。
でもモノによる、か。サンクス
0068名前は開発中のものです。
02/07/27 11:17ID:.3MPTeOs0069名前は開発中のものです。
02/07/27 13:33ID:???正方形である必要はない
適当なことを書く前に試せ
>>64
一部に作れるものが存在するかもしれないが
ほとんどのビデオカードは2の乗数でしか作れない
0070名前は開発中のものです。
02/07/27 13:46ID:???俺のマシンでは2の乗数じゃないとダメぽ…
0071名無しサソ
02/07/27 17:45ID:???おうちにあるVoodooシリーズにはそう言う制限があったんだよ。
お試し済みなので、一応。今となっては意味がないと言われるかも
知れないけど、あまり意味のない制限で動作ハードウェアを減らすのは
どうかという主義だから、テクスチャは正方形かつ2の乗数を普通に
使ってるんだけど・・・。
主義が違う、と言うんならゴメソ。
0072名前は開発中のものです。
02/07/27 17:51ID:???0073名前は開発中のものです。
02/07/27 17:57ID:.3MPTeOs値段下げればもっと売れるとおもうんだが。
しかし、2000からどんどん素材の質が下がってきてるな。
先頭画面に配置されてるドラゴンなんか見る影もない・・・
007473
02/07/27 17:57ID:???0075名前は開発中のものです。
02/07/27 18:58ID:???で作成したテクスチャをRelease()で開放しても使用メモリが減らないのは何故??
CD3DFont(AppWizardが吐くヤツね)使ってて、
最初にCD3DFont::InitDeviceObjects呼んで、
最後にCD3DFont::DeleteDeviceObjectsで開放してんだけど。
俺だけ?
Windows2000 VisualC++6.0 DirectX8.1 Debug/Release
0076名前は開発中のものです。
02/07/27 19:30ID:???てことは、たとえば640*480のテクスチャ貼りたいとおもったら、
512*512を2枚用意しろってコト?
0077名前は開発中のものです。
02/07/27 19:59ID:???Voodoo3まではテクスチャの最大サイズが256*256なので、
その場合は256*256のテクスチャを6枚用意することになるよ。
0078名前は開発中のものです。
02/07/27 20:20ID:???うげ、マジすか
自分でテクスチャクラス作って、ビデオカードに合わせて内部で処理を切り替えるか…
それとも256*256で基準で作ればいいのかな?
まさか64*64までしか作れないなんてビデオカードはあるまい…
0079名前は開発中のものです。
02/07/27 21:48ID:???インストーラで、テクスチャ解像度を選択させてインストールという手もある。
市販ゲームでもよく使われてる。
0080名前は開発中のものです。
02/07/27 23:11ID:???>適当なことを書く前に試せ
試す前にヘルプを読め
008169じゃないけど、ちと調べてみた
02/07/28 00:23ID:???日本語版8.0のヘルプを「正方形」で検索したけど出てこなかった。
IDirect3DDevice8::GetDeviceCaps()で得られる情報の、
TextureCaps が D3DPTEXTURECAPS_SQUAREONLY の場合は正方形でないとまずいだろうけど
そうじゃなければ別にいいのでは?
# DirectX Graphics > プログラミングのヒントおよびツール > パフォーマンスの最適化
# > テクスチャサイズ …によれば、256 × 256 のテクスチャが最速らしいが。
0082名前は開発中のものです。
02/07/28 01:01ID:???そうじゃなければ別にいいけどさぁ・・・
0083名前は開発中のものです。
02/07/28 03:36ID:???>一部に作れるものが存在するかもしれないが
NVIDIAはGeForce3以降、ATiは初代RADEON以降、MatroxはG200以降、Intelは830で
作れるようになったけど、それが一部?現状の半分くらいは行ってると思うが。
(815が対応してないのが痛い)
SQUAREONLYの方はNeoMagicやVIAまでチェックしてみたけどYesのは見つからなかった。
Riva128やVoodoo3でもNoだった。
逆にこれがYesでDirectX8が使えるチップがあったら教えて欲しい。
0084名前は開発中のものです。
02/07/28 04:46ID:???そうムキにならなくても…
0085名前は開発中のものです。
02/07/28 08:43ID:???0086名前は開発中のものです。
02/07/28 09:16ID:???0087名前は開発中のものです。
02/07/28 09:35ID:???初期のViRGEとかはそう。昔はそれに加えて、半透明の対応度が
各社マチマチで酷かった。
0088名前は開発中のものです。
02/07/28 17:01ID:???0089名前は開発中のものです。
02/07/29 16:43ID:???自己解決できる奴が大半なんだよね。
すごいや。
0090名前は開発中のものです。
02/07/30 00:22ID:???0091名前は開発中のものです。
02/07/30 03:08ID:???誇り高き孤高の天才プログラマ
0092名前は開発中のものです。
02/07/30 08:56ID:???0093名前は開発中のものです。
02/07/30 16:04ID:???># > テクスチャサイズ …によれば、256 × 256 のテクスチャが最速らしいが。
これは128*128テクスチャを4つ切り替えるよりも256*256にしたほうが速いってことで、
サイズは小さいにこしたことはない。
って話が旧スレにあったような
0094名前は開発中のものです。
02/07/30 23:15ID:???0095名前は開発中のものです。
02/07/31 05:40ID:???0096名前は開発中のものです。
02/07/31 06:55ID:a9hxPLQ6mciで鳴らした方がぜんぜん良い。mciの方は環境に依存されるんだろうけど
それでもぜんぜんまし。
改善する方法ってありますか?
0097名前は開発中のものです。
02/07/31 08:26ID:???意図したサイズになってくれません。
描画開始位置は正しいのですが、たとえば
:
vertex[3] =_TLVERTEX( x2, y2 , 0, 1, D3DCOLOR_XRGB(255,255,255), 2, 2);
とかやっても、画像と画像のあいだに画像の60%近い隙間ができてしまいます。
画像サイズが通常の4割減されてるようです。
Zの距離の問題でしょうか、さっぱりです。
ちなみにまだ3D空間や行列には手をつけてません。
どうかご進言ください。
0098名前は開発中のものです。
02/07/31 10:07ID:???もしかして、ときどき話題にはあがってたようですが
スプライトのサイズって(2^n)ピクセルにしないといけないんですか?
それでやったら直ったんですが・・・・・・
マジですか。
0099名前は開発中のものです。
02/07/31 10:14ID:???マジです
0100名前は開発中のものです。
02/07/31 10:34ID:???ロード系のAPIで勝手に補完されて読み込まれる
0101名前は開発中のものです。
02/07/31 12:40ID:94NQNZrsカラーキーがマゼンダで黒が1ドットあるとすると、黒が暗い紫になります。まいりました。SetRenderStateやTextureStageでANTIALIES等いろいろ設定したのですがだめでした。どうすればよいでしょう。
0102名前は開発中のものです。
02/07/31 12:51ID:???MIN/MAGFILTERに
D3DTEXF_POINTを使ったら?
ニヤレストネイバー法を使うようになるはず
0103名前は開発中のものです。
02/07/31 16:59ID:???頂点のDiffuseにα値入れてもαブレンドがきいてないみたい。
α関係のレンダーステートはこれだけやってます。
device->SetRenderState( D3DRS_ALPHABLENDENABLE, true );
device->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA );
device->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );
やってもやらなくても変わらず… なんか関係なさそう。
他の場所に何か設定があるんでしょうか?
それと、ID3DXSprite::BeginとかID3DXFont::Beginとかやった後だとαブレンドがききます。
多分この関数の内部でやってるレンダーステート変更をやればいいのだろうけど…
なんなのか全く不明です。。(涙
0104名前は開発中のものです。
02/07/31 18:25ID:???ALPHABLENDに使用されるSRCALPHA値はTextureStageStateで決まるので、
そちらも適切に設定しないと駄目。
device->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 );
device->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE );
それと、ライティングは明示的に無効にしておかないと問題あるかも。
device->SetRenderState( D3DRS_LIGHTING, FALSE );
0105103
02/07/31 18:29ID:???うわ〜、ありがとうございます… 上手くいきました。
Lightingは元々オフだったようなので大丈夫でした。
テクスチャ無しのポリゴンなのでテクスチャに目がいってなかったなぁ…
0106名前は開発中のものです。
02/07/31 18:47ID:94NQNZrsMINにNONE、MAGにPOINTを使ったらできました。どうもありがとうございました。
0107名前は開発中のものです。
02/07/31 19:50ID:94NQNZrs0108名前は開発中のものです。
02/07/31 19:53ID:???0109名前は開発中のものです。
02/07/31 20:42ID:94NQNZrs0110名前は開発中のものです。
02/08/01 00:31ID:???ピクセルの中心が整数位置にくるようにする。
例えば、100,200から表示させたかったら、座標は99.5, 199.5を渡す。
ヘルプの テクスチャ - テクスチャ座標 - テクセルとピクセル間の直接マッピング
を見れ
0111110
02/08/01 00:34ID:???0112名前は開発中のものです。
02/08/01 00:43ID:l3x/2iyMそういうことだったのですか。いやー参考になりました。どうもありがとうざいます。
0113名前は開発中のものです。
02/08/01 02:45ID:???知らなかった…鬱
0114名前は開発中のものです。
02/08/02 02:56ID:???そのあたりを知らないのがいそうだな。
0115◆OiOOQQF.
02/08/02 10:45ID:Rsc9P1wMそこで、キャラの頭だけ敵のほうに向けるといった事をやりたいのですが、サンプルが難しくて
どうやって特定のボーンを回転させられるかが分かりません。
教えてください。
0116名前は開発中のものです。
02/08/02 14:24ID:???ボーン入りって事は、Xfile形式ですよね?
それなら、そのXfileが、望む動きのモーションの情報をもっていないと
かなり面倒な作業をしないと無理です。
幾つかやり方があると思いますが、一番良いのは3Dモデリングソフト等で
動きを付けた物を、Xfileに吐き出すってやり方。
(オーソドックスなやり方だと、基本の位置から色々な動きのモーションを付け
複数のXfileにして、入力ごとにそれぞれを再生描画)
後は、自分でXfileを読み込んで、自分で頂点情報を形成。
勿論、法線情報、UV展開等も自分で。
そして、自分でその頂点に重みを付けて(ジオメトリブレンディング参照)
動きを制御ってやり方。
しかし、3Dソフトも使える身としては、2番目のやり方は
果てしなく面倒、無論、3Dプログラマなら出来なくてはいけないが、
目的と経緯を考えると、漏れは始めから、望む動きのXfileを持つって方を進める。
何方か、これ以外の方法があったならレスして下さい。
此方も参考にしたいです。
0117◆OiOOQQF.
02/08/02 15:04ID:Rsc9P1wM>幾つかやり方があると思いますが、一番良いのは3Dモデリングソフト等で
>動きを付けた物を、Xfileに吐き出すってやり方。
はい、モーション付きのxfileを読み込んで再生っていう所までは大丈夫なんです。
説明不足でしたが、例えばバイオハザード型ゲームでプレイヤーキャラが歩いていて、
近くにゾンビが来たり、謎解きのヒントになるものがあれば、頭だけをそっちの方向
に向けたいと思っています。頭以外の部分は歩行モーションの再生を続け、頭の動き
はプログラムで好きに角度を指定したいのです。
今までサンプルをブラックボックスとして使っていたので、ソースを見てもどうすれば
いいのかヘッポコな漏れにはわかりません・・・(^^;
0118名前は開発中のものです。
02/08/02 15:15ID:???頭の部分を書き換えろ
っていってもそのレベルじゃきびしいぞ。ソースきちんと読むしかないんじゃ?
0119116
02/08/02 15:31ID:???>に向けたいと思っています。頭以外の部分は歩行モーションの再生を続け、頭の動き
>はプログラムで好きに角度を指定したいのです。
リアルタイムにですか?うーん…自分では思いつく方法は
前レスにも書いた通り、自分でXfileから各情報を引っ張って来て
自分でオブジェクトを形成、そして自分で各頂点にジオメトリ係数(重み)を
リアルタイムで与えて、自分で変換をかけるしか……。
それと、DirectXではボーンは無いです。在るのは、各頂点の
ジオメトリ係数(重み)です。その重みが違うから、行列変換を
かけても一様な動きをしないので、関節で曲がったりと言った風に
動くのです。3Dソフト見たく、ボーンをつまんで、キーフレームで
動きを作るイメージでは無いのです。
…知っていたら、ごめんなさい。
0120◆OiOOQQF.
02/08/02 15:36ID:Rsc9P1wMこれをボーンの名前で引っ張ってくるようにすれば良いんですか。
ありがとうございました
0121名前は開発中のものです。
02/08/02 15:43ID:???死んだときに首がとれて転がる、なんて演出もできるけど
((((((;゚д゚))))))
0122116
02/08/02 15:49ID:???>>120
それだと、動き事のXfileを吐き出してるのと同じでは?
てっきり、動きの(ボーン)の無い所を
自分で動かしたい物だと思っておりました。
0123◆OiOOQQF.
02/08/02 17:03ID:Rsc9P1wM>それと、DirectXではボーンは無いです。在るのは、各頂点の
>ジオメトリ係数(重み)です。その重みが違うから、行列変換を
その各頂点に対応する行列のテーブルがあるんですよね?<サンプル
ですから、アニメーションのフレームを1コマ進めた後に、頭に対応してる行列を
自分で上書きしてやれば、頭だけ決め打ちのモーションとは違う動きをさせること
が出来ると理解したのですが・・・
0124名前は開発中のものです。
02/08/02 17:16ID:???サンプルでは最初にデーターを解析して最適かつ表示可能な状態に頂点indexデーターを分割する
で、この頂点Indexを表示する為には、行列の配列のx番(例えば肩)とy番(上腕)をD3DDeviceにセットしてちょ
って感じになる
だから、配列の頭の部分を書き換えればできるよ
頭の配列の位置を調べるのはどうやるんだったかな?
名前から取れるはずだけど忘れた
0125名前は開発中のものです。
02/08/02 17:35ID:???漏れも質問。その配列の頭の部分が取れたとして、そこに例えばD3DXMatrixRotationYで
右に90度回転させる行列を作ってドカンとセットしてやれば、普通にキャラは右を向い
て表示される訳??
親子関係とか考えなくてダイジョーブなのか
0126名前は開発中のものです。
02/08/02 17:52ID:???以下CMy3Dappricationのメンバ関数ね
順番としては
frameMove() (Frameに時間をセットする。するとSFrameクラス内で事前に登録されたアニメーションデーターからその時間の姿勢行列が作られる
親に時間をセットすると、子に伝達されていき、
Render関数の中のから
UpdateFrame() を呼び出して親子関係の計算
drawFrame() 描画
なのでUpdateFrame()前にいじると出来る気がする
上に上げた関数あたりを読んでちょ
0127名前は開発中のものです。
02/08/02 18:05ID:O1bDfjPoGDIもの(コントロールなど)を描画する方法ってありますか?
ウィンドウモードの時は出来るのだが、フルスクリーンになると
駄目でした。
おそらくD3Dがウィンドウモードの時はBlt方式、フルスクリーンは
Flip方式ってな感じで勝手に切り替えてると思うんですが、これを
手動で制御できる方法があれば教えてください。
0128名前は開発中のものです。
02/08/02 18:06ID:???なるほどサンクス
0129名前は開発中のものです。
02/08/02 18:46ID:???ステンシルでマスク
0130名前は開発中のものです。
02/08/02 20:22ID:???D3DPRESENT_PARAMETERSの設定で一応はFlipを使わせずにBltを使わせることは
できるけど、Clipperが使用されないのでオススメできない。
DX8はGDIは使わせない方針なので、GDIを使いたいならDX9を待った方がいいかも。
DX9では関数一発でGDIモードの切り替えができるようになっていて便利。
再びSurfaceからGetDCできるようになっているから、使いやすさではDX8よりも
遥かに上。
0131名前は開発中のものです。
02/08/02 20:26ID:???GetDCしたいんじゃなくて、常にGDI面にしたいって話だろ?
0132名前は開発中のものです。
02/08/02 20:38ID:???0133名前は開発中のものです。
02/08/02 21:11ID:???だから、それがDX9では関数一つ呼ぶだけで出来るんだってば。
PresentがBltになってClipper使用状態。
動的に切り替えられるから、GDIが必要なくなれば再びFlipに戻せる。
0134名前は開発中のものです。
02/08/02 22:37ID:???>PresentがBltになってClipper使用状態。
>動的に切り替えられるから、GDIが必要なくなれば再びFlipに戻せる。
そうか・・・・また激烈に仕様が変わるのか・・・・・・・・鬱氏のう
0135naya
02/08/03 01:09ID:???0136名前は開発中のものです。
02/08/03 01:18ID:???0137名前は開発中のものです。
02/08/03 01:23ID:???首の部分の基本姿勢行列によるのでは?
ワールドに対して任意の方向(この場合ならワールド座標系で右)
になるような行列をかけてやればよいのではないかと。
>>135
アークサイン、アークコサインではダメなの?
(asin, acos)
そういう意味ではなくて?
0138naya
02/08/03 02:26ID:???スティックを傾けた方向にプレイヤーを向かせるようにしたいのですが
D3DXMatrixRotationYの第2引数はラジアンなんだけど、DirectInputで
得られる軸の2つの数字からそれを求めるにはどうすればいいのかなって
思いまして。
asin,acosを使ってやってみようと思います。
atan,atan2では無理でしょうか?
0139naya
02/08/03 03:01ID:???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につっこめばいいのですか?
0140名前は開発中のものです。
02/08/03 03:28ID:3vnUJh66asin,acosは(多分)内部でatan,atan2を呼び出しています
っていうか、三角関数同士は密接な関係があるです
(sin x)^2=1 - (cos x)^2 と同じように
asin,acosとatanは関係しています
具体的な式はめんどくさいので省略
0141名前は開発中のものです。
02/08/03 03:30ID:3vnUJh66atan2の方が(級数展開の関係上)計算が早く、誤差も少ないので
そちらを使うことをお勧めします
0142naya
02/08/03 04:08ID:???cosとsinの2引数を入れたらラジアンで戻ってくるような関数があったらいいんですけどね。
0143名前は開発中のものです。
02/08/03 04:09ID:3vnUJh66あのぉ・・・
それ、atan2なんですけどぉ・・・
0144naya
02/08/03 04:21ID:???atan2ってそういう関数なんですかかって聞くと恥ずかしいから
遠回しな聞き方してしまったのですが、やっぱどっちにしろ恥ずかしいですね。
大学受験時は偏差値70近くあった数学もやらないとさびてしまう物ですね。
まして、複雑な三角関数や偏微分とかはやらなかったし。
0145名前は開発中のものです。
02/08/03 04:34ID:???数学の基礎中の基礎でこれが出来ないと何も出来ないと思うんですが。
0146名前は開発中のものです。
02/08/03 04:43ID:???0147naya
02/08/03 04:59ID:???への変換や積分とか三角関数をもちいた複雑な問題が大変だったということです。
高校ではそこまでつっこんでやりませんでしたからね。
0148名前は開発中のものです。
02/08/03 05:20ID:3vnUJh66むしろ、大学受験までの勉強が「基礎中の基礎」なだけであって
意味が無いとは思わない
ただ、ゲーム製作に必要な知識はもうちょっと上のほうだと思う
nayaさんは、基礎がしっかり出来てるみたいだから、
ちょっと勉強すればぜんぜん出来るようになるでしょう
重要なのは、今勉強するかですからね
0149名前は開発中のものです。
02/08/03 05:29ID:???基礎が出来ているならむしろ>>135や>>142のような発言は無いと思うけど…。
まぁ慣れというか、何事も何回も使っていくうちに頭に刷り込まれていくものだと
思うんで、がんばってください。
0150名前は開発中のものです。
02/08/03 06:14ID:???sin,cosが分かってるなら、そのまま行列に代入するだけだし。
高校レベルの数学だけど今の高校って行列やらないんだっけ?
>>149
誰に言ってるの?
0151名前は開発中のものです。
02/08/03 09:27ID:???人それぞれですな。
0152名前は開発中のものです。
02/08/03 19:45ID:4pHFWPGk理系である程度のレベルの学校ならやる。数Cで。
だけどベクトルとの関連性を無視して、単なる計算で終わっているので使い物にならない。
大学に入ってからやる線形代数の授業もそう。単なる計算で終わっている。
ちなみに自分はコンピュータグラフィックスの特別講義ではじめて、行列と幾何の結びつきを知った。
0153名前は開発中のものです。
02/08/03 21:25ID:???現行課程への移行時に一次変換が削除されたのが痛かったね。
来年度から施行される新課程では、数学Cに、行列の応用として
「点の移動」という単元が加わっているみたいだよ。
ttp://nierdb.nier.go.jp/db/cofs/h10h/chap2-4.htm
0154naya
02/08/03 21:28ID:???しかも、数学Cは受験時には選択制だったり、このジャンルが出題されないため、数学Vの方を重点的に勉強してしまい、ほとんど勉強しませんね。
また、最近は数学を受験科目に選択しなくても理系学科に入れる試験制度が
ある大学が増えてきたようですね。
0155名前は開発中のものです。
02/08/03 22:28ID:???0156名前は開発中のものです。
02/08/04 01:58ID:5a7Xd0hgGetVertexBuffer()で頂点バッファのポインタが取得できるみたいなんですが、
その頂点を格納しているIDirect3DVertexBuffer8がいまいちわからないのです。
フレキシブルな頂点フォーマットというのが8で導入されたみたいなんですが、
その頂点フォーマットのタイプとサイズはどこで得られるんだか、わけがわかんないのです。
チュートリアルでこのあたりまで解説してくれるとありがたいんだけどなあ>MSさん
んー、というより本当はD3DX使いたくないんですけどね。
Xファイル読み込むにはこれが一番お手軽なもので・・・
どこかにXファイル簡単に読んでくれるクラス転がってないですかねえ。
0157名前は開発中のものです。
02/08/04 02:02ID:???0158名前は開発中のものです。
02/08/04 02:06ID:5a7Xd0hgどうもありがとう・・・余分なものを一切書かないとこに貴方のセンスを感じる。
んで、IDirect3DVertexBuffer8::GetPrivateData()で得られるポインタに
データの本体が入っている、と。
でもこれは単なる配列なので、頂点フォーマットの構造体が無いとデータ取り出せませんよね?
GetFVF()で得られたフォーマットから頂点フォーマットの構造を得るには
どうすりゃいいんでしょうか。
0159名前は開発中のものです。
02/08/04 02:19ID:???IDirect3DVertexBuffer8::GetDesc
初心者程度の知識しかないくせに、なめた口を利いてんなよ。
「ヘルプ読め厨房!」がお似合いだ。
知識がないのは誰でも最初はそうだが、お前は必要な情報を探す気もろくにないだろ。
ふだんは2chで個人叩きと荒らしばかりやってるだろ。
0160名前は開発中のものです。
02/08/04 02:19ID:???0161名前は開発中のものです。
02/08/04 02:22ID:5a7Xd0hg誰かこういうの作って!!
・1つのクラスが1つのXファイルを扱う
・格納される情報は、頂点、インデックス、マテリアル、テクスチャ(のファイルの名前)
・アニメーションは、パターンに番号が付いていて、1とか2とか指定すると
"変換済みの"頂点を返してくれる(自分で行列の演算とかしなくていい)
0162名前は開発中のものです。
02/08/04 02:35ID:???今は、就職活動中ですが、周りの皆が良く言うのは
”この業種での業界の求人が少ない”って話です。
僕的には???です。その辺の会社のHPに
”3DPG急募”って沢山在ります。
でも161読んで、何か解ったような気がします。
…それをPGが言うな!自分で作れ!
今時のゲー専生徒でも、自分で作ってるわ!(クラスじゃ無いけど)
0163名前は開発中のものです。
02/08/04 03:27ID:5a7Xd0hg調べるより聞く方が早いから聞いてんだろうがヴォケ!
それが許されないなら掲示板は何の為にあるんだ言ってみろ!
ゲー専生徒でも自分で作ってるだ?てめーらは学校の実習とかでやってんだろうが。
こっちはプログラムなんか夏休みぐれーしかできねえんだよ!
その夏休みの間にDirectXマスターしようとしてるんだ。
てめーら俺に協力してくれたっていいじゃねえかよ。なんでそんな風に言うんだよ。
何にもやる気なくなっちまうよ。
0164162
02/08/04 03:36ID:???どっちも、元から関数用意されていますので。
そもそもDirectXの授業なんて、殆ど無いに等しいです。
自分で必要だったら、自分でやってるだけです。
実習とバイトの合間を縫って。
0165名前は開発中のものです。
02/08/04 03:45ID:???もう少し簡潔に質問してくれ。
それとどれとどれが163の発言が分からないからどれに返答していいか分からん。
0166名前は開発中のものです。
02/08/04 03:47ID:y/qD5Xb2>みんなして俺をバカにしやがって!!
ワロタ
0167名前は開発中のものです。
02/08/04 03:51ID:y/qD5Xb2>"変換済みの"頂点を返してくれる(自分で行列の演算とかしなくていい)
どういう事?
頂点のワールド行列て事?
モーフィングとかやりたいの?
0168名前は開発中のものです。
02/08/04 04:05ID:???そういう風に言われると教えたくなくなる…というか係り合いたくなくなるが…
少なくともヘルプ読んでくれよ。
DirectX AppWizardが吐き出すCD3DFileクラスをちょっといじればそれくらいできるぞ。
0169名前は開発中のものです。
02/08/04 04:08ID:???>調べるより聞く方が早いから聞いてんだろうがヴォケ!
激しくワラタ
多分、自分で調べたほうが早いよ。
俺たちはアナタの辞書じゃない。
おまえこのスレの1だろ
ttp://game.2ch.net/test/read.cgi/gamedev/1028396250/l50
0170名前は開発中のものです。
02/08/04 04:17ID:???テンプレにできそうな予感
0171名前は開発中のものです。
02/08/04 04:42ID:???これだけしっかりしたドキュメントが用意されているんだし。
ID3DXMeshのメンバを一通り調べるのに30分もかからんだろ。
GetFVFの使い方が分からないならサンプルのフォルダでGetFVFで検索すれば
すぐに見つかる。
0172名前は開発中のものです。
02/08/04 04:51ID:???0173あぼーん
NGNG0174名前は開発中のものです。
02/08/04 05:57ID:???0175名前は開発中のものです。
02/08/04 06:56ID:???いやぁ、世界は広いねぇ。
0176名前は開発中のものです。
02/08/04 12:12ID:???まぁスレが賑わうのはいいことじゃ(・∀・)
0177名前は開発中のものです。
02/08/04 16:31ID:???0178名前は開発中のものです。
02/08/04 16:39ID:???0179名前は開発中のものです。
02/08/04 16:44ID:???「うちは学歴にこだわらずちゃんとみてます!」なんて建前だよ。
いいかげん気づけよ、未来がある(といいな)厨房ども。
同じできる人なら大卒から取るさ。
0180名前は開発中のものです。
02/08/04 16:47ID:???0181名前は開発中のものです。
02/08/04 18:39ID:???ペーパー試験で差になって現れるのは知識とか知性じゃなく、
「他者の意図を読んで想定された解答を出せるか」なのよ。
そういうのって馬鹿にされがちだけど、実際極めて重要なわけで。
また卒業のために論文書いたりプレゼンテーションをすることになるわけだけど、
その経験は、曲がりなりにも
「他人に自分の考えを理解してもらうための説明ができる」一助になるわけだし。
大卒である方が有利、っていうのは「技術・知識」一辺倒ではなく
そういう部分も含めての話だと思いますよ。
偏差値70切ってる方については憶測しか出来ませんが…。
0182名前は開発中のものです。
02/08/04 19:02ID:???はげ同。
0183名前は開発中のものです。
02/08/04 19:51ID:???残り97.7%のヤシは使えません。
0184名前は開発中のものです。
02/08/04 20:18ID:???まともな話ができるスレをつぶす気なんだな?
0185名前は開発中のものです。
02/08/04 20:27ID:???はげ同。
とりあえず場の空気を読むことを学んで欲しい、若者たちよ。
「その話はもういいよ」という無言の声が聞こえないか?
0186名前は開発中のものです。
02/08/04 20:29ID:???はげ同、これは巧妙な罠ね
偏差値70以上の国立大(文系だけど)卒で、今だプーたろうですが何か?(´Д⊂
激しく同意するが、気がついてみればここ何のスレだよ。
0188名前は開発中のものです。
02/08/04 21:02ID:???文系は偏差値が何であってもクソということは定説です。およびじゃない。
0189あぼーん
NGNG0190名前は開発中のものです。
02/08/04 21:49ID:???0191名前は開発中のものです。
02/08/04 22:19ID:???宣言したのはうちの校長でした・・・・・・
欧米のゲームプログラマーはほとんど大卒だったのを知ったのはその1年後でした。
0192名前は開発中のものです。
02/08/04 22:43ID:???もうやめろって馬鹿
0193名前は開発中のものです。
02/08/05 00:03ID:???空気読め阿呆
0194名前は開発中のものです。
02/08/05 00:29ID:???>>188 ( ´,_ゝ`)プッ
>>191 ( ´_ゝ`)フーン
0195名前は開発中のものです。
02/08/05 02:57ID:???(゚∀゚ ) アヒャ!
0196名前は開発中のものです。
02/08/05 04:28ID:???2ちゃんねる式の掲示板で、DirectXのみに的をしぼったのを誰か用意してはくれまいか。
0197名前は開発中のものです。
02/08/05 06:46ID:???(゚∀゚ ) アヒャ アヒャヒャ!
0198名前は開発中のものです。
02/08/05 10:44ID:???BBXとか、他にもイロイロあるじゃん。
0199名前は開発中のものです。
02/08/05 13:32ID:???0200127
02/08/05 18:52ID:???>>129
ステンシルって使った事ないんだけど、マスクするエリアがたくさんあっても重くならない?
まぁ実験してみればいいんだけど、時間がない…(T_T)
>>130
このD3DPRESENT_PARAMETERSでの方法って、
・SwapEffectにD3DSWAPEFFECT_COPY
・FullScreen_PresentationIntervalにD3DPRESENT_INTERVAL_IMMEDIATE
を設定するってやつ?これやってみても駄目だったんだけど、何か足りないのかな…。
ちなみに実験環境は「RIVATNT2/DX8.1/Win98」「GeForce3/DX8.1/Win2k」です。
0201名前は開発中のものです。
02/08/05 21:38ID:???一応説明しておくけど、D3DPRESENT_PARAMETERSで設定する方法ではGDI使用中は
Presentは呼んじゃ駄目だよ。ようするに画面は更新できないって事。
それとステンシルは使えないよ。ステンシルでマスクできるのはバックバッファ。
ダイアログやコントロールをマスクしないといけないのはフロントバッファ。
0202名前は開発中のものです。
02/08/05 22:33ID:WmYu1GTw1.DX AppWizardでアプリを新規作成(急須のヤツ)する
2.変更ナシでビルドする
3.そのまま実行する
4.ALT+ENTERでフルスクリーンモードにする
5.ALT+ENTERでウィンドウモードにする
6.ESCで終了
7.エラーメッセージのダイアログが出てVCごと落ちる
ヽ(`Д´)ノなぜじゃああああああああああああああああああ
0203名前は開発中のものです。
02/08/05 22:58ID:???同じ構成でも俺の環境だと落ちなかったが。
ドライバ最新にしてみたら?
0204名無しサソ
02/08/06 01:11ID:???Detonatorを変えてやってみることをお勧め。気休めだけど、
最新のよりもWHQL認定ドライバを使うと良いかも。当方Ti4200
のWin98、Detonator30.82(最新β)を使ってるけど、このドライバ
では、D3Dを使ったプログラムのデバッグモードに入れない。
途端に落ちる。
0205名前は開発中のものです。
02/08/06 02:53ID: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;
を入れているのでメモリは増えないと思ったの出すが、何ででしょうか?
0206名前は開発中のものです。
02/08/06 03:24ID:???OutputDebugString("最適化ばかりしててコミケ落とさないでください!\r\n");
GameMain();
Test_205();
}
0207名前は開発中のものです。
02/08/06 03:55ID:???マジでそこが原因なの?
コメントアウトしてみた?
ついでに蛇足だけど、SAFE_RELEASE(dxutil.h)や
if( texture != NULL )
{
texture->Release();
texture = NULL;
}
したほうがよさげ。
0208205
02/08/06 04:44ID:A065mayA問題のところをコメントアウトにして実行させるとメモリが増えるようなことは起きませんでした。
ためしに、別に小さいプログラムを作って同じ事をさせても同じ現象が起きなかったので
なにか、別のところが間接的に影響を与えているのかな、もう少し調べてみます。
0209205
02/08/06 05:09ID:???↓こいつが原因でした、何であーなのかわからんが、やっと寝れる。
/*
* デバッグ ヒープのフラグを設定して、ヒープのリンク リストに解放
* したブロックを保持します。これにより、解放したメモリの不注意な
* 使用を検出できます。
*/
int tmpDbgFlag;
tmpDbgFlag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);
tmpDbgFlag |= _CRTDBG_DELAY_FREE_MEM_DF;
tmpDbgFlag |= _CRTDBG_LEAK_CHECK_DF;
_CrtSetDbgFlag(tmpDbgFlag);
0210名前は開発中のものです。
02/08/06 05:25ID:???メインループで確保と解放を繰り返してんのか!?Σ( ̄▽ ̄;)
0211202
02/08/06 06:26ID:???>>203-204
そう思ってドライバ更新したにもかかわらず>>202の状況なわけですよ。
ウィンドウモードなら何の問題もないので当面フルスクリーンナシでいくかぁ…
#フルスクリーンで遊ぶユーザーが多いと聞いたが…
0212名前は開発中のものです。
02/08/06 06:29ID:gQhH5TM60213名前は開発中のものです。
02/08/06 08:21ID:mY.DofG6DirectXには直接関係ないけど、ここお気に入り〜
0214名前は開発中のものです。
02/08/06 09:47ID:???_CRTDBG_DELAY_FREE_MEM_DFのフラグがあると、メモリ領域は解放フラグをつける
だけで、実際には解放しません。この場合、解放するのはプログラム終了時。
メモリ不足の状態を再現するのに使えるらしいです。
MSDNにもちゃんと書いてあるので読もうね。
ちなみに、_CRTDBG_LEAK_CHECK_DFはプログラム終了時にリークがないかチェックします。
0215◆KeJ3pYYQ
02/08/06 09:51ID:HhMbK2lEそれをxfile書き出しして表示させてるんですが、ぴったり二つくっつけてもまん丸
に見えません(少し縦に細く見えて、つなぎ目が目立ちます)。
最初から球状のオブジェクトなら、ちゃんと丸く見えます。
半球状の物を二つくっつけて、ちゃんと球状のオブジェクトとして見せるにはどうすれば
ヨイのですか
0216127
02/08/06 09:54ID:???ぐぁ。という事は、Dx8でフルスクリーンで画面更新しつつ
GDIを使うのは不可能ってことですか。
どうしても必要なら、DX7でやるかDX9を待つしかないのね…(;_;)
またはそれぞれ自前で実装するってのもあるか。
0217名前は開発中のものです。
02/08/06 11:52ID:???境界の法線をなんとかしる
メタセコにその機能がなければどうしようもないんじゃない?
もしくは法泉のつじつまが合うように工夫しる<だめかも
0218名前は開発中のものです。
02/08/06 11:54ID:???0219◆KeJ3pYYQ
02/08/06 14:16ID:HhMbK2lE>メタセコにその機能がなければどうしようもないんじゃない?
なんて事を言うんですか!じゃあどうしろと言うのですか!!!
ところで、xfileをロードした後にプログラムで球を二つに割るというのはどうでしょう
0220名前は開発中のものです。
02/08/06 15:15ID:???0222名前は開発中のものです。
02/08/06 18:52ID:???割れてない状態のXファイルと割れた状態のXファイルを2つ用意するとか。
0223名前は開発中のものです。
02/08/06 19:00ID:???0225◆KeJ3pYYQ
02/08/06 20:44ID:w4Cz3L1Qすんません、そこは失笑するところなんです
あとポリゴンを細かーくするとかっすかね・・・
0226名前は開発中のものです。
02/08/07 02:58ID:???0227名前は開発中のものです。
02/08/07 04:32ID:???そういう例外的なことが出来るほどプログラムが抽象化されてないんです
0229名前は開発中のものです。
02/08/07 11:39ID:???まあどっちにしても変則的になるが
0230名無しサソ
02/08/07 13:00ID:???中心点と円の表面の点を通るベクトルを法線にすれば、継ぎ目は見えないのでは?多分。
0231名前は開発中のものです。
02/08/07 13:38ID:???法線はポリゴンの三頂点の内積とは限らんの?
法線をxfileに持たせるとか持たせないとか。その辺がよくわかんないズラ
0232名前は開発中のものです。
02/08/07 13:49ID:???DirectXのヘルプにも載っていること
尼ちゃんも風呂も関係ない
0233名前は開発中のものです。
02/08/07 14:19ID:???当たり前の結論が当たり前に出ただけに留まりましたな。
0234名前は開発中のものです。
02/08/07 14:42ID:???0235名前は開発中のものです。
02/08/07 15:13ID:???取りあえず高校から勉強しなおせ。話はそれからだ。
0236名前は開発中のものです。
02/08/07 15:19ID:???0237名前は開発中のものです。
02/08/07 15:44ID:???0238名前は開発中のものです。
02/08/07 15:50ID:???0239名前は開発中のものです。
02/08/07 15:57ID:???0240名前は開発中のものです。
02/08/07 16:09ID:???0241あぼーん
NGNG0242名前は開発中のものです。
02/08/07 16:46ID:???いい機会だから先生に聞いて見ろ。見直されるぞ(w
0243あぼーん
NGNG0244名前は開発中のものです。
02/08/07 16:53ID:???0245名前は開発中のものです。
02/08/07 17:08ID:???(食う)>(食われる)で表記すると、
終了厨 > 知ったか厨 > 教えて厨
0246名前は開発中のものです。
02/08/07 17:31ID:???0247名前は開発中のものです。
02/08/07 18:03ID:???0248名前は開発中のものです。
02/08/07 20:27ID:???奴のことかと思った。
0249名前は開発中のものです。
02/08/07 20:34ID:???自分のプログラムじゃないの?
だったら自分で半球の.x fileを書き出すプログラムを書けば済むかと。
0250名前は開発中のものです。
02/08/07 20:39ID:???0251名前は開発中のものです。
02/08/07 20:54ID:???当然法線も違ってくる
切断面に透明ポリゴン置いたら回避できねぇかな?
(DirectXで表示するなら、また別の問題があるけど)
0252名前は開発中のものです。
02/08/07 21:06ID:???だから、その頂点が共有されてない場合の法線の取りまわしについてだよ
0253名前は開発中のものです。
02/08/07 21:32ID:???メタセコの仕様に文句あるなら自前で計算するしか無いじゃん
帰れよ
そうなんですが、実際に出したいのはもうちょっと複雑で、モデラーでないと作れそうにないんだよ・・・
つーか、球にそういうテクスチャ貼ってアルファテストで抜きゃいいじゃんという気がしてきた
0255名前は開発中のものです。
02/08/07 21:59ID:???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);
とやったのですが、表示される球体は真っ白です。
なぜこうなってしまうのでしょうか?
0256名前は開発中のものです。
02/08/07 22:39ID:???難しく考えるとハマるという良い例になった
0257名前は開発中のものです。
02/08/07 22:57ID:???わからなけりゃフレームワークつかえ
0258名前は開発中のものです。
02/08/07 23:05ID:???IDirect3DDevice8::CreateAdditionalSwapChainの
オモロい使い方てありまへんか
0259名前は開発中のものです。
02/08/07 23:28ID:???ライトの設定がおかしいとそうなった気がする
0260名前は開発中のものです。
02/08/07 23:46ID:???テクスチャ貼り付けちゃえば赤くできるのですが、ちゃんとマテリアル使えるようになりたいと思いまして。
ライトはつかっておりませんが、
InitRender関数内で
lpD3DDEV->SetRenderState(D3DRS_LIGHTING, TRUE);
とすると、画面上のポリゴンが真っ赤になってしまうのです。
じゃあ、球体を描画する前にTRUEにして終わったらFALSEに
しようとおもったのですが、そうすると球体が見えなくなってしまいました。
どうやら、テクスチャを貼り付けたポリゴンのみに作用しているようなのです。
0261名前は開発中のものです。
02/08/07 23:52ID:???アルファブレンディングの設定をFALSEにした後に描画したら
赤く表示することができました。
0262名前は開発中のものです。
02/08/08 01:02ID:???まさかとは思うが、透明度を0にしてないだろうな?
どんな色をつけてライトを当てても透明度が0なら色はつかないぞ。
0263名前は開発中のものです。
02/08/08 02:41ID:???mat.Power=1.0fとやればいいってことですか?
0264名前は開発中のものです。
02/08/08 04:47ID:???あとこれはどうでもいいことだけど、matと略すと行列と間違えるから、
俺はmtrlを使っている。ま、こりゃどっちでもええことだけど。
0265名前は開発中のものです。
02/08/08 04:49ID:???俺はmateだけど(ダサッ
mtrlみたいな一文字飛ばし略語もなんかいやん
0266名前は開発中のものです。
02/08/08 05:03ID:???0267名前は開発中のものです。
02/08/08 05:09ID:???0268名前は開発中のものです。
02/08/08 06:05ID:???Σ( ゚Д゚) mjsk!!
0269名前は開発中のものです。
02/08/08 06:13ID:???マジッスカの略かぁ…。初めて知った
0270名前は開発中のものです。
02/08/08 12:05ID:/HiLzdeIどうすればいいんですか?
0271名前は開発中のものです。
02/08/08 13:15ID:???0272名前は開発中のものです。
02/08/08 13:53ID:???要点をバシッと決めてくれ。
0273名前は開発中のものです。
02/08/08 16:54ID:???0274名前は開発中のものです。
02/08/08 17:31ID:???打ち込むと出てくるうざいアレのこと?
0275名前は開発中のものです。
02/08/08 17:35ID:???ワークスペース - FileViewに、「DirectX」というフォルダを作る
DirectXのincludeファイルをプロジェクトに追加。
そこで追加したファイルは邪魔なので最初に作った「DirectX」フォルダに分けておく
とかすれば、入力支援機能でDirectXの構造体を使えたりも駿河
0276名前は開発中のものです。
02/08/08 20:47ID:???フォルダわけの意義がイマイチ謎
0277>>275
02/08/08 21:11ID:???0279名前は開発中のものです。
02/08/08 22:15ID:???もう十分詳しいと思うぞ。理解力が足りない
0280名前は開発中のものです。
02/08/08 22:36ID:???これ以上詳しくできないよ…
0281277=278
02/08/08 22:36ID:???0282名前は開発中のものです。
02/08/09 03:23ID:???スプライトを使うべきか使わないべきか。
0283名前は開発中のものです。
02/08/09 05:17ID:???いまどき横スク画面は壊滅的にダサくてダウンロードすらされない。
VB厨が垂れ流す駄ゲーと区別つかん。
0284名前は開発中のものです。
02/08/09 06:12ID:???0285名前は開発中のものです。
02/08/10 19:58ID:PD7Pi8C6少しの違いでもステートブロックを作ったら
ステートブロックの数が爆発しました。
ピクセル関連のステートだけですが、それでも64個。
もうひとつの選択肢として、レンダリングステートとテクスチャステージステートの
キャッシュつきラッパー関数を作るのもあります。
みなさんどうしてますか?
0286名前は開発中のものです。
02/08/10 20:39ID:???ステートブロック作っても切り替えを実行しちゃったら変更コストは
あんまり変わらんのでは?
ステートごとにグループ化する努力のほうが効きそうな気がする
0287名前は開発中のものです。
02/08/10 23:57ID:9NCQqQXkどうせDirectX内部のどっかにある変数を切り替えてるだけだろ?
実際のレンダリングやら衝突判定やらにかかる時間に比べたら微々たるものだと思う。
0288名前は開発中のものです。
02/08/11 00:18ID:???いけないからその分遅くなるよ。
CPUとGPUは非同期に並列に動いているから、単純に変数を書き換
える程度じゃ済まない。
0289名無しサソ
02/08/11 00:44ID:???のは、レンダーステートのGetが全て出来ない代わりに、GPUの高いパフォーマンス
を得られると言う認識でいいのかな?
プログラムを検証していて思うんだけど、SoftwareT&L環境下では当然
ながらパフォーマンスが頭打ち。上手く作ればもうちょっと速くはなるだろうけど、
HT&Lには到底及ばない。GeForce3世代になって、その差が目立ちはじめたけど、
皆さんはどの辺のパフォーマンスに主眼を置いてプログラムを作ってるのかな?
最近はHT&Lを前提にしたゲーム(Unrealエンジンとか)も増えているようだけど。
というか、この辺は新しくポリゴン数スレみたいなものを作ったほうが良いですか?
自分みたいなヘタレだと、最新のビデオカードのパワーは手に余る・・・。
0290名前は開発中のものです。
02/08/11 00:46ID:???差がありすぎて両立は無理
0291名前は開発中のものです。
02/08/11 01:14ID:???今年中だと、Soft頂点シェーダは微妙。
Doom3で底上げ期待。
0292名前は開発中のものです。
02/08/11 02:27ID:???CPUが速くなっているからそれで補うってのがメーカーの言い分だけど、
速いCPU使ってる奴がそういう安物ビデオカードを使うとは思えない。
結局、安物ビデオカードを買う奴はCPUも遅いんじゃないかな。
0293名前は開発中のものです。
02/08/11 02:58ID:???たとえば
ステートAに切り替え→描画1→ステートBに切り替え→描画2→ステートAに切り替え→描画3→
よりも、
ステートAに切り替え→描画1→描画3→→ステートBに切り替え→描画2→
のほうが高速だよ。
0294名前は開発中のものです。
02/08/11 05:14ID:???ステートAに切り替え→描画1→ステートBに切り替え→描画2→ステートAに切り替え→描画3→
はリア厨でもやらんだろ〜
確実に遅い例にはもってこいだがちょっとワラタよ
0295名前は開発中のものです。
02/08/11 05:21ID:???0296名前は開発中のものです。
02/08/11 05:21ID:???つか、時間かけてる間に性能が上がるので最適化いらん(泣
Xファイル使ってるような奴は皆そうでしょ。
細かいコントロール不能だし
そーでなくてもピーク性能ってよくわからんよね
測定方法もなんか難しいつーかコツがあるみたいだし…
0297名前は開発中のものです。
02/08/11 05:30ID:???半透明オブジェクトや、エフェクトで加算合成じゃないビルボード
のZソートで結構ある
0298名前は開発中のものです。
02/08/11 07:01ID:???俺のマシンは出来るだけ前から書くのが一番だ。
Xファイルの連打ってステート変更もしちゃうのか???
そら使いにくい罠
0299名前は開発中のものです。
02/08/11 07:31ID:q2d3/uDwXファイルのテンプレートにAnimationKeyというのがあって、
そのメンバにキーの種類を示すkeyTypeがあり、ヘルプを見るとこの値の意味するところは
0:回転、1:スケーリング、2:位置、3:行列キー
となっています。
ところが、とあるソフトでXファイルを吐き出すと、これが4というものが
出る場合があります。4は一体何を示しているのか、分かる人がいたら教えて下さい。
0300名前は開発中のものです。
02/08/11 07:42ID:???3は登場しない前提で対応するコードが書かれていてない
0301名前は開発中のものです。
02/08/11 07:44ID:???0302名前は開発中のものです。
02/08/11 07:58ID:???0303名前は開発中のものです。
02/08/11 10:10ID:???何気にヘルプを眺めているとD3DXVec3Transformを発見
Coordのほうには「・・・その結果を w=1 に射影する」と書かれているのですが
これは無駄に/wが計算されていたのでしょうか???(普通のトランスフォームだから常にw=1)
まさに鬱だ市悩
0304名前は開発中のものです。
02/08/11 10:35ID:???でも「・・・その結果を w=1 に射影する」が気になる
結局よく解らんので自前にしよう。そうしよう。
やっぱり鬱だ市悩
0305名前は開発中のものです。
02/08/11 13:09ID:aO/cH.IU頂点法線も頂点と同じように回転の重ね合わせで求めるのですかね.
n' = α0*n*R0 + (1-α1)*n*R1
毎フレーム毎ポリゴン外積,正規化していられませんよね
間接ごとに別れたモデルをワンスキンにしようと思ったのですが,LVERTEXにしたらせっかくのワンスキンが台無しかと思いまして.
skinnedmeshサンプルはちょっと読む気になれませんでした.お願いします.
0306305
02/08/11 13:28ID:???ブレンド無しのワンスキンモデルにしておくのが無難ですかね.
ローポリにする技術も無いですし.
0307名前は開発中のものです。
02/08/11 14:55ID:???光源を回転させて法線に掛ける。この方が早くてウマー
0308名前は開発中のものです。
02/08/11 15:25ID:???それと自分で頂点計算していて,バーッテクスシェーダーとかではないのですが...
0309名前は開発中のものです。
02/08/11 15:38ID:???わかってないと思われ
0310名前は開発中のものです。
02/08/11 16:44ID:???0311名前は開発中のものです。
02/08/11 17:43ID:???書籍には座標の合成の仕組みばかりで書いてないよねー
正直しなくても誤魔化せるような気もするんだけど
バンプマップの法線なんかどーすんだー
0312名前は開発中のものです。
02/08/11 21:20ID:???8.1のskinnedmeshのシェーダー見れば?
必要ならばやるべし。
nVidiaのサンプルだとDotProduct3バンプの
基底ベクトルの合成もやってる
0313名前は開発中のものです。
02/08/11 23:14ID:???感圧ボタンをDirectXでどうしても使いたい。
あれ使えれば、かなり幅が広がってくるのにね。
0314305
02/08/12 02:55ID:???わかってないんです...
>>310
頂点と同じように(移動はなしで)ということですね.
>>311
まだ実際にコード書いていないのでいろいろ試してみます.
計算が倍以上膨れ上がりますからね.
>>312
頑張って読んでみます...
0315305
02/08/12 09:01ID:???複数のボーンから影響を受ける頂点が数十個だったので法線計算してもぜんぜん重く無かったです.
0316名前は開発中のものです。
02/08/12 09:43ID:???SmartJoypad自体が対応してないと思われ
0317名前は開発中のものです。
02/08/12 09:52ID:???ローポリ過ぎない? ゲームによって違うだろうけど。
これから出るゲームなら、デザイナーがどれだけ頑張っても
「ショボイ」で片付けられちまって報われない。
0318305
02/08/12 10:21ID:???確かにショボイです.
デザイナ=プログラマ=私(素人)なので報われなくてもいいのです.
ある程度形になって,報われたくなったらモデルを外注したいですね.
0319名前は開発中のものです。
02/08/12 13:16ID:???失敗したらしく、アプリのアンインストール項目にすら
出ていなかったので、フォルダを削除しました。
以後インストール出来ず、OSの再インストールすら青い
画面で起動不能に・・・2日かけて再起動まで成功。
DirectXを再インストールするにはどうすれば良いの
でしょうか(;´Д⊂)
0320名前は開発中のものです。
02/08/12 13:31ID:???>画面で起動不能に・・・2日かけて再起動まで成功。
感想で悪いけど、OSをクリーンインストールしなおしたほうがよさげ…
0321名前は開発中のものです。
02/08/12 13:38ID:ui+7Gm17ブルースクリーン出るマシンがいかれてんじゃ?
だいたい、容量不足で失敗つーのも、珍しい。
最初にチェックあるのに(あてにならんが
0322319
02/08/12 17:48ID:???1628:Failed to complete installation.って
出てまうですよ(;´Д⊂)鬱だ氏のう・・
0323まあ
02/08/12 18:27ID:???クリンストールしちゃいましょう
0324名前は開発中のものです。
02/08/12 20:01ID:???オーバークロックとかしてないか?
そもそも、DirectXのSDK入れたぐらいで容量が足りなくなるぐらいHDDに
空きが無かったら、Windowsそのものがちゃんと動かない気がする。
0325319
02/08/12 22:50ID:???8.0aでも駄目だったらクリーンインストール汁(;´Дm)
0326名前は開発中のものです。
02/08/13 01:10ID:???安いんだからそのくらいケチるなyo
0327名前は開発中のものです。
02/08/13 01:22ID:???0328名前は開発中のものです。
02/08/13 01:50ID:???再インストールが億劫でウチも似たような感じだ。
開封してないドライブが山積みになってるほ。
0329名前は開発中のものです。
02/08/13 03:23ID:PImLDq+L画像がぼやけてしまいます、ぼやけないようにするには
どうしたらいいのでしょうか。
0330名前は開発中のものです。
02/08/13 03:35ID:???頭のボケは直らんがな
0331名前は開発中のものです。
02/08/13 04:04ID:???過去ログにズバリそのものがでてる。
0332329
02/08/13 07:29ID:mgK0hkIzテクスチャーの読み込み時に変なフィルターかけてました
0333319
02/08/13 08:43ID:???0334名前は開発中のものです。
02/08/13 18:46ID:sLcDe9s28.xは情報があまりないから7をダウソ中(鬱
0335名前は開発中のものです。
02/08/13 18:54ID:???ゲームの開発だったら画面に文字入れないと辛いだろうし、
当分の間は7がお手軽でお勧めだと思うよ…。
0336名前は開発中のものです。
02/08/13 18:58ID:???0337名前は開発中のものです。
02/08/13 18:59ID:???特に初期化が。
0338名前は開発中のものです。
02/08/13 19:22ID:???0339名前は開発中のものです。
02/08/13 19:43ID:???0340名前は開発中のものです。
02/08/13 22:46ID:???0341名前は開発中のものです。
02/08/13 23:28ID:???1) 好きな時に表示
2) 1回のBeginScene()〜EndScene()間で一括で表示
3) 2)を行った上さらにデバイスを極力いじらないようプリミティブをソートして一括で表示
最も簡単なのは1)なんですが、速度が気になります。
3)はテクスチャだのαブレンディングだのを考えるとあまり効果がなさそうです。
みなさんどうしてますか?
上記の方法以外の方法とかもあるんですか?
それとも「そんな大差ないよ」ですか?
お聞かせ願います。
0342名前は開発中のものです。
02/08/13 23:32ID:???バッファに溜め込むコマンドと
バッファ内を描画するコマンドと
バッファをソートするコマンド
を作る。後は好きにする
最後の処理にバッファ内に未描画のものが残ってたら、自動的に(ソートして)描画
0343名前は開発中のものです。
02/08/14 02:10ID:???Builderで付属のサンプルを動かすことに成功。
やっとヨチヨチできそうです。
ごめんね、庭球で。
0344名前は開発中のものです。
02/08/14 10:58ID:???0345名前は開発中のものです。
02/08/14 11:10ID:???0346名前は開発中のものです。
02/08/15 19:45ID:???あんま省力化には興味ないかな?
STRIPはNVidiaの奴がいいのかな
0347名前は開発中のものです。
02/08/16 16:03ID:cDFx8JRk0348名前は開発中のものです。
02/08/16 17:00ID:???0349名前は開発中のものです。
02/08/16 17:09ID:???0350名前は開発中のものです。
02/08/16 17:52ID:???0351374
02/08/16 17:59ID:???DirectX8のスプライトのことです。
0352名前は開発中のものです。
02/08/16 19:06ID:???フルスクリーンにすると他のウィンドウを操作することはできないんですか?
0353名前は開発中のものです。
02/08/16 19:08ID:???0354名前は開発中のものです。
02/08/16 19:41ID:???0355名前は開発中のものです。
02/08/16 20:48ID:???0356名前は開発中のものです。
02/08/16 21:07ID:???Textureなら加算合成できるけど…
…Spriteで加算合成ってどういうときに使うんだ?
0357名前は開発中のものです。
02/08/16 22:46ID:???君はSpriteもTextureも分かってないよ。もしくはへんな理解。
0358名前は開発中のものです。
02/08/17 00:03ID:???0359名前は開発中のものです。
02/08/17 02:20ID:MCkIbjVq0360名前は開発中のものです。
02/08/17 02:55ID:FQs5sThb0361名前は開発中のものです。
02/08/17 04:05ID:???0362名前は開発中のものです。
02/08/17 16:33ID:???0363ポヤッチオ作れ
02/08/17 17:56ID:IsKEPd3F導入する手法。多くはRPGにおいて、登場人物の台詞や行動を時
間毎に異なるものにすることで、人々の生活感を表現する。SLGで
は能力や属性が昼と夜で変化するユニットとして用いたりする。
昼・夜の二値でモデル化することが多いが、もっと細かく分けること
も珍しくない(ギャルゲーなど)。
しかしそもそもDirectXじゃねえし、
どういう昼夜がやりたいかわからんよ。>>362
0364名前は開発中のものです。
02/08/17 18:02ID:???0365名前は開発中のものです。
02/08/17 18:18ID:???最近特に思う。
0366名前は開発中のものです。
02/08/17 18:45ID:???それは親が教えるもんだと思うが…
0367名前は開発中のものです。
02/08/17 18:47ID:???0368名前は開発中のものです。
02/08/17 18:50ID:???最近は親も解ってないようだから
0369名前は開発中のものです。
02/08/17 18:52ID:???0370名前は開発中のものです。
02/08/17 18:56ID:???0371名前は開発中のものです。
02/08/17 18:58ID:???義務教育が終わってないんだろ
0372名前は開発中のものです。
02/08/17 18:59ID:???萌え
0373名前は開発中のものです。
02/08/17 19:10ID:???検索の法はまた別のスキルじゃね?
まぁ、考える頭があれば問題にならないけど。
0374362
02/08/17 21:10ID:???聞きたかったのは
街(近代的なの、例えば夜は街灯や行き交う車のライトが点くもの)
の絵とかをイマサラ256色平面で書きたくなかったんよ。
DirectXすれだし、グラフイツクに関してすてす。
稲光、新月、満月、晴れ、曇り、雨、夕焼け、夏、冬は積雪、とかのヤシ。
0375名前は開発中のものです。
02/08/17 21:15ID:???0376362
02/08/17 21:17ID:???それだけだとちょっと違うかった
0377名前は開発中のものです。
02/08/17 21:31ID:???0378362
02/08/17 21:35ID:???うー
積雪状態への移行は現状でも一気に切り替えしか無理なのだろうか・・・
0379名前は開発中のものです。
02/08/17 21:37ID:???真面目に聞きたいなら真面目に書けよ
0380名前は開発中のものです。
02/08/17 21:38ID:???0381362
02/08/17 21:54ID:???失礼しますた。
0382名前は開発中のものです。
02/08/17 22:32ID:???△まではできますが□がわかりません。」
やや厨くさいけど、具体的で答えやすいかもしれない質問の例。
0383名前は開発中のものです。
02/08/17 23:18ID:KfqT+kJi雪のかぶってるテクスチャと
かぶっていないテクスチャを用意して
α値を積雪具合に近似して合成・・・
くらいしか思いつかんね
雨なら雨跡とか綺麗に出来そうだけど(っていうか完璧?)、
雪だと厳しいかな?
メガデモなら可能かもしれないけど、
ゲームに使うのはちょっと無理かなぁ?
0384名前は開発中のものです。
02/08/17 23:29ID:???リアルタイムは無理なんじゃないの。
0385362
02/08/17 23:48ID:???五・六年後に期待しよう・・・
ところで、DX9はちょっと楽しみ。
機能が、ではなくて、どれぐらい環境が分散しちゃったり、
プログラマーの能力が単純比較し辛い状況に陥るか、とかが。
0386名前は開発中のものです。
02/08/18 00:15ID:???0387名前は開発中のものです。
02/08/18 00:26ID:???まあ、パーティクルもどきな雪も降らせてたが。
参考
http://www.dailyrush.dk/tribes2/files/movies/722/download/
0388名前は開発中のものです。
02/08/18 00:46ID:???感想聞かせてください。
0390名前は開発中のものです。
02/08/18 11:03ID:???立派な六畳一間にお住まいですね
0391名前は開発中のものです。
02/08/18 12:28ID:???0392名前は開発中のものです。
02/08/18 12:48ID:???立派な一戸建てに住んでますが何か?
0393名前は開発中のものです。
02/08/18 13:25ID:???ログ読めば、ここがずっとこの調子で来てることに気付くぞ普通。
0395名前は開発中のものです。
02/08/18 18:15ID:???0396名前は開発中のものです。
02/08/18 18:18ID:???日本でもALICE softの開発者の誰かが開いてたようだけど、
ページが行方不明。
0397名前は開発中のものです。
02/08/18 18:25ID:???ここだけど、参加者じゃないので現在有意義なMLかどうかは知らない。
0398名前は開発中のものです。
02/08/18 18:35ID:???入退会サーバー落ちとるのー
0399まだ空きがあるぞ
02/08/19 07:15ID:???DirectXのセミナーが2日めにある。本気なら2万位安いもんだろ?
来いや!ゴルァ!
0400名前は開発中のものです。
02/08/19 10:15ID:???0401名前は開発中のものです。
02/08/19 13:44ID:???0402名前は開発中のものです。
02/08/19 13:51ID:???0403まだ空きがあるぞ
02/08/19 23:19ID:???今回の話なんだが…
今回は、マイクロソフトが協賛で、DirectX開発のチーフが来日、
講義が在るんだが、開発者より解るの?
皆、すごいんだんね…
0404名前は開発中のものです。
02/08/19 23:27ID:???それにDX9のハードを先行して触ってる奴以外は質問しようがないだろ
そーいう人はイチイチ質問する程レベル低くないし
全く無駄とはいわんが。行く必要はない
0405名前は開発中のものです。
02/08/20 00:25ID:???行くぞ じゃないところが関係者ですか?
毎回盛り上がらないから、必死だな
Soft別のは 金払ってなんで宣伝聞かなきゃならんのつー内容だし
ゲーム会社のは サパーリノウハウ明かさないし
もうやめたら?
0406名前は開発中のものです。
02/08/20 00:57ID:???0407名前は開発中のものです。
02/08/20 02:23ID:???ノウハウって具体的にどういう事が聞きたいの?
0408名前は開発中のものです。
02/08/20 08:35ID:???0409名前は開発中のものです。
02/08/20 22:19ID:???2-1-Aや2-2-AもDX9の話は出てきそうだが。
目玉は2-3-Aのエリアライティングじゃない?
0410ひよこ名無しさん
02/08/20 22:35ID:???正直、時間の無駄だったことがほとんど
0411名前は開発中のものです。
02/08/20 22:37ID:???Webで情報取れないような奴がセミナーで話し聞いたところでわからないしね
0412名前は開発中のものです。
02/08/21 07:53ID:???そういう糞な会社が金だして従業員を参加させるのがその手のセミナーだ。
自腹で行くこたぁないよ。
0413名前は開発中のものです。
02/08/21 20:15ID:gBdbJDqq0414名前は開発中のものです。
02/08/21 20:46ID:???今さら何を言ってるんだ?
0415名前は開発中のものです。
02/08/21 20:48ID:???どーやらDirect3D使わないとだめみたいね。
無理ぽ
0416名前は開発中のものです。
02/08/21 20:49ID:???0417名前は開発中のものです。
02/08/21 20:52ID:gBdbJDqq0418名前は開発中のものです。
02/08/21 20:53ID:???0419名前は開発中のものです。
02/08/21 21:51ID:???やる前から速度がどうこういって結局何もやらない奴か
実用的な速度になるかどうかは作ってみてから決めればいいだろ
0420名前は開発中のものです。
02/08/22 00:07ID:???速度も速いし。ビデオカードに3D機能が必要になるけど。
0421名前は開発中のものです。
02/08/22 00:26ID:???http://pc3.2ch.net/test/read.cgi/tech/997101556/l50
DirectX7以前とか2Dオヤジ向けの話題はこちらの方が盛りあがります
0422名前は開発中のものです。
02/08/22 00:46ID:???アマチュアが作るときくらいは、その位環境を絞ってももういい気がする。
逆にアマチュアだからこそ最適化に凝りたい、と言う人もいるだろうけど。
でも、X9からはD3Dが最初からGDIに組み込まれて半透明の転送も
サポートされるんだっけ?
0423
02/08/22 02:26ID:7yeuCaf2高校生のころ、
2chの「鬱だ氏のう DirectX」スレッドのタイトルを眺めただけで興奮したものだ。
情報交換や雑談としてためになる、というより、
こういうスレッドはプログラミングに対する認識が変わってしまうという、
危険な香りも感じた。
その感じはもちろん正しいものだった。
DxirectXのバージョンアップはプログラマーにとって危険なものだからだ。
脳のOSとなるようなSDKは、決して安全なバージョンアップに堕することがない。
だから「DirectX9」に期待する。
0424名前は開発中のものです。
02/08/22 03:24ID:???どなたか人間の言葉に翻訳してください。
0425名前は開発中のものです。
02/08/22 03:59ID:???個人の感性は世界をかけめぐるインターネット時代の
充実したWebサービスや高度な分散システムにとって、
VisualStudio.Netはもっとも優れたソリューションといえます。
Webブラウザのセキュリティホールのような避けることが
困難なトラブルにも迅速に対処するインテリジェント・
パッチアップ・サービス。世界のハッカーたちによる、
さらなる挑戦があなたを奮い立たせます。
0426名前は開発中のものです。
02/08/22 08:48ID:???これだろ
http://game.2ch.net/test/read.cgi/gamedev/1029865211/70
混沌と欲雲が凝縮した2chへようこそ!
無からのコンテンツ・ソリューションをより快適に、よりリッチに
円滑に進めるべく我々ハッカーたちは、様々なアプローチで各々の
顧客に対する要望を可能なかぎりスピーディにそして的確に解決することを
約束します。
我々は貴方の競合他者(主にニチャンネラー)に対抗しうる強力なサポートと
堅牢なソフトウェア・コンポーネントを迅速に提供するばかりでなく、
メンテナンス、トラブルシューティングなどご購入後のあらゆるアフターサポートも
余力余すことなく提供することを誓って止みません。
さぁ、我々ハッカーの扉はこちらから↓
0427名前は開発中のものです。
02/08/22 11:09ID:???0428あぼーん
NGNG0429あぼーん
NGNG0430名前は開発中のものです。
02/08/22 14:14ID:???まともなスレに貼るのはやめろ
やるなら厨房スレかクソスレだけにするべし
0431名前は開発中のものです。
02/08/22 14:29ID:???0432名前は開発中のものです。
02/08/22 16:25ID:???u=Nx/2+0.5
v=Ny/2+0.5
なんですが、uv座標のv軸って下向きですよね。
これだと上下ひっくり返ってしまう気がするんですが、僕が何か勘違いしているのでしょうか。
0433名前は開発中のものです。
02/08/22 19:14ID:???0434名前は開発中のものです。
02/08/22 19:55ID:???法線NxNyはローカル座標でuvはテクスチャ座標ですよね?
0435名前は開発中のものです。
02/08/22 21:37ID:???有益なスレなら張られても意味がない。気にしないことだ。
0436名前は開発中のものです。
02/08/22 23:52ID:???テクスチャをひっくりかえせばいいやん
0437名前は開発中のものです。
02/08/23 00:03ID:???はい、そうなんですが…
今のところはv=-(Ny/2)+0.5とすることで目的の描画をさせることができています。
でもホントはこんな修正する必要ないんじゃないかなあと。
0438名前は開発中のものです。
02/08/23 10:19ID:???最近「期限が切れています」と、新バージョンへのアップデートを促すアラートが
ちょくちょく表示されてしまいます。DirectX9の新βなどは、あるのでしょうか?
個人的には9を使いつづけることよりも、むしろ8.1に戻したいのですが、
どうすればいいでしょうか?再インストールですか?
0439名前は開発中のものです。
02/08/23 13:04ID:???通報しますた。
0440名前は開発中のものです。
02/08/23 14:04ID:???捕まりますた(´・ω・`)
ヽ∞ノ
自分の周りの色々な方向/位置から音が聞こえてくるようにしたいのですが、
GetObjectInPathで取得したバッファにSetPosition等をすると
Pathに含まれる全てのサウンドの位置が変わってしまいます。
音声ごとのバッファの取得方法を教えていただきたいです。
DirectSoundで自前のでバッファを作成して
自前でwavの読み込みをすればできるような気もしますが、
なるべくDirectMusicをベースにして作成したいです。
ご教示よろしくおねがいします。
0442名前は開発中のものです。
02/08/23 18:37ID:???アルファブレンドのソフトウェア処理で最適化に凝るのも良いけど、
プログラマ以外の人にそれを見せても何とも思われない・・・
ハッキリ言って、ハードウェアをバリバリ使って作った方が断然素人ウケする。
そりゃ、他の人が作った非常に良く出来た最適化コードなんかを見ると
スゲーと思いますが、そんな事は一部の人間しか分かりません。
人気ゲームを作るには、ハードウェア処理優先で作るほうが絶対良いですよ。
0443名前は開発中のものです。
02/08/23 19:12ID:???かっこいいどころか恥ずかしい
0444名前は開発中のものです。
02/08/23 19:27ID:???0445名前は開発中のものです。
02/08/23 20:37ID:???結構、回答のレスがつくけど、そーいう人は何作ってんだ?
僕はラッパーつくっててクラス設計で頓挫中。しばらくほっておくと
綺麗に忘れてるので同じところ回ってます
0446名前は開発中のものです。
02/08/23 22:39ID:???ちょっと触って、何か作ろうとして、途中であきらめて、
単なる技術デモ・検証程度で終わる人が多いかと。
本当に出きる人は本職の方が忙しくて面白いもの作ってる暇がなかったり。
(国産XBOXゲー、デキはいいと思うけどね・・・売れないだけで)
0447名前は開発中のものです。
02/08/24 04:24ID:???ゲームとして要素を組み合わせるまではいかないで、疑問点や
納得いかない点を突き詰められたらやる気失せる、とか?
0448名前は開発中のものです。
02/08/24 09:16ID:???製作時間さえあれば、このゲームは史上空前のものになるな。
俺って天才だ・・・・」
0449名前は開発中のものです。
02/08/24 10:32ID:???ゲームに組み込もうとしたらデータ形式の変更やレンダリングエンジン
の組みなおしが必要だったりして、すでに出来上がってるのがあると、
そこまで手を出せないということかもよ
0450名前は開発中のものです。
02/08/24 16:09ID:nIDqas2v>>432の式は一般的な球状環境マップを扱う公式。
んで、テクスチャが上下逆なのはDirectXというかWindowsの仕様。
ただそれだけ。
0451名前は開発中のものです。
02/08/24 16:27ID:nIDqas2vSDK等にあったりするとガクッとくる。
nVidiaのテクスチャ用のクラスとか、自分が作ろうとしていたものより
全然良い出来なんで、このまま作るかそれとも割り切ってこいつを使うか迷った。
0452名前は開発中のものです。
02/08/24 18:03ID:???優越感に浸るために見てるの?
自分より優れたものを見たいから見てるんじゃないの?
0453名前は開発中のものです。
02/08/24 18:18ID:????車輪の再発明の危険と、資料探しの時間浪費のジレンマに
悩んでいるだけのように見えるんだけど?というかレス番間違い?
見つけたライブラリの出来が良くても、自分の予定を組み上げて
しまっているのなら、そのまま元の予定で行く方が堅実かも。
確実に楽になるなら別だけど。
0454名前は開発中のものです。
02/08/24 19:13ID:???本当は車輪作ってる場合じゃないんだろうけどね
0455名前は開発中のものです。
02/08/24 20:46ID:BJyMAVuF円柱と三角形の交差判定のアルゴリズムでいいのありませんか。
0456名前は開発中のものです。
02/08/24 21:39ID:???勉強と実製作はある程度割り切って考えた方が良いと思う。
というか自分に言い聞かせてるような物だけど。
0457名前は開発中のものです。
02/08/24 23:13ID:???レスどうもです。なるほど、そういうことですか。
OpenGL向けのページでも同じ式だったのでおかしいなとは思っていたのですが。
0458履歴書房
02/08/25 00:48ID:???DirectXの質問では無いような気もしないが、
もう普通に考えた通りで良いんでは?
先ず円柱を上部と下部の円で捉える、そして其の二つの円の
中心を結ぶ線分、この三つ(上部円、下部円、線分)と
三角形から導かれる平面との判定をすれば良いのでは?
……まさかソースくれって話じゃ無いよね?
0461名前は開発中のものです。
02/08/25 03:18ID:Kq2PLf7rシステムマウスのIDirectInputDevice8オブジェクト2つ作ることってできるんでしょうか?
自分で試せばいいのですが面倒なので誰かやり方知ってる人が居たら教えてください。
0462名前は開発中のものです。
02/08/25 03:30ID:???最後の1行が気に入らない。
だから適当に教える。正しいやり方かどうかは知らん。
絶対値モードでやって、自分で前フレの値を取っておいて
それと今フレの値で相対値を出す。
どうかな???
0463461
02/08/25 04:12ID:Kq2PLf7rすみません。
答えてくださってありがとうございます。
相対値とはマウスの移動量を知りたいのですが、前フレの絶対値と比較して計算するとカーソルが画面の端にあるときに画面の外側にカーソルを移動させたときに正しい移動量が求められませんよね?
0464名前は開発中のものです。
02/08/25 04:41ID:???キーボードはGetAsyncKeyState()で十分。
DInput使うのはパッドの時だけじゃ。
0465名前は開発中のものです。
02/08/25 08:55ID:???パッドだってjoyGetDevCapsがあるやん。
0466名前は開発中のものです。
02/08/25 10:38ID:???画面外に相当する値ならば自分でクリッピング
0467名前は開発中のものです。
02/08/25 15:03ID:X4JD8AfKDWORD dwsize;
BYTE *pb;
lpXFileData->GetData("メンバ名", &dwsize, (void**)&pb);
だと毎回dwsizeが4になるんですが、何か間違っているんでしょうか?
0468名前は開発中のものです。
02/08/25 15:44ID:???君の場合、DWORDが4Byte環境なんでしょ?
0469名前は開発中のものです。
02/08/25 17:12ID:???おかげで読み込めました。
pbの内容を勘違いしていました。
0470名前は開発中のものです。
02/08/26 07:20ID:???なんでAAばっかなんだろう
0471名前は開発中のものです。
02/08/26 09:16ID:???0472名前は開発中のものです。
02/08/26 17:27ID:???0473名前は開発中のものです。
02/08/27 00:25ID:???0474名前は開発中のものです。
02/08/27 18:25ID:???一度押したキーがずっと押しっぱなしになるという現象がたま〜に発生してしまいます。
(常に( keyboardBuff[ほにゃらら] & 0x80 )でtrueが返ってくる)
どんな原因が考えられるのでしょうか?
0475名前は開発中のものです。
02/08/27 22:10ID:???ちょっとわからない。
DirectInput使わない状態でもなる?
0476名前は開発中のものです。
02/08/27 22:11ID:???0477名前は開発中のものです。
02/08/27 22:34ID:???デバッガのなんかのスレッドが落っこちるときじゃねえ?
バイナリ単体では発生しないみたいだから俺は気にしてないけどw
0478名前は開発中のものです。
02/08/27 22:37ID:???なるほど。WinAPIで試してみます。
あ、あと、押しっぱなし状態になる直前なんですけど、
前兆があって必ず4,5秒固まります。
で、動き出すと同時に直前まで押してたキーが押しっぱなしになるという感じです。
0479477
02/08/27 22:44ID:???あ、やっぱりそれだよ。アウトプットウィンドウで、なんかのスレッドが終了するときだ。
気にしてないけど、やっぱ気になるから防ぎ方知ってる人いたらおせーて
0480名前は開発中のものです。
02/08/27 22:49ID:???速いマシンに買い替えなさい。
0481名前は開発中のものです。
02/08/28 00:38ID:???これ防ぐ方法で何か知ってる人はいらっしゃいませんか?
0482名前は開発中のものです。
02/08/28 00:51ID:???DirectSoundの役割を考えるが良い。
さすれば汝の疑問は解決しよう。
DirectX経典にはDirectSound以外にも音を司る技法が記されているのだよ。
汝、信仰を深めよ。
0483名前は開発中のものです。
02/08/28 01:27ID:???DirectMusicになるんでしょうかねぇ。。
ちと諸事情でサウンドの生PCMデータを再生しなきゃならないんで、
DirectSoundだと楽でいいかなぁ、と思ってたりするんですが。
0484名前は開発中のものです。
02/08/28 02:04ID:21zL3WvrVRAM上のサーフェスを、丸ごとシステムメモリサーフェスに
等倍コピーしたのですが、遅すぎて困っています。
(640x480の2回コピーを1セットとして、1秒間に10回行かない)
セレ1200+GeForce2MX(32M)と、P3-600+ATI RageM(4M)のノートで、
ほぼ同じ結果が出るのですが、仕方のない事なのでしょうか?
若しくは、何らかの解決方法があるでしょうか?
(両方VRAM上とか、両方システムメモリ上っていうのは別として。)
ご経験の方が居ましたら、情報頂けると嬉しいです。
あと、(この件についての)資料HPなどがありましたら、教えて下さい。
0485名前は開発中のものです。
02/08/28 02:17ID:???フルスクリーン(640*480)に設定したのはいいんですが、
実行後、Alt+Tabで通常のスクリーンサイズ(1024*768)に戻し、
そのご復帰しようとすると、復帰できません。
640*480の灰色のウィンドウが1枚、
1024*768のデスクトップに表示されており、
なんの反応も示しません。Alt+F4で落ちますけど。
復帰って、できないんですか?
私のソースが悪いだけですか?
0486名前は開発中のものです。
02/08/28 02:23ID:???VRAMの内容を戻すのはシステムじゃなくてプログラム側の仕事
0487名前は開発中のものです。
02/08/28 02:32ID:???毎フレーム描画する前にTestCooperativeLevel。
DEVICENOTRESETが帰ってきたらResetしてやるべし。
Reset時にMANAGEDじゃないデバイスオブジェクトの無効化、復元も忘れずに。
0488名前は開発中のものです。
02/08/28 02:45ID:???会社のWin2kではそれ置きます。
CPUを新しいのにしても無駄でしょう。1.5Gだし。
でも自宅のXpでプログラムしてると起きたことありません。
0489夏房
02/08/28 05:40ID:PGMDNgH5フィルレートって奴を検索して学ぶんだな。
以上。
0490名前は開発中のものです。
02/08/28 07:04ID:???VRAM->システムメモリ
VRAM<-システムメモリ
は激重なのが今のPCの通例です。
コンシューマ感覚で造ると痛い目見ます。
0491名前は開発中のものです。
02/08/28 07:52ID:???そのレベルなら、、とりあえずの完成品を目指して、
elなりなんなりを使うなりした方が良いのでないか?
扱っているバージョンが8でないものは駄目だろうけど。
世間一般のライブラリ使用ならその辺を考える必要も少なくて良いと思う。
頭から尻まで、そして頭だけ作って終わる。。。
0492名前は開発中のものです。
02/08/28 13:37ID:???0493名前は開発中のものです。
02/08/28 14:24ID:???メインのスレッドでシーンをレンダリング中に他のスレッドで
テクスチャをロックしても大丈夫かな?
IDirect3D8::CreateDeviceで
D3DCREATE_MULTITHREADEDを指定したら大丈夫っぽいけど
誰かやったことある人いない?
0494名前は開発中のものです。
02/08/29 10:43ID:???マテリアルのα値って、影響しないんでしょうか?
頂点のディフューズ色にα値を入れたときは半透明になるんですが、
マテリアルだと反映されないです。。
0495名前は開発中のものです。
02/08/29 10:52ID:???どっか設定が変なのかな。。
0496494
02/08/29 11:30ID:???ディフューズ色がある頂点バッファはマテリアルのアルファが反映されないんですが、
ディフューズ色がないほうは反映されました。これはこういうもんなんでしょうか?
キッチリ理解してちゃんと設定しといたほうがイイと思われ...
こんなもんかな?でうまくいったからそのまま開発を進めると、
他のグラフィックカードでは変な動作になったりしてデバグが大変になる罠
0498名前は開発中のものです。
02/08/29 16:12ID:???ヘルプ「ライティングにおける数学的計算」で検索。
色の決定に関する全ての事項が一つの数式にまとめられています。
これさえイメージできてれば自由自在に色を扱えます。
「「「Π
((((´ー`)/"
<<<( ヨメヨ.)
.ノノノ ゞ
0499494
02/08/30 12:15ID:???レスありがとうございます〜。
確かにTextureStageState、ライティングの計算ともに、あまり理解してませんでした。
まだまだ勉強すること沢山だ〜… 頑張ります。
0500500
02/08/31 00:16ID:???0501名前は開発中のものです。
02/08/31 12:13ID:???SetTimeのMatrixKeyって補完のところは手抜き?
行列の補完てどうするの?
位置・スケール・回転の時には補完ありになるんだったよね?
マトリックスの補完はできないと思うので、
補完したかったらマトリックスキーでなく、
位置等の情報を持つXファイルを作れば良いと思われ...
速度優先でやりたかったら、各フレームごとにサンプリングして
マトリックスキーをいっぱい作る。
0503名前は開発中のものです。
02/08/31 18:28ID:???0504名前は開発中のものです。
02/08/31 18:35ID:???o補間
MatrixKeyとはスケールと平行移動も込み?
0505名前は開発中のものです。
02/08/31 23:33ID:???作るために、D3DXComputeBoundingBoxを使おうと思ったんですが
数値がおかしく、うまく作れません。
第一引数に渡す頂点データのバッファへのポインタってD3DXLoadMeshFromXの
第四引数じゃだめなんでしょうか?
0506名前は開発中のものです。
02/08/31 23:47ID:???サンプルはLockしてそのポインタを渡しているから俺もそうしているが、
それ試して上手くいかなかったらソースの一部を書いてくれ。
0507名前は開発中のものです。
02/09/01 15:06ID:xIdjFJT5やって見たんですがスケールが変になります。
うまくやる方法ないでしょうか。
キーフレームが細かければ全メンバの線形補間の方が再現性たかいです・・・
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);
・・・・
0508オレー ◆Kvyv1OZU
02/09/01 16:07ID:???マトリクス→クォータにオン→D3DXQuaternionSlerp→マトリクス
じゃ駄目なのか?
0509507
02/09/01 16:16ID:???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;
0510名前は開発中のものです。
02/09/02 01:57ID:5xwxSg5fZバッファを有効にしながらアルファチャンネル(カラーキー)で抜けを作ったポリゴンの
描画はどうすれば良いのでしょうか?
今は、抜けの部分にもzバッファが適用されてしまいます。
0511名前は開発中のものです。
02/09/02 02:07ID:???一般的には、アルファテストで抜けの部分を描画しないようにする。
アルファの微妙な濃度が重要な場合は、どこまでやるかによる。
Z書き込みなしで オブジェクト単位/ポリゴン単位 でZソートとか。
0513名前は開発中のものです。
02/09/02 09:15ID:???0514名前は開発中のものです。
02/09/02 09:46ID:???0516名前は開発中のものです。
02/09/02 21:28ID:???水面にマルチテクスチャで反射と屈折のテクスチャを合成して張っています。
で、反射はキューブマップを使って求めているのですが、屈折の描画方法で詰まっています。
屈折したベクトルと箱の交点を求めることでテクスチャ座標は求まるのですが、
箱の底面で交わるとは限らず、側面と交わることもあります。また、水中に物体を沈めた場合、
その物体と交わる場合もあります。
そういうような底面以外で交わった場合には、底面のテクスチャだけではどうしようもなくなってしまうのですが、
どうすればいいのでしょうか?
0517名前は開発中のものです。
02/09/02 22:06ID:???で、何の市販ゲー?
タイトル教えてよ。
0518名前は開発中のものです。
02/09/02 23:26ID:???底面と側面だけならなんとかなりそうな気がするよ
0519名前は開発中のものです。
02/09/03 00:54ID:???D3DCapsで確認してPixelShader1.0未満だったので
D3DDeviceはSOFTWAREで初期化しました。
カードはGeForce2GTS
OSはWinXP Pro ,DirectX8.0SDK
鬱です。オナガイします
0520名前は開発中のものです。
02/09/03 00:58ID:???SoftwareVertexProcessingの事?
HEL(REF)の事?
0521名前は開発中のものです。
02/09/03 01:06ID:???長かったので勝手に省略しました(^^;
SOFTWARE = SoftwareVertexProcessing
現在はこんな感じで初期化です
pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL,hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING, ...
0522名前は開発中のものです。
02/09/03 01:12ID:???つか、GF2なんて糞カード捨てろ
0523名前は開発中のものです。
02/09/03 01:20ID:???D3DDEVTYPE_REF,hWnd,
D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_PUREDEVICE, ...
でも動かないし、
サンプルであるMFCPixelShaderでも真っ黒のまま動かない、、
あきらめてGF2からRadeon9000に変えますw
0524名前は開発中のものです。
02/09/03 01:43ID:???水中の物体は自力で屈折線が物体と交わってるか調べるしかないんじゃないかなぁ…。
壁の方は、屈折線が壁にぶつかったら、底面を延長させた平面にぶつかるまで延長させて、
そこに対応するテクスチャを貼る感じになるんじゃないだろうか。
これはGemsにもやり方が載っているので参考にしてみるといいかも。。
0525524
02/09/03 01:47ID:???回って漢字の内外正方形の四隅を繋いだ感じなんだけど分かりますかね
0526524
02/09/03 01:58ID:???意味不明な日本語ですた(汗
屈折線が壁にぶつかっても、
延長させた底面と延長させた屈折線の交点を求めるってことです
その交点のテクスチャ座標に壁のテクスチャ座標の画像を貼るわけですな
自己レスでスレ汚してしまってスマン
0527名前は開発中のものです。
02/09/03 04:22ID:???なぜかD3DXFONTの描画をやめるとアプリが劇重になります
lpFont->DrawText("test", -1, &rc, DT_NOCLIP, D3DCOLOR_RGBA(255,255,255,255));
↑をコメントアウトすると40〜50秒くらい固まって、その後終了キーの入力を受け取って、
終了するといった具合です
固まっている間は、カーソルもほとんど動きません(動いてもかくかく)
デバイスの作成や、レンダリングステートなどいろいろいじってみましたが、どうもフォントが原因のようなのです
DX8.1,Win2Kです(WinMeだと起こらなかったです)
どなたかこんな現象に遭遇された方いますか?
0528名前は開発中のものです。
02/09/03 08:12ID:???俺は行列の補間やったことないから自信ないけど、それスケーリングどう見ても無視してない?
最初は遅くなってもいいから、行列を一旦スケール、回転、移動の3つに分解してみては…。
速度の最適化は動いてからでもいいですから。
>>508
オレーたん発見ー… 明らかにスレ違いですがレースゲー頑張ってください。
あそこのスレでは書き込むと自演っぽく見えるので(汗
0529528
02/09/03 08:17ID:???ロード時に拡大回転移動の3つのキーへ変換してしまえば、
SetTimeのMatrixKeyの補間は不必要なのかな? これって間違ってる?
0530516
02/09/03 11:25ID:???レスどうもです。
底面と側面を一枚のテクスチャで扱うわけですね。
なんとなく側面の水面の上と下の部分を上手く合わすのが大変そうな
気がしたりもするんですが、なるほどやってみます。
0531名前は開発中のものです。
02/09/03 13:37ID:eoJAGzi4自動的にストリーミング再生にしてくれるようなのですが、
このあたりの設定ってどこで指定するのでしょうか?
バッファサイズとかの設定はDirectSound使わないとだめ?
LoaderさえあればDSound使うのですが。DSUTILってのもありますがね。
0532名前は開発中のものです。
02/09/03 15:55ID:???パフォーマンスのバッファ管理に何か不満があるの?
何故バッファサイズを設定したいのか教えて欲しいかも。
もしDirectSoundで再生するにしても、WAVE FORMATは簡単だから読み込みは楽だ。
ただ、このスレのちょっと前にもあったように、
今更DirectSoundを使う必要性もないんじゃないかと思う。
0533名前は開発中のものです。
02/09/03 17:00ID:???特に不満はないんですけどね。
ストリーミングか否かを明確にできればいいかなぁと。内部ではそんな区別は無いのかな?
ところでボリュームを個々に設定するのにAudioPathをそれぞれ作るのでいいのですかね。
セグメントとAudioPathは一まとめに扱うか。。。むずいな。。。
0534名前は開発中のものです。
02/09/03 17:57ID:???不満がないならDXAudioでいいと思う。
折角内部を隠蔽してくれてるんだし深く追求しなくても…
ちなみにDXAudioではIPersistStreamあたりでデータ転送の仲介をしてるはず。
結局どんなデータでもストリーミングになるんでない?
MSのDirectX開発ページんとこにカスタムローディングの説明があるから見てみるべし。
ヘルプにも載ってるかも… よく見てないけど。
AudioPathも、LoadObjectFromFileとセットでCreateAudioPathするだけだし。
それほど難しくないと思う。
0535516
02/09/03 18:18ID:???やってみますた。
この方法、あらかじめ陰のかかったテクスチャ用意しないとダメっぽいっすね…
あと水面の上下で箱の角がうまいこと一致しないっす。
これは俺のテクスチャ座標の求め方間違ってるからなのかな。見直そう。
0536名前は開発中のものです。
02/09/03 18:22ID:???難しいのはいろんな概念が一気に出てきたためで、扱いは簡単ですね。
詳しい解説どうもです
0537524
02/09/03 21:33ID:???確かに水面の近くでテクスチャがずれそうですな。
この辺どうなってるのかは俺もよく分からんです… 役立たずでごめん。
陰についてはDXならシェーダで何とかならんかなぁ。
底面にぶつかった座標値からだせそうな気も…
これまたシェーダやり始めたばかりでよくわからんです(涙
0538名前は開発中のものです。
02/09/04 02:50ID:xIbAbvD0ラグナロクオンラインのように背景ポリゴン、キャラ2Dみたいにする場合、
2Dキャラ表示用のマトリクスはどう作ればよいのでしょうか?
0539名前は開発中のものです。
02/09/04 03:43ID:???_11〜_34まで逆ビュー行列。_41からはx,y,z,1
でも俺は 「地面に立っている、少し奥側に傾いた板」を使い、行列は
普通でやってます。理由は
頭が地形にめり込むのを抑制するためと、
多少パース付かないと味気ないから。
足のつま先が地面にめり込むのを抑制するためには
ビルボードをカメラ方向にわずかに近づけてる。
転置ビュー行列の_31,_32,_33をある割合でx,y,zから引く。
はっきりいってビルボードはうんざり。
次のプロジェクトからは使いたくない。
0540539
02/09/04 03:44ID:???0541538
02/09/04 04:13ID:???>>_11〜_34まで逆ビュー行列。_41からはx,y,z,1
できました。ありがとうございます。
>足のつま先が地面にめり込むのを抑制するためには
>ビルボードをカメラ方向にわずかに近づけてる。
>転置ビュー行列の_31,_32,_33をある割合でx,y,zから引く。
めりこみの抑止ですが、Z値をコントロールすることで回避は
できないのでしょうか?
0542名前は開発中のものです。
02/09/04 04:29ID:???D3DRS_ZBIAS だけど
どれくらいの効果かはやってみないとわからん
0543名前は開発中のものです。
02/09/04 04:30ID:???0544名前は開発中のものです。
02/09/04 05:37ID:???0545名前は開発中のものです。
02/09/04 05:52ID:???いまいち抽象的すぎて言いたいこと分からんが、
今となってはドライバの対応状況の万全さでD3Dかな。
結局ね、ゲーム屋に言わせればAPI(インターフェイス)なんて
なんだっていいのよ。どうせラップせねばならぬし。
0546名前は開発中のものです。
02/09/04 07:12ID:???動作環境が広い面ではOpenGLだが結局は545の通り。
英語圏ではOpenGLでゲーム製作は多いし、
使えるライブラリではこっちの方が多いかな?
OpenGLのメジャー作といえばQuake3
0547名前は開発中のものです。
02/09/04 12:59ID:???ID3DXSprite::Draw
ID3DXSprite::END
この流れでスプライトを表示しようとすると、表示できませんでした。
IDirect3DDevice8::BeginScene
ID3DXSprite::Begin
ID3DXSprite::Draw
ID3DXSprite::END
IDirect3DDevice8::EndScene
こうしてやるとスプライトを表示できました。
でも前者のやり方でスプライトを表示できている人もいる
みたいなんですが、うちの環境が変なんでしょうか?
ソフトはVC.NETで、OSはWin2k、
DirectX SDK のバージョンは8.1なんですけど。
0548名前は開発中のものです。
02/09/04 17:56ID:???ID3DXSpriteの説明に、ID3DXSprite::BeginはIDirect3DDevice8::BeginSceneの代わりには使えないと書いてある。
もしそうやってるソフトウェアがあったとしてもそんなの気にしない。SDKのとおりにしる
0549名前は開発中のものです。
02/09/04 19:10ID:???自分のPCがおかしいのかという不安が解消されました。
ありがとうございます。
0550名前は開発中のものです。
02/09/05 01:31ID:/DOtiz09例えば16×16の画像を2倍に拡大した場合と32×32の画像をそのまま使用した場合で
解像度が低い方が描画が早かったりするんでしょうか?
0551名前は開発中のものです。
02/09/05 08:30ID:???理屈ではもちろんそうだが、その例では目に見える違いがでないかもしれない。
テクスチャ転送量全体を考えてみるべし。
むやみに低解像度にして画面がしょぼくなったら損だよ
0552名前は開発中のものです。
02/09/05 15:24ID:XAnwUSlOov_openするとアクセス違反になる..なぜじゃー(>_<)
0553名前は開発中のものです。
02/09/05 15:36ID:???もしかしてDLLのプロジェクトで作ってたりする?
俺も前にやったんだけど同じところでアクセス違反になって不思議だったんだが…
違ったらごめん。ちなみに解決策はコード生成でDLL(マルチスレッド)だ。
なんでそれで動くかはわからん(ぉ
0554名前は開発中のものです。
02/09/05 15:40ID:XAnwUSlOうおぉぉーーー!あなたは神様です(T-T)
マジでそれでうまく行きました(^^)
ありがとうっす♪
0555名前は開発中のものです。
02/09/05 18:31ID:???まさか本当にDLLで作っていたとは(笑 まぁ、解決してよかった。
それにしてもOgg Vorbisは本当にいいな。
再生するだけなら扱いも楽だし。ライセンス料かかるMP3は消えてよし。
0556名前は開発中のものです。
02/09/06 01:43ID:3M9KUq9cSetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
7のときはこんな感じでアルファブレンドができたのですが、8だと
ただの抜けあり描画になってしまいます。
テクスチャはBMPでカラーキーを使用しています。
他になにか設定が必要なのでしょうか?
0557名前は開発中のものです。
02/09/06 01:48ID:???試しに↓も入れてみてくれ
SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
0558名前は開発中のものです。
02/09/06 01:48ID:???もな
0559名前は開発中のものです。
02/09/06 01:55ID:???8からカラーキーの使用は無くなった筈だが…
TGA若しくはDDSでアルファ情報があるテクスチャを使うんじゃ?
因みにDDSはSDKのUtilitiesのTextureToolで作れるよ。
0560556
02/09/06 02:19ID:3M9KUq9c入れてみましたが駄目でした。
SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
これも入ってます。
SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ONE);
SetRenderState(D3DRS_DESTBLEND,D3DBLEND_ONE);
この設定で加算はできています。
>>559
7にあったカラーキーが無くなって今までアルファブレンドだった
設定でカラーキーが使えるようになったと解釈して良いですか?
今までのアルファブレンドはどこに?
TGAのアルファプレーンは反映されるのですが、それだとプログラム側で
アルファ値をコントロールできないので、頂点アルファあたりを使って
アルファブレンドをやりたいのです。なにか良い方法ないでしょうか?
0561名前は開発中のものです。
02/09/06 02:25ID:KmTxppnE0562556
02/09/06 02:29ID:3M9KUq9cテクスチャのアルファって?
0563名前は開発中のものです。
02/09/06 02:29ID:KmTxppnEこれやらないとテクスチャはαブレンドにならないけど、
こういう話とは違う?>>560
0564556
02/09/06 02:54ID:3M9KUq9cSetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
ちゃんと出るようになりました。カラーキーの部分の抜けを適用したまま
半透明レートを頂点カラーでコントロールできます。
答えてくださったみなさんありがとうございましました。
0565名前は開発中のものです。
02/09/06 02:56ID:KmTxppnE0566名前は開発中のものです。
02/09/06 03:02ID:NU3TRrfk床などにテクスチャを貼る場合、
テクスチャの画像を大きくして並べる数を少なくするのと、
テクスチャの画像を小さくして並べる数を増やすのではどっちが軽いんでしょうか?
0567名前は開発中のものです。
02/09/06 03:05ID:???メモリ的には小さい方が軽い。
0568名前は開発中のものです。
02/09/06 03:06ID:???今のDirectXは平気になったんか?
0569名前は開発中のものです。
02/09/06 03:14ID:???はなんだったんだろう?
今でもコントロールパネルから調整できるよねぇ?
0570名前は開発中のものです。
02/09/06 03:26ID:m11JpBjY画像を小さくして並べる数を増やす方が良いのですね。
参考になりました。
0571名前は開発中のものです。
02/09/06 03:31ID:???プログラマが固定小数点信者だったからとかない?(憶測
0572名前は開発中のものです。
02/09/06 03:37ID:???0573名前は開発中のものです。
02/09/06 03:51ID:???0574名前は開発中のものです。
02/09/06 03:58ID:???0575名前は開発中のものです。
02/09/06 04:30ID:???0576名前は開発中のものです。
02/09/06 04:49ID:???0577名前は開発中のものです。
02/09/06 05:05ID:???Gx00系で何をすると画面真っ暗なんだ。大丈夫なのかお前。
0578名前は開発中のものです。
02/09/06 05:10ID:???0579名前は開発中のものです。
02/09/06 05:16ID:???450は氏欄
0580名前は開発中のものです。
02/09/06 05:17ID:???0581名前は開発中のものです。
02/09/06 05:24ID:???どうでもいいが、つかえねー理由ぐらい書いとけよ。
0582名前は開発中のものです。
02/09/06 05:25ID:???0583名前は開発中のものです。
02/09/06 05:31ID:???具体的にDirect3Dの何を使ったら抜き色が変になったかを
書けば対策方法を教えるが?
0584名前は開発中のものです。
02/09/06 05:43ID:???>抜き色がおかしくなる
なぜ抽象的な表現を使う。
具体的に書いてみ。
何をしたら抜き色が変になったんだ。
0585名前は開発中のものです。
02/09/06 05:58ID:???○×のビデオチップが使えねーとかどうだとか
そういう話以前の問題だろ。
0586名前は開発中のものです。
02/09/06 06:44ID:???0587名前は開発中のものです。
02/09/06 11:26ID:2HBzLxJNGeForce系やRADEONでは大丈夫な設定でも。
なにか設定抜けてるのかな。
0588名前は開発中のものです。
02/09/06 15:51ID:f2V/Iqy/DirectSoundに渡して再生するサンプルを誰か作ってー
0589名前は開発中のものです。
02/09/06 15:57ID:???0590名前は開発中のものです。
02/09/06 16:59ID:???1)OggVorbisをWAVEファイルへ変換するソフトを作る
2)WAVEをDirectSoundで再生するソフトを作る
1はOggVorbisのSDKに九割方は同じのがあるし、2なんてWeb探せばどこにでもあるだろう?
しかも両方とも100行以内でかけるような簡単なものだ。
1と2ができるなら一緒にしてできないなんてことはありえまい。少しは自力でやってみ。
0591531
02/09/06 17:13ID:???なんじゃコリャ。激重い。
やっぱゲームの効果音にはDirectSoundなの?
0592名前は開発中のものです。
02/09/06 18:15ID:???もしかしてSetVolumeって自動でフェードっぽいことしてくれないかなぁ?
ちとわからないんだけど、英語ヘルプにどうもそれっぽいことが書いてある気が…
dwDulationに与える値を設定してみてちょ
0594名前は開発中のものです。
02/09/06 19:55ID:???既にインターフェースそのままでDSoundにごっぞり鞍替え中。
でも自動でフェードしてくれるのは知らなかった。サンクスコ
0595名前は開発中のものです。
02/09/06 20:36ID:???DMusicとDSoundを共存させられる気も。
0596名前は開発中のものです。
02/09/06 22:43ID:/3OZCZxaこれって自前でTGA解釈するしか方法ないのかな?
(バイナリとして読み込んでヘッダフッタ削ってDIBにするとかみたいな)
・・・今更DirectDrawとかいうな
0597名前は開発中のものです。
02/09/06 23:19ID:???海外のその手のサイトに行けば腐るほどそういうライブラリが
転がってるんでないの
0598名前は開発中のものです。
02/09/06 23:27ID:/3OZCZxaDirectX8.0SDKからDirectDraw弄る際のリファレンスってどこにありますか?
手持ちの日本語ヘルプファイルには無かった・・・
0599531
02/09/06 23:27ID:???DSUtilを読んでたら、publicメンバのGet関数を発見した。
>>595
DirectMusicは規模がでかいのであんまり関わりあいたくないかも。
waveしか使わなかったらDSoundのみもありですな。
0600名前は開発中のものです。
02/09/06 23:31ID:???ない。DX7のヘルプはMicrosoftのサイトに置いてあるからそれをDLしる
0601名前は開発中のものです。
02/09/06 23:42ID:???すいません
ddutil.h読んでたら謎が解けました
ごきげんよう
0602名前は開発中のものです。
02/09/07 00:24ID:iRBKvDithttp://opennap.scenecritique.com
0603名前は開発中のものです。
02/09/07 07:36ID:???0604名前は開発中のものです。
02/09/07 08:16ID:???0605名前は開発中のものです。
02/09/09 03:59ID: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
0606名前は開発中のものです。
02/09/09 11:58ID:LhGt96LR再生できないのかなぁ??(ov_readを全データ分,前処理でするって事)
それとも手作業で別スレッド作って読み込みつつ再生しないといけないの?
MCIみたいに自動的に別スレッドで読み込みつつ再生してくれる方法ってないの?
どなたか知ってたら教えてくださいm(__)m
0607名前は開発中のものです。
02/09/09 12:23ID:???すれ違い。
それにストリーミング再生くらい自分で作れないと駄目。
しかもOggVorbisに限った話じゃないし。
0608名前は開発中のものです。
02/09/09 22:13ID:???DirectSound + OggVorbisで64bpsの曲を流したら、
数秒に1回、一瞬ラグ入るんですが、みんなもそう?
やはり重いのかな。
CPUはP4 1.7G です。
0609名前は開発中のものです。
02/09/09 22:26ID:???BGM切ると正常になるならOggVorbisのせいかもしれないが、
OggVorbisのデコードの仕方に問題がある可能性も否定できない。
うちでもOggVorbis使ってるが固まることがないから。
0610名前は開発中のものです。
02/09/10 07:41ID:???バッファがでか過ぎたようでした。500kありました。
十分小さくしたら問題なくなりました(16kでも行けた)
0611名前は開発中のものです。
02/09/11 01:56ID:???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
0612611
02/09/11 02:23ID:6aqmQWZz0613名前は開発中のものです。
02/09/11 03:33ID:???コンパネ→DirectX→Direct3D で Use Debug Version にして
デバッガで走らせると、アドバイス的なメッセージもガンガンでてくるぞ
0614名前は開発中のものです。
02/09/11 03:36ID:???0615名前は開発中のものです。
02/09/11 04:03ID:???0616名前は開発中のものです。
02/09/11 05:13ID:QUS9ooCgハードウェアアクセラレータ最大 になってる?
0617611
02/09/11 06:07ID:???デバッグバージョンのランタイム持ってなかったのでDL中です
アドバイスthx
>616
環境はPenIV1.8GHz512MB
GeForce4Ti4200DDR128MBと申し分ない雰囲気です
0618611
02/09/11 06:59ID:???「指定されたウィンドウはフォーカスを受け取れない」
・・・
えぇ、ウィンドウもラッパークラス作ってたんですが
メンバじゃなくて関数ローカルのHWNDでCreateしてました・・・
はずかしー
0619名前は開発中のものです。
02/09/11 12:16ID:???0620名前は開発中のものです。
02/09/11 22:17ID:RNHebZSvD3DPRESENT_PARAMETERSのFullScreen_RefreshRateInHzに
D3DPRESENT_RATE_DEFAULTとか
D3DPRESENT_RATE_UNLIMITEDを設定してデバイスを作成した時
設定されたリフレッシュレートを知りたい場合はどうすればいいんですか?
0621名前は開発中のものです。
02/09/11 23:02ID:???http://www.microsoft.com/japan/developer/library/jpdx8_c/_dx_idirect3d8_getadapterdisplaymode_graphics.htm
これ使っちゃダメ?
でもデフォルトだと0が取得できちゃったりする罠。
0622名前は開発中のものです。
02/09/11 23:09ID:???http://www.microsoft.com/japan/developer/library/jpdx8_c/_dx_idirect3ddevice8_getdisplaymode_graphics.htm
あ、こういうメンバ関数もあるんだ…。
でもデフォルトの0はD3DDISPLAYMODE型の仕様で定められてるっぽいので
それを確実に回避してリフレッシュモードを調べようと思ったら、
単位時間内のフリップ回数を数えるのがベストかなぁ…。
0623名前は開発中のものです。
02/09/11 23:52ID:???DirectPlayのReceiveでDirectPlay4のQueryInterfaceに失敗しました。
というエラーメッセージが出ます。
エラーメッセージの意味がわかりません。
解決方法とかってあるんでしょうか。
0624名前は開発中のものです。
02/09/12 00:03ID:???~~~~~~~~~~ ~~~~~~~~~~~~~
1行目の時点で何か失敗しそうな予感がするのは私だけなのでしょうか…?
0625名前は開発中のものです。
02/09/12 00:09ID:???Visual C#でDirect Xを使おうとすると
DXVBLib(Direct X7.0 for Visual Basic)ぐらいしか見当たらなかったので
今はDXVBLibを使っています。
DXVBLibはComコンポーネントなので、
どの言語でも利用可能かと、、、
それと今のところは上以外不具合はありません。
よろしくお願いします。
0626名前は開発中のものです。
02/09/12 00:22ID:xMICRC4qうーんやっぱりデフォルトのときに0が戻ってくるのが困りますね
マイ黒ソフトの考えることはよーわかりません
可変FPSはあきらめて60固定でするしかないのかな?
どうもありがとうございました
0627名前は開発中のものです。
02/09/12 00:24ID:???可変FPSについて誤解してないか?
普通はフレーム処理にかかった時間を記憶して調整するだろ
0628名前は開発中のものです。
02/09/12 00:45ID:???0629名前は開発中のものです。
02/09/12 01:53ID:???0630名前は開発中のものです。
02/09/14 10:16ID:???0631名前は開発中のものです。
02/09/14 12:34ID:???0632名前は開発中のものです。
02/09/14 14:53ID:???0633名前は開発中のものです。
02/09/14 18:32ID:???IDirect3D8::CreateDeviceで対応したデバイスを作り直すって事でいいのかな・・・
0634名前は開発中のものです。
02/09/14 19:21ID:???renda- sute-to de risetto
0635名前は開発中のものです。
02/09/14 19:22ID:???プレゼントパラメータ設定してリセット
あーはずかし・・
0636633
02/09/14 23:21ID:???テクスチャとか全部破棄してIDirect3DDevice8::Resetするんですね
ありがとう
0637名前は開発中のものです。
02/09/15 00:27ID:???0638名前は開発中のものです。
02/09/15 01:30ID:???うん。
でもD3DXSPRITEとかあのへんのは破棄するしかないので諦めてやるしかない。
0639名前は開発中のものです。
02/09/15 10:12ID:???使う必要性が見あたらないので、使わなければ良いだけでは?
0640名前は開発中のものです。
02/09/15 10:40ID:???mciSendCommand , mciSendString の代わりにDIRECTSOUND で
音を出す必要が出てきました。
(NT4で動いたプログラムが動かんとは…)
そこで mciSendString("play hogehoge notify", NULL, 0, hWnd);
のように実行が終わったら特定のウィンドウにメッセージを
送るための仕組みはあるのでしょうか?
なかったら別スレッドを立ててそういうルーチンを組まないといけないのでしょうか?
0641名前は開発中のものです。
02/09/15 10:45ID:???DirectX7のヘルプだとチュートリアルの中に「再生の通知の処理」という項目があるけど。
0642640
02/09/15 18:00ID:???0643名前は開発中のものです。
02/09/17 08:49ID:???うちでは、mciで普通に動いているけれど・・
0644名前は開発中のものです。
02/09/17 09:43ID:???実際のところTRIANGLELISTなんかよりもよかったりするんですか?
例えばハイトフィールドをDrawIndexedPrimitiveで描画するとして、
TRIANGLELISTなら一発で描画できるけど、
TRIANGLESTRIPでは帯を何度か描画しなきゃならないっすよね。
COM呼び出し回数を減らすのも十分な高速化だと思うんですが…
0645名前は開発中のものです。
02/09/17 12:08ID:???ただしご指摘の通りDrwPrimitiveのオーバーヘッドが大きいのでDirectXでは効果が薄い
(OpenGLなんかは早いよ)
市販ゲーなら必須かもしれんが、趣味プロなら要らないかも
まぁそーいったチューンを楽しむのも趣味プロの一環だろうけど
0646644
02/09/17 16:13ID:???オーバーヘッド考慮しなければ高速なんですね。
Strip化とDrawPrimitiveの回数減らすのって全く逆になりそうだし、
実際どちらがいいのか不思議で仕方なかったんですがスッキリしました。
ありがとうございます〜
0647名前は開発中のものです。
02/09/17 16:23ID:???100個の三角形書くのに listなら 300頂点、stripなら99+3頂点。役1/3
後オーバーヘッドだけじゃなくて、最近のビデオカードは頂点キャッシュがあるので、キャッシュヒットすれば
演算が省かれるので差がつきにくいつーのもありかと
0648名前は開発中のものです。
02/09/17 21:35ID:???変える前のステータスはGetで保存しておいて、終わったら全部復元みたいな感じなんですかねぇ
書き換えたステータスが他のところで影響したりしてしまって結構面倒。。
Direct3Dにレンダーステートのスタック機構が整ってるとうれしいとか思う今日この頃
0649名前は開発中のものです。
02/09/17 21:48ID:???コストは普通の仮想関数呼び出しと変わらない。
DCOMはプロセス超えるからオーバーヘッドあるけど。
0650名前は開発中のものです。
02/09/17 21:49ID:???0651名前は開発中のものです。
02/09/17 21:50ID:???スタックだとOOPと相性が良くない罠。
ステートマシンだからD3D8の様な形に出来たと思う。
0652640
02/09/18 01:34ID:???うちではmp3の読み込みと再生を全部mciでやってたけど、
codecが腐ってたからどえりゃあ不安定で再生できたりできなかったりしたんですよ。
とりあえずwavに交換してその場はしのぎましたが、
ファイルサイズを小さくするのが至上命令なんで
mp3の再生をDIRECTSOUNDで行おうかと考えたんですよ。
0653名前は開発中のものです。
02/09/18 02:56ID:???ストリップになりません・・・
って俺だけかな。工夫が足らない?
0654名前は開発中のものです。
02/09/18 03:58ID:???世の中にはOggVorbisという便利なものがありますよん。
圧縮率・音質ともに良好なので念のため考えてみるべし。
0655名前は開発中のものです。
02/09/18 06:12ID:???意表をついてMODという手もある
ttp://www.mars.dti.ne.jp/~odaki/mod/index.html
CからMOD再生DLL↓
ttp://www.un4seen.com/music/
ちなみに
Unreal TournamentがMODで
UT2003がOggVorbis
0656名前は開発中のものです。
02/09/18 21:48ID:???インデックス使えばストリップ使う必要性が全くないと思うんだけど・・・
0657名前は開発中のものです。
02/09/18 23:41ID:???SD-RAMからRIMM1066なって転送スピード10倍とかになったので
リファレンスラスタライザーもちっとは動くかと思ったら、やぱし全然駄目ですた
ソフトレンダのVirtualONはどうかと思ったら MMXに対応していません とかエラー出やがります
ショボーン
地面にテクスチャをタイルのように並べてマップを表現しています。
一気に書けるように、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 等に変更しないとダメのようです。
どのようにすればこの問題を解消できるのか
教えていただきたいです。よろしくお願いします。
0659名前は開発中のものです。
02/09/19 02:25ID:???0660名前は開発中のものです。
02/09/19 17:36ID:???どんな数値入れればいいのでしょうか?
ms単位だと変な位置でリピートするのですが、教えてくださいお願いします。
0661名前は開発中のものです。
02/09/19 19:45ID:???0662名前は開発中のものです。
02/09/19 20:03ID:???DirectMusicってms単位じゃなくてMIDIみたいなTick単位じゃなかった?
使ったことないから自信ないけどそうだった気がする
0663名前は開発中のものです。
02/09/19 23:29ID:???IDirectXFileEnumObject::GetNextDataObject()が
DXFILEERR_PARSEERRORを返してwhileループから抜けてしまいます
↑はヘルプを見る限り返さないはずですが・・・
あとIDirectXFileData::GetType()でGUID拾ってくるのですが
これはCOMオブジェクトを作れと言ってるのですか?
ヘルプの
DirectXGraphics->高度なトピック->Xファイル->使い方->ロード
だけだと情報が少なすぎます
どうかご教授お願いします
プログラム版の方にも書いたんですが進行遅そうなので
こっちに書かせていただきましたごめんなさい
0664名前は開発中のものです。
02/09/20 00:04ID:???何かキーが押されたらIDirectMusicPerformance8::GetTime()で
その時点のMUSIC_TIME拾ってそれをメモっといて
IDirectMusicSegment8::SetLoopPoints()
に渡せばいいんじゃないかな
8始めたばっかでAudioはやってないけど7の時はそれでできますた
漏れはXFileの解析で苦しんでるんですよ誰か教えて
0665664
02/09/20 00:08ID:???曲の位置=nowtime-starttimeだったっけ7は
0666名前は開発中のものです。
02/09/20 00:08ID:???直接読んだ方がイイよ。
0668名前は開発中のものです。
02/09/20 00:17ID:???ヘルプ読めよ・・・
0669663
02/09/20 00:22ID:???ヘルプに書いてあるのは知ってましたが
たくさんあるテンプレートやトークン全て考慮して自力でやる方が
MSのルーチン使うよりも簡単なんですか?
0670ヴァニラあいす ◆Af963Yl.
02/09/20 00:27ID:???.Xファイルは実は自前のルーチンも持っているんだけど、
今回はあえてD3DXライブラリを使って試してるとこ。
漏れも今いろいろ試してるので、何か分かったら書きます。
期待せずにまってて頂戴。
途中で投げ出しちゃったらごめんなさい。w
0671名前は開発中のものです。
02/09/20 00:28ID:???不要な情報は読み捨てる。
0672名前は開発中のものです。
02/09/20 00:28ID:???ここはゲ製だから、666はゲームが内部に持つローダーと仮定しているのだとおもう。
それならば対応すべきテンプレートなどたかが知れてる。それともツールでも作るのかね?
0674671
02/09/20 00:36ID:???テンプレートなんてほとんど無視できると思うんだけど。
どーですかね?
0675名前は開発中のものです。
02/09/20 00:38ID:???0676663
02/09/20 00:39ID:???>>674
テンプレートとかよく分かってないんで勉強が必要です
0678名前は開発中のものです。
02/09/20 00:41ID:???スキンメッシュの分割自前でやっとるん?
0681名前は開発中のものです。
02/09/20 00:46ID:???んで、何を質問してたんだっけ?
0682663
02/09/20 00:50ID:???Xファイルから独自フォーマットのコンバート
欲しいサブセットデータは頂点、法線、テクスチャuv、
ストリップインデックス、マテリアル、テクスチャファイル名
と多分こんなもんです
0683名前は開発中のものです。
02/09/20 00:53ID:???それならばSDKの例のサンプルで読めるな。
読み込んだら好きなように吐き出せばOK。
0685663
02/09/20 00:56ID:???0686名前は開発中のものです。
02/09/20 01:01ID:???0687名前は開発中のものです。
02/09/20 02:52ID:???の資料なんてまだないよねえ・・・
0688名前は開発中のものです。
02/09/20 17:41ID:4/XpyZrjXファイルからコンバート中なのですが
ID3DXMeshの個々のサブセットのストリップインデックススタート値と
個々のサブセットの面の数はどうやって調べればよいのでしょうか?
コンバートした後にIDirect3DDevice8::DrawIndexedPrimitiveを
呼び出すときに使うので・・・
あとD3DPRIMITIVETYPEを調べるのは不可能ですか?
よろしくお願いします
0689688
02/09/20 17:45ID:???サンプルのPick Polyを参考にしながらやってます
0690688
02/09/20 18:33ID:???使えそうな気がしてきますた
これでやってみます
これで合っていたらお騒がせして申し訳ありませんでした
0691名前は開発中のものです。
02/09/20 19:31ID:???別の場所でkernel32.dllのエラーが起きるとかいう不可解な状況なのですが…
(それもプログラム始まって数行目の凄い簡単なコードの場所で)
まさかこんな状況になった人ってほかにはいませんよねぇ(汗
ちなみに環境はWin2k/VS.NET/DX8.1/MultiThread/Unicodeでコンパイル、
実行環境は他人のマシンでWin98上書きMe/DX8.1らしいです(かなり古いらしい)
当然ながら自分のマシン上では問題なく動きます。それだけにデバッグしにくい…
0692名前は開発中のものです。
02/09/20 19:39ID:???リンカとかコンパイラとかのバグかと疑いたいです(w
0693688
02/09/20 20:01ID:???漏れにはお手上げです
動作環境のテストは個人では難しいのでは?
ID3DXBaseMesh::GetAttributeTable()はID3DXMesh::Optimize()しないと
駄目らしい・・・んでOptimize()の呼び方が間違ってるのか失敗しる
それで最初の質問
ID3DXMeshの個々のサブセットのストリップインデックススタート値と
個々のサブセットの面の数はどうやって調べればよいのでしょうか?
あとD3DPRIMITIVETYPEを調べるのは不可能ですか?
どうかこのウツケな漏れにお教えください
スレ汚しごめんなさい
0695名前は開発中のものです。
02/09/20 20:37ID:???> /Unicode
Unicodeにする必要性はサテオキ
win98でunicodeプログラムって正常に動くんだっけ?
あと、unicodeなのに D3DXCreateTextureFromFileEx"A"
とはいかに。Wな気がするが。
0696691
02/09/20 20:59ID:???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をコメントアウトすると動く… 不可解すぎ(汗
0697名前は開発中のものです。
02/09/20 21:04ID:???0698691
02/09/20 21:14ID:???とりあえずUnicodeチェックはやめてみようと思います。
しかしテストしてくれる人に会えるのが3日に一度でテストすらできず…
0699名前は開発中のものです。
02/09/20 21:20ID:???0700691
02/09/21 00:30ID:???今までunicows.libをリンクしてただけだったんですが、
MS公式サイトの説明通りに/nodでkernel32とかを無視させるようにしたらいけました。
D3DXCreateTextureFromFileで死んでたのは多分、
関数内でUnicows.dll内のファイル系関数を呼ぶのに失敗してたんじゃないかな?
という感じです。どうもお騒がせしました…。
0701名前は開発中のものです。
02/09/21 08:56ID:???0702名前は開発中のものです。
02/09/21 10:03ID:viCl1ubd'UINT_PTR' : 定義されていない識別子です。
とか出てエラーになるのですが適当にtypedef int* UINT_PTR;と入れても
'&' : 不正な左オペランドです。
とか出るのですがVC5.0+DX8.1bSDKの組み合わせは駄目ですか?
FAQかもしれませんが検索してもヒットしなかったのでよろしくお願いします
0703名前は開発中のものです。
02/09/21 10:21ID:???0704702
02/09/21 10:38ID:???UINT_PTRとはどういった型なのかを教えて下さい
d3dx8math.hのstruct _D3DXMATRIXA16の中のnewオーバーロードで
エラーが出てしまいます
0705名前は開発中のものです。
02/09/21 10:51ID:???#ifdef _WIN64
typedef unsigned __int64 UINT_PTR, *PUINT_PTR;
#else
typedef unsigned long UINT_PTR, *PUINT_PTR;
#endif
0707702
02/09/21 11:05ID:???d3dx8math.hに#include <basetsd.h>
としたら大丈夫みたいです
0708名前は開発中のものです。
02/09/21 20:33ID:???スプライトを描画する場合VertexBufferは4頂点分の大きさが必要だけど、
何種類ものスプライトを表示する場合、やはりVertexBufferは1スプライト
に1つ作成するものなのでしょうか?
考えてるのは、グローバルに1つスプライト用のVertexBufferを作っておいて
描画するときに、VertexBuffer更新する方法なのですが
みなさんどうしてますか?
もしかしてスプライトの場合でもVertexBufferを固定で、一つ一つ
WorldTransformかけてるのかな?
0709名前は開発中のものです。
02/09/21 21:14ID:???深く考えずにTLVertexとDrawPrimitiveUPでいいと思う
0710708
02/09/21 21:49ID:???確かにそうなのですが。(以前はTLVertexとDrawPrimitiveUPを使ってました)
しかし、今回はShaderを使うこともあり、どうしてもVertexBufferを
使うしかないんです。
例をスプライトからパーティクルに変えますが、
class ParticleList
{
Particle par[1000];
VertexBuffer* vb
}
と
class ParticleList
{
Particle par[1000];
VertexBuffer* vb
}
0711708
02/09/21 21:53ID:???----
class ParticleList
{
Particle par[1000];
static VertexBuffer* vb
}
では、どっちがいいかな?
毎フレームパーティクルの座標は書き換えるので、大きいVertexBufferを
作って全てのパーティクルで共有した方がいいと思うんだけど。
0712名前は開発中のものです。
02/09/21 22:03ID:???あとは毎フレームそれにつっこんで1回のDrawで描くよ
0713709
02/09/21 22:55ID:???MAX_SPRITE分の四角形を描画できる三角形リストのIndexBufferを用意
IndexBufferは何度描画しても変わらないから最初に初期化だけしとく
後はスプライトの四点をVertexBufferに書き込んでいってDrawIndexedPrimitive
ただこれは一歩間違うとUP系より遅くなる可能性があるんで注意
メインループのスケジューリングが結構大切です
(Presentの"直後に"DrawIndexedPrimitiveを呼べないなら、
DrawPrimitiveUPで早い段階からスプライトを1つずつ描画したほうが早い場合も)
0714709
02/09/21 23:01ID:???ttp://isweb42.infoseek.co.jp/computer/t_tail/program/vsdx8/d3d/020/index.htm
上の表のDrawPrimitiveUPのレンダリング時間とDrawIndexedPrimitiveの差に注目
それとRender.cppも参照しる
0715名前は開発中のものです。
02/09/22 00:12ID:???nvidiaのサイトで拾ったDynamicVertexBuffer/DynamicIndexBufferの
テンプレート使ってUPと対等。
事前にIndexBufferを用意してやっとDrawIndexedPrimitiveUPに勝てた。
0716名前は開発中のものです。
02/09/22 04:32ID:fagAZlUuLPDIRECT3DTEXTURE Image;
void load(LPDIRECT3DDEVICE8* pDevice,char* filename){
D3DXCreateTextureFromFile( *pDevice, filename, &Image)
}
がD3DXERR_INVALIDDATAを返して失敗します。
これを呼び出す前にメッシュのロードに成功しているのでpDeviceにはしっかりとした値が入っていますし、filenameも"a.bmp"でフォルダにa.bmpも存在しています。
いったいなにが悪いのかわかりません。
0717名前は開発中のものです。
02/09/22 05:08ID:???カレントディレクトリがどこか確認しる。
0718名前は開発中のものです。
02/09/22 05:15ID:fagAZlUuDebugから直接アプリを起動しているので間違いないとおもいマス。
エラーのチェックはこうやってます。
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;
}
0719名前は開発中のものです。
02/09/22 05:50ID:???知り合いの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には出てるし、
他に考えられる原因が分かりません…。
0720名前は開発中のものです。
02/09/22 06:07ID:???話題はずれるが、今後のためにD3DXGetErrorStringを見といた方がいいぞ
0721名前は開発中のものです。
02/09/22 06:26ID:???myproj\data\mesh.x
myproj\data\a.bmp
myproj\debug\prog.exe
D3DXLoadMeshFromX("data\mesh.x"...);で読んだら
"a.bmp"のパスは"data\a.bmp"
0722名前は開発中のものです。
02/09/22 07:53ID:fagAZlUu0723名前は開発中のものです。
02/09/22 10:19ID:???リファレンスラスタライザではどうなる?
リファレンスと異なるならMatroxに報告してあげるとか・・・
0724名前は開発中のものです。
02/09/22 12:47ID:???よくある間違いだ。過去ログ見るひとのために一応書いておくと
./debugのアプリは ./ に移動させてから実行しないといけないんだよな。
0725719
02/09/22 13:55ID:???うちの環境のREFで実験したら、期待通りの動作でした。
Matroxの最新ドライバで試すのをすっかり忘れてたので、
それで駄目だったらMatroxに通報してみます
0726名前は開発中のものです。
02/09/22 17:05ID:???IDirectMusicLoader::GetObject()が全角ファイル指定すると
失敗するようになったんですが前のプロジェクトは全部捨てろと
MSは言ってーるのですか?・・・半角カタカナは前からだったけど
0727名前は開発中のものです。
02/09/22 18:53ID:???D3DTA_DIFFUSEとD3DTA_TFACTORは同時に使えない環境がある。
SDKの説明にもそんなことが書いてある。
NVIDIAでも同時に使えるようになったのはGeForce3から。
0729名前は開発中のものです。
02/09/22 21:21ID:???その地形の上をカメラが移動する、という風にしたいのですが
地形が盛り上がっているところや凹んでいるところで
カメラの高さをどのように上げ下げするのかわかりません。
検索したところBSPというものが引っ掛かったのですが
これを用いる方法しかないのでしょうか?
0730名前は開発中のものです。
02/09/22 21:23ID:???キーワードだけでも教えていただけると助かります。
0731名前は開発中のものです。
02/09/22 21:27ID:???0732名前は開発中のものです。
02/09/22 21:36ID:???これならx座標とz座標に応じてフィールドのy座標が決まるから、
それにカメラの高さを加えてやればいいだけだな
0733名前は開発中のものです。
02/09/22 21:41ID:???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;
このままだとカメラの移動に応じて高さが一気に変わるから適当に補完とかしる
0734名前は開発中のものです。
02/09/22 22:05ID:???0735名前は開発中のものです。
02/09/22 22:19ID:jVKC+C+Lそこは頭の使いようだろ?
HightFieldというアルゴリズム自体にはなんの問題も無い。
0736名前は開発中のものです。
02/09/22 22:29ID:???BSP(Binary Space Partition)と
>地形が盛り上がっているところや凹んでいるところで
>カメラの高さをどのように上げ下げするのか
はあまり関係ないよ。
BSPは空間分割のデータ構造とか探索のアルゴリズムの手法で、
君が求めてるのは多分ポリゴンメッシュとカメラオブジェクトの
当たり判定の話だしょ。
0737名前は開発中のものです。
02/09/22 22:45ID:jVKC+C+L0738名前は開発中のものです。
02/09/22 23:03ID:UA7t4cRe0739名前は開発中のものです。
02/09/22 23:35ID:???正解などない。
どのようにと聞かれても、地面の起伏に応じてカメラ動かせ
としか答えようがない。君にビジョンがないと話が進まないな。
BPSは今のところ本質的には関係ない。
0740名前は開発中のものです。
02/09/23 02:48ID:???0741名前は開発中のものです。
02/09/23 03:46ID:???聞いてやるよ、質問は何だ?
0742名前は開発中のものです。
02/09/23 07:06ID:???皆、小出しだね。そりゃ調べる力も必要だろうが…
漏れのやり方で良いなら、
先ず、ポリゴンは三角形として話を進める。地形は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以外は全て値が出てるよね。
お終い。
0743742
02/09/23 07:09ID:???間違い。スマソ
次は選んだ頂点のX,Y,Zをx,y,zとして
0744名前は開発中のものです。
02/09/23 08:20ID:???3頂点の重み付き平均でいいんじゃないの?
0745名前は開発中のものです。
02/09/23 08:25ID:???要約してみた。
D3DXIntersect
以上(ワラ
0746名前は開発中のものです。
02/09/23 09:01ID:???入れるにはどうすればいいんですか?
またはそれが載っているサンプルを教えて下さい
0747名前は開発中のものです。
02/09/23 09:56ID:???んなんロックして流し込めばいいだけだ。
つか、教えて君モロ出し系で質問するなら
「物凄い勢いスレ」とか「初心者歓迎スレ」のほうがいい。
ここだといきなり噛み付かれても文句いえねーよ。
0748名前は開発中のものです。
02/09/23 09:58ID:???http://game.2ch.net/test/read.cgi/gamedev/1013645518/
0749742
02/09/24 03:03ID:???そうきましたか…
ココはDirectX板だから関数があれば、それを教えれば良いのかも知れませんが…
処理的に何をやってるのか解らないで、使うってどうなんでしょう?
始めたばかりの時、行列で回転かけるのをRotation関数使わないで
ロックして全頂点をループで自前の行列計算したりってやりませんでした?
用意された関数オンリーな人って、バーテクス、ピクセルシェーダーとか
出来るようには、為ら無いんじゃ…
イチイチ平面の方程式にしないほうがイイんでないか?
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のグリッドで分けて、
グリッドごとに衝突する可能性のあるポリゴンのテーブルを作っておく
そーすっと、カメラの属するグリッドのポリゴンでのみ判定すればよくなる。
グリッド間隔は小さいほど効率が上がるがそれだけメモリを消費するんでテキトーに。
あとはアレだ。イチイチ頂点バッファのロックアンロックを繰り返すと重くなりそーなんで
頂点データは必要な部分をコピーしといたほうがいいな。
オレのラベルではこんくらいしか方法は思いつかん。もっとイイ方法があったら教えれ。
0751742
02/09/24 06:50ID:???744の3頂点の重み付き平均って奴ですね。
内分の関係を逆に捉えて、条件が満たされていれば点と点を内分する状態であると。
やはり、人のやり方って勉強になりますね。
こう言う、数学的なルーチンワークって面白いですよね。
>ポリゴン上になかったらほかのポリゴンを探す
これが、プログラマの腕の見せ所ですね。当方はへっぽこ専門生なんで
数学はともかく、プログラムはイマイチです。ここの最適化が重要ですね。
0752名前は開発中のものです。
02/09/24 09:56ID:???違うぞ。
0754名前は開発中のものです。
02/09/25 19:54ID:MSCNJlmHage
0755名前は開発中のものです。
02/09/26 01:23ID:Th5mYXTg0756名前は開発中のものです。
02/09/26 02:15ID:???適当なことをやったとき
0757名前は開発中のものです。
02/09/26 04:28ID:Th5mYXTgIDがもう少しでMSDN
0758名前は開発中のものです。
02/09/26 04:31ID:???0759名前は開発中のものです。
02/09/26 06:26ID:???757 名前:名前は開発中のものです。 :02/09/26 04:28 ID:Th5mYXTg
0760名前は開発中のものです。
02/09/26 07:41ID:???(゚∀゚)アヒャ!
0761名前は開発中のものです。
02/09/26 10:20ID:ANzLdQ8Eうちのマシンだと、たまにFPSが1も出ないような状況が起こってしまいます。
そんなに性能のいいマシンではないのですが、普通のDirectXを使った
ゲームはFPS60で普通に動いてます。
なんでそうなるのでしょうか。
再現性のないバグなのでよくわかりません。
0762名前は開発中のものです。
02/09/26 10:21ID:???0763名前は開発中のものです。
02/09/26 10:23ID:???> ゲームはFPS60で普通に動いてます。
UnrealTournament2003やBattleField1942でFPS60出てるなら、プログラム側のバグかと。
0764名前は開発中のものです。
02/09/26 11:05ID:???あと1枚画像を表示させるってのも具体的にどうやって表示してるのか。
0765名前は開発中のものです。
02/09/26 11:08ID:???>たまにFPSが1も出ない
DirectXの側でその手の不具合は聞かないな。
アプリのほうで凡ミスをやってる予感がするな。
戻り値はチェックしてるか。SDK付属サンプルは無事に動いてるか。
サンプルが無事に動いてるならそっちを参考にしたほうが早いぞ。
あとはアンチウイルスツールとかの常駐ソフトの所為かもな。
0766名前は開発中のものです。
02/09/26 11:41ID:???ドライバは最新のものにしてる?
古いものだと新しいDirectXに対応してなくて
変な現象が起こることがあるよ。
0767名前は開発中のものです。
02/09/26 11:54ID:???BattleField1942の通信対戦中にフレームレートが
極端に落ちる現象がたまーに起きる。それ以外は知らない。
0768名前は開発中のものです。
02/09/26 11:56ID:???0769名前は開発中のものです。
02/09/26 11:57ID:???0770名前は開発中のものです。
02/09/26 12:02ID:Th5mYXTgFPSを格納するバッファを更新してないかったというオチでしょうか。
あと、1枚表示させるだけの静止画だとFPSがどんくらいか判断しづらいです。
>>769
3dsに変換してconv3dsという糞ツールでxに変換してください。
0771767
02/09/26 12:03ID:???Win98SE+DirectX8.1b
BattleField1942(製品版)
ビデオチップはGeForce4Ti4200。
ドライバはBeta Detonator 40.52だ。
761の環境はどうだ。
0772名前は開発中のものです。
02/09/26 12:03ID:???HDDにアクセスしにいってるとかそういうのは無いか?
0773名前は開発中のものです。
02/09/26 12:03ID:???スレに合ってる内容とはとても思えないが…
とりあえずデータコンバータとしてもMetasequoiaをお勧めしとこう。
詳しくはMetasequoia公式のデータ交換の項を読め。
0774名前は開発中のものです。
02/09/26 12:10ID:Th5mYXTg0775名前は開発中のものです。
02/09/26 14:19ID:???0776名前は開発中のものです。
02/09/26 14:27ID:???どこかの会社が買い取って入門用3Dモデラ\39,800-とかで売り出すことになるんでない
0777名前は開発中のものです。
02/09/26 16:05ID:???フリーで何か良いソフトはありませんか?
0778名前は開発中のものです。
02/09/26 16:33ID:???0779名前は開発中のものです。
02/09/26 18:20ID:Th5mYXTgDirectX付属のDirectMusicComposerとかいうのがあったと思います。
0780名前は開発中のものです。
02/09/27 00:32ID:???SetTexture( 0, &rtex );
SetTexture( 1, &rtex );
SetTexture( 2, &rtex );
SetTexture( 3, &rtex );
のように4つのステージにセットしてピクセルシェーダーで
加工しようと思ったらt0以外ではうまくピクセルが取れなかった。
CopyRectして使ってみてもやはりステージ0以外ではうまくいかない。
ロードしてあらかじめ用意したテクスチャを使用した場合はどの
ステージのテクスチャもうまく取れたけど何か分かる人いない?
0781名前は開発中のものです。
02/09/27 04:58ID:???テクスチャ座標を適切にセットしてないだけかと。
0782名前は開発中のものです。
02/09/27 05:37ID:BHwi6z600783名前は開発中のものです。
02/09/27 05:44ID:XQiRpxo10784名前は開発中のものです。
02/09/27 08:42ID:???普通は問題なく出来るぞ。
具体的にどういう手順で失敗したのかを書けば
原因は見えると思うが、780の説明だけでは何とも。
0785名前は開発中のものです。
02/09/27 14:32ID:???もしかして使用してるピクセルシェーダーのバージョン、1.4だったりしない?
1.4ならテクスチャステージと同じ番号のレジスタにしかテクスチャロードできなかったような・・・
texldする時も
texld r0,t0
texld r1,t0
texld r2,t0
texld r3,t0
ってしないとだめだし、つーか基本か。
見当違いだったらすまん。
0786780
02/09/27 21:25ID:???UVはちゃん設定してるのでロードしたテクスチャでぼかすと
UVがうまくずれてぼけてます。つまり期待通りの結果。
>>784
普通に考えたら簡単に出来るよね。ロードしたテクスチャと
レンダリングしたテクスチャに何か違いでもあるんだろうか。
でもなんかSetRenderStateとSetTextureStateの設定で
いろいろ症状が変わるので調査中。
SetTextureを0〜3まで順番に設定していくと、段々テクスチャが
何かとαブレンドされて薄くなったりしてる。
>>785
PS1.0なんだけどね。
うちはGeForce2MXだから来週また会社で試してみます。
みんなありがとね。
0787名前は開発中のものです。
02/09/28 00:31ID:???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#しか持ってないんで対応しなかったら…
0788名前は開発中のものです。
02/09/29 15:52ID:MTZiZpi/DirectX8SDKのインストールのことで質問です。
Windows2000にSDKをインストールしようとすると
"unable to create installdriver"
というエラーが出てとまってしまいます。
もしよかったら解決法を教えてもらいたく思います。
どうぞよろしくお願いします。(既出だったらすいません)
0789名前は開発中のものです。
02/09/29 16:22ID:???どうしても入れたければOSの再インストール。
あ、PlatformSDKをフルで入れれば入るからそれでもいい。
ただし、ランタイムはRetailなのでデバッグやりづらいかもしれないけど
0790名前は開発中のものです。
02/09/29 16:24ID:???0791名前は開発中のものです。
02/09/29 17:10ID:???管理者権限がないとインストールできないと言うオチでは?
0792788
02/09/29 20:18ID:???>>789
OSの再インストールってことはやはりインストール順番がまずかったのでしょうか?
SP3→デバドラ→DirectX8SDK
ってやりました。
PlatformSDKっていうのは何ですか?
MSNのヘルプでそういう項目もあった気もしますけど、それのことでしょうか?
>>790
後にランタイム版のインストールなら成功したので、
Libファイルとヘッダファイルのみコピーで大丈夫でしょうか?
>>791
うーん、ちゃんとadministratorでログオンしてます。
0793名前は開発中のものです。
02/09/29 20:36ID:???"unable to create installdriver"
でgoogleしてみることをオススメする
0794788
02/09/29 20:44ID:Ifw9RZf/もちろんしました、
でも検索結果は望むものがでなかったんです
ほかにもいろいろ検索ワードを変えてやったりしましたがだめでした。
ほかにもいろんなWin2000のトラブルが書いてあるホームページなども
調べたけどだめでした。
1時間しらべてどうしても見つからなかったので
ここで質問させていただきました。どうかよろしくお願いします。
0795788
02/09/29 20:47ID:Ifw9RZf/ごめんなさい。間違えてました。
うちのエラーメッセージはそれじゃなかったので勘違いしました。
どうもありがとうございました。
そのワードで検索した結果で解決しそうです。
ほんとにすいません。どうもありがとうございました
0796788
02/09/29 20:49ID:Ifw9RZf/さらにごめんなさい
検索ワードまで一致してましたね・・・
ほんとにすいません、反省してます。
どうも検索ワードが悪かったです、まさかそのままいれて結果がでるとは
思わなかったので試してませんでした、すいません
0797780
02/09/30 20:03ID:???問題解決しました。
SetTextureState( 0,D3DTSS_COLOROP,D3DTOP_MODULATE );
これをステージ0だけじゃなくて1〜3ステージにもやっていたのが
原因でした。理由はいまいち飲み込めてないけど。
で、この先に進むわけだけどぼかしテクスチャを3枚ほど用意したいので
レンダリングターゲットからCopyRectした画像で動的にMIPMAPを
作成したいです。ただ動的MIPMAPはネット上にもあまり資料が
ないのでやり方が分かりません。誰か分かる人いませんか?
あとぼかしテクスチャからMIPを作るかMIPを作ってから
それぞれのレベルでぼかしテクスチャをレンダリングするか迷うなぁ。
0798名前は開発中のものです。
02/09/30 21:43ID:???0799名前は開発中のものです。
02/09/30 21:47ID:???こっそり(?)2D周りも強化されているのが嬉しい。
0800名前は開発中のものです。
02/09/30 21:54ID:???0801名前は開発中のものです。
02/09/30 21:58ID:???0802780
02/09/30 23:09ID:PG8kIa+bCEDEC行って動的MIPMAPが強化されるのは知って
るんだけどDX8でも出来るんじゃないかと思って。
出来ないんだったら1/2サイズのテクスチャにバイリニア
掛けてレンダリングして作っていかないとダメかな?
0803780
02/09/30 23:12ID:???しての間違い。
0804名前は開発中のものです。
02/09/30 23:16ID:???MSは開発者のキモチしらねーアフォか?
ベータのSDKくらいすぐ公開しやがれ!
何ヶ月待たせてると思ってるんだ!
0805名前は開発中のものです。
02/09/30 23:21ID:???ところで便乗質問なんだけど、SetRenderTargetするときは
BeginScene/EndSceneで区切る必要ありますか?
0806780
02/10/01 00:41ID:???ただSetRenderTargetって2の累乗サイズのテクスチャじゃないとね。
CopyRectの負荷がもったいないので512*512にレンダリングして
640*480に戻すってのもアリかなぁと思ったりもする。
これなら解像度の低いRenderTargetを複数用意してレンダリングを
回せば簡単にMIPが作れるね。
ああ、それでDX9にはマルチレンダーターゲットとかいうのが付いたのか。
0807780
02/10/01 01:10ID:???ifやcallでしか使えないらしいけど頂点毎に判定するんだろうか。
どうせ定数としか比較しないんだからDraw発行した時にシェーダー
を最適化して頂点毎にifで判定なんてしないようになっていればいいが。
もし頂点毎での判定ならどうしても必要な時以外はifは使えんよな。
あと計算結果との比較や頂点毎にスケルトン数を持たせてその数で
処理を振り分けたり出来るんだろうか。
0808名前は開発中のものです。
02/10/01 01:12ID:???0809名前は開発中のものです。
02/10/01 01:59ID:q1lKlffCここスレにいる>>220は基地外です。自分がこのスレの中心的な存在でなければ
気がすまない新参者を受け入れようとしない閉鎖的な人間です。
そのためには自作自演も当たり前のようにします
そんな態度が周りに不快感を与え、知らず知らず敵を作っているのです。
本人は気づいているのでしょうか
よろしければ一度見にいってくださいこのスレには彼の執念を感じます
↓
http://food.2ch.net/candy/#3
0810名前は開発中のものです。
02/10/01 13:41ID:pawwJ8CrIDirectXFileData::GetNextObject()を呼んでも
子供のマテリアル等にいかなくてNOMOREOBJECTを返すのですが
どうなってるの?ちなみにairplane 2.xで試してます
0811名前は開発中のものです。
02/10/01 17:57ID:???サンプルとしてはちょっと過剰機能かもしれないが、
SkinMeshのLorderサンプルに答えがあるよ。
兄弟オブジェクトと子供オブジェクトは違うということに注意だな。
0812名前は開発中のものです。
02/10/01 18:42ID:???SkinnedMeshに手を加えてやってます
IDirectXFile::CreateEnumObject()
=>IDirectXFileEnumObject::GetNextDataObject()
=>IDirectXFileData::GetNextObject()
=>IUnknown::QueryInterface()で取得した
メッシュオブジェクト(IDirectXFileData)で
IDirectXFileData::GetNextObject()を呼んでるのですが
MeshFaceWraps MeshTextureCoords MeshNormals
MeshVertexColors MeshMaterialList
はメッシュの子供ではないのですか?
ヘルプに書いてあるオプションのデータ要素は
子供かと思っていたのですが
0813811
02/10/01 19:43ID:???っていうかメッシュ読み込むんでしょ?
それならD3DXLoadMesh〜系の奴ならマテリアルとか自力解析する必要ないと思うんだけど…
何か特別なことやりたいのかな?
0814780
02/10/01 22:45ID:???512*512(元)と、512*512と256*256と128*128のぼかしテクスチャ。
あとはデプス値によってブレンドするみたいだけど、どうやるか分からん。
512*512の元画像のデプスバッファをテクスチャステージにセットして
ピクセルシェーダーで読むんかな?
でもダブルスチールはテクスチャ3枚とぼかし量のルックアップテーブル
らしいからデプス値はやはり元画像のアルファチャンネルに描くのか。
じゃないとテクスチャステージ4つじゃ足りないし。
すると元画像のカラーとデプスをステージ0と1にセットして
アルファにデプス入れ込むシェーダーで一回レンダリングするのか?
確かにこんな風にすればピクセルシェーダーで8ビットのデプス値を
取れそうだけど。すると256個のルックアップテーブルを確かに
参照させられそうだ。あとはルックアップテーブルの計算方法が
わかればいいけど難しそう。
0815名前は開発中のものです。
02/10/02 01:28ID:???> You can set break points in your shaders or set breakpoints on screen pixels!.
screen pixelにブレークポイントが置けるなんて面白い。
0816名前は開発中のものです。
02/10/02 12:37ID:???激しくスレ違いだけどVCでループカウンタがいくつのときにブレーク!とかってやっぱできるのかな?
できるんだろうなぁと重いながら、if文書いてブレークさせてる俺が憎い!
0817名前は開発中のものです。
02/10/02 12:46ID:???できますよ
編集->ブレークポイント->条件で
0818名前は開発中のものです。
02/10/02 12:53ID:???そんな君にお薦めの本
http://bookweb.kinokuniya.co.jp/pocketpc/wsea.cgi?W-NIPS=997437703X&RCODE=GB25%2FG03
デバッガの使い方から簡単なx86アセンブリ言語まで理解できるようになる。
クイックリファレンスシートもついていてお得だよ。お値段4800円
0819名前は開発中のものです。
02/10/02 17:56ID:2iij7o2xテクスチャ名が知りたいのですが何か方法はありますか?
0820780
02/10/02 22:39ID:???どうやらレンダリングしたカラーとデプスバッファを後から
合成するんじゃなくて元画像をレンダリングする時に頂点カラーの
αチャンネルにデプスを入れておくらしい。if氏のサンプルから判明。
同じようにやってみて、ピクセルシェーダーでmov r0,t0.aって
やったらグレースケールでデプス値を描画出来た。
あとはぶんか社のwebの資料を参考にするか。
0821名前は開発中のものです。
02/10/03 00:27ID:jFd/DQhsCPUからZBufferへのアクセスが自由らしいぞ
PCの場合はZBuffer読み込み制限きついよねー
アルファにいれても8bitでしょ?
と、Masaさん周辺が言ってたと思った
0822名前は開発中のものです。
02/10/03 00:28ID:jFd/DQhs0823名前は開発中のものです。
02/10/03 00:31ID:jFd/DQhs0824名前は開発中のものです。
02/10/03 00:44ID:jFd/DQhsつかDX9まだでないの〜〜?
0825780
02/10/03 00:53ID:???へぇ〜、確かに便利だね。
でもデプス値が欲しいのはピクセルシェーダーでブラーテクスチャを
ブレンドする時だと思うから結局CPUではアクセスしないので
αチャンネルに入れるしか無いような気がするなぁ。
つーか、まさかGPUの仕事を低速なCPUにやらせてるのか?
あしたwebの資料をあさってみるか。
0826名前は開発中のものです。
02/10/03 19:00ID:???輪郭をレンダリングするにはどうしたらいい?
0827名前は開発中のものです。
02/10/03 20:41ID:???実装の方法は自分で考えてって前提なら。
ポリゴンの法線が視線(カメラ)の向きと直角なら、黒くする。
レンダリングするオブジェクトより、少しだけ大きく
ポリゴンが裏向きのオブジェクトを用意して同じ位置で一緒に描画
ちょー思いつき。
0828名前は開発中のものです。
02/10/03 22:45ID:???へっぽこ専門学校生なんですが学校まで行ってソフト使いに行くのが億劫なんで。
メタセコからmikoto経由のXファイルアニメ吐き出しは変換ソフトが今非公開らしいし。
0829名前は開発中のものです。
02/10/03 22:48ID:???ttp://isweb42.infoseek.co.jp/computer/t_tail/program/vsdx8/d3d/013/index.htm
はい、漏れは知らんが。
0830名前は開発中のものです。
02/10/03 23:43ID:???mikotoのファイルパーサを作る。
実力付くぞ〜。専門学校生ならやっといて損は無い。
0831名前は開発中のものです。
02/10/04 00:00ID:37NScLDw方法を模索してましたが、挫折しそうです。
GeForce3つかってます。D3DTOP_LERPとかいろいろやってみたけど
うまく行きません。助けてください。
0832名前は開発中のものです。
02/10/04 00:39ID:Ry8odqE2ここは?
0833名前は開発中のものです。
02/10/04 00:50ID:???http://www.t-pot.com/
ここ行け。リクエストにも答えてくれるぞ。
つーかまじでやってくれるとは思わなかったけど。
0834名前は開発中のものです。
02/10/04 00:56ID:???固定T&Lでのセルシェーディングなんざ
ネット上に資料がゴロゴロ転がってるぞ。
googleで
toon rendering とかで検索してみ。一発よ。
0835名前は開発中のものです。
02/10/04 01:03ID:???変なのが残念。
0836DirectX9!!
02/10/04 01:33ID:???0837名前は開発中のものです。
02/10/04 01:36ID:???0838名前は開発中のものです。
02/10/04 15:21ID:???まるちぽすとウザい。
0839名前は開発中のものです。
02/10/04 21:07ID:???DirectX8.1のDirectGraphicsについてなんですが
2D描写の時、サーフェイスを作ってブロック転送するとうまくいくのですが
スプライトでやろうとすると、
縦横のサイズを2の累乗でスプライトを作成すれば問題ないのですが、
それ以外の場合、伸びたりちじんだりしてしまいます。
やはりこれもテクスチャの制限というかビデオカードに依存するものなのでしょうか?
640*480でアルファブレンディングして2D描画(のべるげーのようなもの)がしたいのですが
どうしてもうまくいきません。
サーフェイス間でアルファブレンディングなどは不可能なのでしょうか。
素直に7までのDirectDrawを使うべきなのでしょうか……
0840名前は開発中のものです。
02/10/04 21:14ID:???漏れも初心者なんで細かいことはわからんが、確かDiorect3D系は縦と横がそれぞれ2の累乗の画像サイズじゃないとおかしくなる。
ビデオカードではなくDirectXの仕様みたいなの。
1024*512で画像作って、入れるか、512*512を拡大縮小して640*480にはめ込むなんてのもあり。
ていうかDirectDrawを使ったことが無いのでわからんちん。DirectGraphics簡単すぎねん。
ちなみにスプライト関数はお勧めしない。うちだけかもしれんけどなんか沢山だすとやたら重い。
頂点データで自前スプライト関数を作るのをお勧め。どうせ作るやつに併せて関数組替えるんだし細かいトコまで指定できるそっちのが良いかと。
初心者の漏れが言うことなんで自信なし。
このスレ見てる人はもっと上手い事言えると思うけど。
0841名前は開発中のものです。
02/10/04 23:18ID:???確かスプライトは勝手に伸縮するから、空のテクスチャを作った後に画像を
転送するとかそういう工夫が必要だったはず。
0842名前は開発中のものです。
02/10/04 23:23ID:???2D野郎はけち臭いし面倒くさがり。
そのくせMMXやらSSEの自慰的最適化は大好き。
面倒なのが好きなら256x256を5枚確保して分割しろ。
5枚目は128x256に分ける
0843名前は開発中のものです。
02/10/05 00:14ID:???http://www.aqut.homeip.net/quadrupled/ml/200201/msg00000.html
↑とかは?
0844名前は開発中のものです。
02/10/05 07:45ID:???ウインドウだと1000FPSなのにフルだと70〜80になります。
0846名前は開発中のものです。
02/10/05 09:18ID:CpVGlNaLリフレッシュレートに同期してんじゃねぇの?
デフォルトでは同期だっけ?
0847名前は開発中のものです。
02/10/05 09:39ID:???テクスチャのサイズは累乗の制限を受けるが
画像自体が勝手に伸びたり縮んだりすることは絶対に無い
D3DXでわざわざ伸張フィルター付で読み込んでいるとかいう落ちでは?
0848名前は開発中のものです。
02/10/05 10:14ID:CpVGlNaL消息知らない?
大体煮詰まってくるとHP消しちゃうんだよなー
おながいしますよ
0849839
02/10/05 10:19ID:???>>841
>>842
助言ありがとうございます
うーん、やっぱりテクスチャのサイズ制限を受けてしまうみたいですね……
>>847
すいません、フィルターかけてました(;´Д`)
0850名前は開発中のものです。
02/10/05 10:24ID:???テクスチャ読み込み時にD3DX_FILTER_NONEを指定しなさい。そうすれば累乗でできた余白は黒になる。
0851名前は開発中のものです。
02/10/05 11:53ID:???1024*512のテクスチャを作って640*480のBMPとかを
読み込ませてポリゴンに張って使えばいいと思うよ。
ただし、ピクセルとテクセルが完全に一致しない事がある。
座標に0.5の補正を掛けてもダメで、ドライバーの設定を
いじってもダメだった。元絵が微妙にボケる可能性あり。
>>842
>最近はエロゲでも640x480より大画面のゲームあるだろ。
>2D野郎はけち臭いし面倒くさがり。
CDの容量とかデザイナの手間を考えて640*480にするんじゃねぇの?
エフェクトとかも考えると640*480じゃないと古い機種はつらい。
>>848
if氏のはこっちに引越し。
http://www.t-pot.com/
0852名前は開発中のものです。
02/10/05 11:56ID:CpVGlNaLサンクス〜(号泣
0853名前は開発中のものです。
02/10/05 13:24ID:???「この呼び出しの間に使用される頂点群に対する最小の頂点インデックス。」
ってなってるんですけど、これは4番目の引数StartIndexの説明
「インデックス配列の中で頂点の読み取りを開始する位置。」
と何が違うのでしょうか?
0854名前は開発中のものです。
02/10/05 13:41ID:???1つ目は「頂点群に対する最小の頂点インデックス」
2つ目は「インデックス配列の読み出し開始位置」
対象が違うっしょ
0855名前は開発中のものです。
02/10/05 13:42ID:???MinIndex インデックスバッファの中の値の最小値。「頂点バッファの
開始位置」みたいな使い方。
0856名前は開発中のものです。
02/10/05 18:11ID:???一通りいじってきたので、そろそろモーションやろうと思ってます。
IFさんのページとか見たのですが、もっとじっくり知りたいのです。
おすすめの本とかサイトとか在りますでしょうか?
0857名前は開発中のものです。
02/10/05 20:54ID:???Advanced Animation and Rendering Techniques : Theory and Practice
http://www.amazon.co.jp/exec/obidos/ASIN/0201544121/qid%3D1033818807/249-1506701-3573152
0858名前は開発中のものです。
02/10/05 23:17ID:Lt8u7Bgr現在PixelShaderを使わないでやってますが、
ほとんどマルチパスになっちゃってます。
普通xバンプ + 加算xバンプ
やっぱもったいないですか?
0859名前は開発中のものです。
02/10/06 00:33ID:???最小って何が最小なんですか?
描画のタイプ(TRIANBLEFANとか)とプリミティブの数の二つの引数から
呼び出されるインデックスの数がわかるので、この二つとあとはインデックス
バッファの開始場所の引数だけあればいいってことではないのですか?
0860名前は開発中のものです。
02/10/06 00:41ID:4rON28Odhttp://c4.cgiboy.com/darkserge999/
0861名前は開発中のものです。
02/10/06 00:45ID:???2番目の引数MinIndexと3番目の引数NumVerticesというのは、
頂点バッファにあるN個の頂点のうち
「MinIndex番目からNumVertex個使う」
という指示なんだろう。
この範囲の頂点をハードウェアに送ったりT&Lしたり
なんらかの最適化に用いるんだと思う。
0862名前は開発中のものです。
02/10/06 02:12ID:???棒を作ってボーン二個でうねるアニメを作りSDK付属のXファイルを吐き出しましたがメッシュビューワーでアニメーションしません
休日使って学校行ったのに何も進展なかったら欝だ・・・。
0863名前は開発中のものです。
02/10/06 02:37ID:???あぼーん
不幸
0864名前は開発中のものです。
02/10/06 03:07ID:???質問なんですが、
SetTextureStageStateで
テクスチャのアルファを参照するようにしているときに、
RGB565のようなアルファをもたないテクスチャを割り当てたら、
アルファは 0、1 どちらと見なされるんでしょうか?
0865名前は開発中のものです。
02/10/06 06:05ID:???ついてくる。
というか、Xファイルをテキストで出してみればわかる。
ちなみにMAXの場合、モーションなんかより
スキニング情報を出力させるのが厄介
(アニメーションしないのもそのせいだろう)。
プラグインのReadmeに書いてあるから読んでみ。
そもそもMAXは設計がおかしいから(機能追加による無意味な肥満化)
可能であればMayaなりXSIに移行することを勧める。
ついでに言うと、はじめはXファイル使うのもいいが、
3Dの仕組みわかってきたら自分でプラグイン作ることも勧めておく。
0866名前は開発中のものです。
02/10/06 09:01ID:PrcbrNwYMAXのSDK 日本語化が完全に終わってない、つかする気もない模様。詐欺だ。明記しとけ
文句言う方がヘタレですか、、、ショボーン
各ツール触ってないと、内部構造まで比較できないっすよねぇ
購入前にSDKあまり覗け無いし… MAXは醜いのか…
割とmaxフォーマットが広まってるので大金だして買ったのに鬱〜
0867名前は開発中のものです。
02/10/06 10:11ID:???1
0868名前は開発中のものです。
02/10/06 10:40ID:???0869名前は開発中のものです。
02/10/06 11:30ID:???0870名前は開発中のものです。
02/10/06 11:37ID:???もしもゲーム用の著作権フリー素材集を公開したところ、
著作者を明示せずに無断で流用する連中が横行し、
自分の素材が使われたゲームが見たいと思っても誰も作者に報告しない。
あまつさえ散々利用していたはずの連中に匿名掲示板で中傷される。
そんな状況だったらゲーム用のフリー素材集をどれだけの人間が公開するだろう?
あなたは素材製作者に対してどれだけのものを還元してきたのだろう?
結局、他人の善意を引き出すことができるのは自分の善意だけだ。
誰かがやることを期待するよりも自分が先鞭をつけることが先ではないのか?
0871名前は開発中のものです。
02/10/06 11:59ID:???あーいやそのフリー公開じゃなくて・・・
音楽とか効果音とか壁紙とかって売ってるじゃない
そういうの
0872名前は開発中のものです。
02/10/06 12:17ID:???0873名前は開発中のものです。
02/10/06 12:30ID:PrcbrNwY人体だって それなりに公開されてるだろ。Mikotoのデーターとかな
まず、コンバーター作ってプログラムに組み込んで、ゲームなり動く状態になったら
それを見せてデーター利用の交渉しろよ
0874名前は開発中のものです。
02/10/06 12:44ID:???ありがとうございます。
Readme訳して勉強してきます。
学校がMAXとLightWave置いてあるんでそれを使ってるんです。
LightWaveは友人いわくテクスチャ付ワンスキンアニメの出力にバグがあるとかなんとかでMAXをやって見たんですが。
0875名前は開発中のものです。
02/10/06 13:06ID:???そっち行きます
0876名前は開発中のものです。
02/10/06 14:11ID:OgV3YXy2自分で作ったプログラムを動かしてみても、しょぼい爆発しか描画されません。
というか、ただのビットマップが数個重なって(αブレンドはしたけど)表示されるだけです。
画像は、windowsのペイントのスプレーでちゃちゃっと書いたようなものなのですが、
これが原因なのですか?
どうしても爆発が粗く見えるのです。
それとも、DirectXの描画機能で、ぼかすなどの機能があるのですか?
それとも、プログラム中で画像をぼかす機能を自分で実装するのですか?
みなさんどうやってます?
0877名前は開発中のものです。
02/10/06 14:48ID:???ttp://www.vector.co.jp/soft/win95/art/se173882.html
こんなん使ってる。
スプレーでやる場合Windowsのペイントだと標準の色が彩度が高いので綺麗にならない
0878名前は開発中のものです。
02/10/06 15:13ID:???>MAXのSDK 日本語化が完全に終わってない、つかする気もない模様。詐欺だ。明記しとけ
翻訳ソフト通してある程度判断すればいい。つーか英語覚えなさい。
モデルの出力プラグインならMSもソース付きで公開してるし
あるものを解析して吸収するべし。
正直日本語マニュアルが無いと何も出来ない奴はヘタレ。
0879名前は開発中のものです。
02/10/06 16:06ID:PrcbrNwYリンクの張ってないOnlineDocなんて読めるかゴルァ
印刷してもまた別の面で不便
0880名前は開発中のものです。
02/10/06 16:42ID:tRa4bAyPσ゚д゚)ボーノ
ボーノとは、イタリア語で「おいしい」という意味です。
2chでメジャーの(゚д゚)ウマーに対抗して(?)できたようです。
※ちなみに、絵の意味は、イタリア人によく見られる、
おいしいときに指をほっぺにあてる仕草です
0881名前は開発中のものです。
02/10/06 16:47ID:???そういうくだらないことは他のクソスレでやってくれ
0882名前は開発中のものです。
02/10/06 16:53ID:???0883名前は開発中のものです。
02/10/06 17:01ID:???0884名前は開発中のものです。
02/10/06 17:08ID:???売っている素材集は基本的にゲーム等には使えないよ。
普通はテクスチャ等を単体で抜き出せるような用途には使用不可能。
ようするにプリレンダムービーにしか使えない。
0885名前は開発中のものです。
02/10/06 17:23ID:???0886名前は開発中のものです。
02/10/06 18:00ID:???いや、だから著作権フリーの、と書いてあるんですが・・・
0887名前は開発中のものです。
02/10/06 18:21ID:OgV3YXy2よいのですか?
0888名前は開発中のものです。
02/10/06 18:26ID:???ポカーン
0889名前は開発中のものです。
02/10/06 18:34ID:???ライティングはdiffuseやspecularやambientなどで表現します。
というかprogramable shaderがあることだし、方法は無数です。
ファミコンではドット絵で表現した。
聖人は言葉で表現しました。
WinGLは236色(だっけ)中の近い色と置換する変換テーブルだっけ?
887に光明あれ。首をくくればおそらくJacob's ladderを視れる
0890名前は開発中のものです。
02/10/06 18:40ID:???ある、馬鹿なことを言う前にヘルプで確認しろ
0891名前は開発中のものです。
02/10/06 20:50ID:???ていうかDirectDrawですか?
それなら自前でピクセル毎にがんばって。
3D|Graphicsならヘルプを読みましょう。
0892名前は開発中のものです。
02/10/06 21:27ID:???頂点バッファを使わないでもできますか?
0893名前は開発中のものです。
02/10/06 21:44ID:???0894名前は開発中のものです。
02/10/06 21:51ID:???お前には聞いてない
0895名前は開発中のものです。
02/10/06 21:54ID:???出来る。
SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);
透明On
SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ONE);
黒抜き
SetRenderState(D3DRS_DESTBLEND,D3DBLEND_ONE);
加算
この後に描画するものはすべて加算になる。
戻し方は探せ。応用だ。
0896895
02/10/06 21:56ID:???逆ギレするくらいならこんな簡単なことで聞くな。ヘルプに載ってるんだから
0897名前は開発中のものです。
02/10/06 21:58ID:???神
0898名前は開発中のものです。
02/10/06 22:15ID:???ここのレベルが低い事ぐらい見ればわかるんだから相手に合わせろよ。
素人の書き込みにカリカリするなら来ないほうがいいぞ。
0899名前は開発中のものです。
02/10/06 22:19ID:???素人がわからないことはヘルプに載ってるがヘルプに載ってないことこそ経験者に聞く必要がある。
相手に合わせろというくらいならおまえが相手に合わせてヘルプを読め。
そもそもDirectXSDKを使うのにそのヘルプを読まないとはどういう神経してんだ。
0900名前は開発中のものです。
02/10/06 22:25ID:???その低レベルに聞かなきゃならんヤツならそのレベルを超えるべくここに来ないでもっとレベル高いとこ行けと。
0901名前は開発中のものです。
02/10/06 22:27ID:???廚にかまうな。駄スレ化する。
0902名前は開発中のものです。
02/10/06 22:32ID:???0903名前は開発中のものです。
02/10/06 22:35ID:???0904名前は開発中のものです。
02/10/06 22:37ID:???ネットで検索すれば出てくる話題はNGか?
英語資料読みもしない奴の質問もNGだよな。
とりあえずシーグラフレベル以外は質問すんなよ。
0905次スレは>>950が
02/10/06 22:50ID:???あまりにもアレだったら、初心者スレか物凄い勢いスレに誘導すればいいじゃん。
レベルの話自体が荒れる兆候なんだって。
0906名前は開発中のものです。
02/10/06 23:24ID:???努力が見られない人間に気持ちよく答えてやれる人間は少ない
0907名前は開発中のものです。
02/10/06 23:38ID:???そうそう、それよ。
たとえば「ヘルプを見たけどどのような命令で加算ができるのかわかりません。DrawPrimitiveに何かやるのでしょうか」
みたいな初心者だけど色々試してそれでも分からん(↑この場合的違いなんだが)とかだったら答えやすい。
レベルとかじゃなく、態度やな。例えレベル高くても慇懃無礼なヤツには対応するのも面倒。
超初心者でも丁寧かつ行動してるやつなら応える。
0908名前は開発中のものです。
02/10/07 00:26ID:???変にプライド持ってたり自分の考え押し付けたり。
まぁそーゆー奴の質問にはGoogleのアドレスと
検索キーワード教えてやるだけ。
実際検索も出来ん奴は叩かれておしまい。
0909名前は開発中のものです。
02/10/07 00:29ID:???0910名前は開発中のものです。
02/10/07 00:40ID:???0911名前は開発中のものです。
02/10/07 00:50ID:???0912名前は開発中のものです。
02/10/07 00:54ID:???まさに初心忘れるべからずですな。
>910
それをいったらこの板の存在が
0913名前は開発中のものです。
02/10/07 00:58ID:???何か勘違いしてない?この板は隔離板でしょ。
ちゃんと機能してるんじゃないの。
0914名前は開発中のものです。
02/10/07 01:00ID:???ゴメン納得
0915次スレの1
02/10/07 01:03ID:???次スレたてました
が、確認画面があると思ってた・・・鬱だ氏のう
0916名前は開発中のものです。
02/10/07 01:05ID:???1. まずAを>>1とし、Bを>>2から>>100までとする。
2. そしてAはひたすら逃げて、BはAを追いかける。
3. 始める前にAは夏みかんを右手に持つ。
4. そしたらAが夏みかんを持った瞬間にスタートする。
5. で、Bの人が「あいつがAだー!!追えー!!!!」と言いながら追う。
6. その時Aはちゃんと夏みかんを持っている。
7. ルールは簡単。Aが夏みかんを落としたりBの瑞lに捕まったらャMロチンで死刑=B
8. 後はAの地獄ゲームの始まり!!!(ワクワク
∧_∧ マテー ∧_∧
( ´∀`) (・∀・; )
( B つつ ( A つつ
/ / / / / /
(__)_) (__)_)
0918名前は開発中のものです。
03/06/06 02:44ID:K0z6QAja0919名前は開発中のものです。
03/06/12 11:39ID:4dtzK4SQフルスクリーン/ウィンドウモード の切り替えをする
プログラムの作成は可能でしょうか?
0920あぼーん
NGNG0921名前は開発中のものです。
03/06/12 13:46ID:Wikb5Epq出来るよ
0922名前は開発中のものです。
03/06/13 01:58ID:d/L6f6Yystatic LPDIRECTDRAW m_lpDD;
public:
LPDIRECTDRAW *GetDirectDraw(void) { return m_lpDD; }
// 以下略...
};
class CSurface {
public:
HRESULT Create(...) {
LPDIRECTDRAW lpDD = CDirectDraw::GetDirectDraw();
lpDD->CreateSurface(...);
// 略...
}
};
当然ですが CSurface::Create() を呼ぶ前に CDirectDraw は初期化されているものとします。
こんな設計はタコですか?
0923922
03/06/13 02:08ID:d/L6f6Yy正:LPDIRECTDRAW GetDirectDraw(void) { return m_lpDD; }
鬱だ氏のう
0924名前は開発中のものです。
03/06/13 02:21ID:T6uNcKlh0925名前は開発中のものです。
03/06/13 03:41ID:v/lKEnEp/_ |
/. \ ̄ ̄ ̄ ̄|
/ / ― ― |
| / - - |
||| (5 > |
| | | ┏━┓| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | ┃─┃| < このスレは既に終了してしまった
|| | | | \ ┃ ┃/ \ 正直、スマンカッタ
| || | |  ̄ \_________
0926名前は開発中のものです。
03/06/13 17:25ID:TW6NN3wF0927922
03/06/13 18:52ID:d/L6f6Yy0928名前は開発中のものです。
03/06/14 07:31ID:HJoCyXdHstatic LPDIRECTDRAW GetDirectDraw(void) { return m_lpDD; }
0929名前は開発中のものです。
03/06/14 07:46ID:HJoCyXdH要は参照カウンタをちゃんと処理するか手を抜くかだ。
CSurfaceだけを他のプログラムで流用可能にするならこういうのもどうだ
HRESULT CSurface::Create(LPDIRECTDRAW dd)
{
ASSERT(dd);
HRESULT hr = dd->CreateSurface(...);
m_lpDD = dd;
m_lpDD->AddRef;
}
0930名前は開発中のものです。
03/06/14 22:20ID:cTPST66HZバッファーのフォーマットについて質問です。
Zバッファーの設定で 16bitや、32bitに設定することが可能ですが、
内部で扱っている ピクセルの型は何になっているのでしょうか?
32bitが float型 だとは、おもいますが、
16bitは どういう型で 扱っているのでしょうか?
もしかして Zバッファーは、浮動少数ではなく 整数で扱っているのでしょうか?
0931名前は開発中のものです。
03/06/15 00:25ID:wphTWAMj0932930
03/06/15 03:23ID:IItMzzO8整数なんですね。
32bitであれば、
頂点変換後のZ値0.0f〜1.0fを
0x0〜0xFFFFFFFF
に変換しているということなんですね。
ただなぜ浮動少数ではなく整数なのか疑問ではあります、
透視変換した後のZ値を そのままバッファーに書き込まずに、
浮動少数から整数にコンバートしたものを書き込むのはあきらかに
コストがかかるきがします。
整数で扱うメリットは、Zバッファのピクセル1個あたりを16bitなどにしてメモリを小さくすることできるから
ということでしょうか?
もしほかにメリットがあればおしえてください。
0933名前は開発中のものです。
03/06/15 03:59ID:mAIyay4u済むぞ。
0934名前は開発中のものです。
03/06/15 10:50ID:hpUfSjLF0935名前は開発中のものです。
03/06/15 18:13ID:EYVvjjRm浮動少数で扱っているのは頂点単位での話。
セットアップエンジンによって変換されて、ラスタライザが扱うのは
固定少数なのが普通かと。
といっても、ピクセルシェーダ2.0からはラスタライザが浮動少数を
扱えなきゃいけなくなったから、今では状況が変わってしまったが。
DX9から浮動少数のZバッファフォーマットも対応したから、そっちを
使っているビデオカードもあるかも。
(D32等のフォーマットはどうせLockできないから既に使っているかも?)
0936名前は開発中のものです。
03/06/17 02:32ID:qP+zKSnA計算式に興味がなくて、手っ取り早くデータだけがほしい場合は
LightWaveにプラグインがあるので、誰かにたのんで
そっから出力するといいかも。
0937名前は開発中のものです。
03/06/19 08:35ID:WowxRFTCがんばってくだせぇ。
0938名前は開発中のものです。
03/06/19 13:39ID:huxG79qD普通の円、塗りつぶした円とかなんですが・・
やりかたがよく分かりません 教えて頂けないでしょうか?
DrawPrimitiveとかを使って描けますか?
0939ちよ
03/06/19 15:18ID:J/0rHTBehttp://www1.free-city.net/home/kotarou/page002.html
0940名前は開発中のものです。
03/06/19 22:28ID:aTxWa52zDrawPrimitiveを使用しても きれいな円を描くには、
ポリゴン数がかなり必要。
円のテクスチャーを用意するのが簡単で良いんじゃない?
グレースケールで作っておいて色を変更したいときには
頂点カラーを設定するのがよさそう。
スクリーンバッファをロックしてピクセル単位で塗りつぶす方法もあるが、
遅くて使いものにならないとおもう。
0941名前は開発中のものです。
03/06/20 00:25ID:sCADFXcn0942名前は開発中のものです。
03/06/20 00:28ID:PhCMIKkN見てちょ♪
http://endou.kir.jp/betu/linkvp/linkvp.html
http://www2.free-city.net/home/angelers/index.html
0943デフォルトの名無しさん
03/06/20 01:26ID:poG4M/Amやだよ♪
0944名前は開発中のものです。
03/06/20 01:27ID:Fdc0IliVただ精度がちょっと心配かも。
PS2.0なら問題ないんだけどさ。
0945あぼーん
03/06/20 02:00ID:QGuS5T920946938
03/06/20 22:19ID:z58H3NHEレスどうも。
実用速度を考えた場合は、やはり円のテクスチャーを用意するのがよさげですね。
時と場合によって、バッファのDCにAPI使う方法と
テクスチャーで使い分けする事にします。
0947名前は開発中のものです。
03/06/21 00:16ID:akryBTEtどうせファン1つで済むから1ポリゴン≒1頂点だし。
0948名前は開発中のものです。
03/06/23 23:50ID:io/lQ1Wuttp://www.agony.ukgo.com/tqf7/clips/9193uohv/cap017a.mpg
ttp://movies.ogrish.com/ofex.asf
ttp://members.lycos.co.uk/islamonrise/chechenya/chechenya1.html
ttp://www.trebus.fsnet.co.uk/vir2/world/che-19aj/uiho.htm
ttp://www.cotw.jena.co.uk/cotw/080-8g6e/i1-rj87.htm
ttp://rotten.s16.xrea.com/
0949名前は開発中のものです。
03/06/24 13:33ID:KCeWITLJこれってデバイスコンテキスト用API(?)のSetPixel()とかBitBlt()とかは
全部つかえるもんなの?
GetDC()には成功したんだけど、なにやっても真っ黒なんだよねー(泣)
0950名前は開発中のものです。
03/06/24 19:25ID:z5LcKhj8っていうか、本当にGetDCは成功してるのか?
0951949
03/06/25 13:10ID:t/sv5vGpテクスチャ作成時のフォーマットをD3DFMT_X8R8G8B8に
したのが原因だったようです。
でもなんで黒くなるのか分かりません。
昨日は頭が回ってない状態で質問してしまったです。
正確には、画面上の任意座標に絵を2Dで表示させる為に
テクスチャを用意して、それをスプライトを用いて
Draw()するようなことをやっていました。
上記フォーマットで作成した場合、指定した位置に
真っ黒で表示され、GetDC()で書き込んだ内容が
ウインドウの左上位置(0,0)に表示されてしまいました。
うーん、自分、テクスチャとサーフェスをよく
理解していないのかもしれません。
GetDC()はちゃんと成功しています。
0952名前は開発中のものです。
03/06/26 09:19ID:Zh6HDqeK結論から言うとGETDCで得たDCに直接書き込んでも実用品になりません。
ちらつくだけです。
コンパチブルDCをつくりDIBを作成
テクスチャも作成してそこから転送 このときテクスチャはARGBのデーターです。
そのテクスチャをポリゴンに貼り付け
真っ黒なのはアルファデーターを考えてないからかもしれないからかな?
アルファデーターはどこでどうされてるのでしょうか?
0953名前は開発中のものです。
03/06/26 18:57ID:QAcTNiCcそんな話は初めて聞いたけど?
0954名前は開発中のものです。
03/06/26 19:31ID:5GfwaFR5ID3DXEfectPoolって使えてます?
インスタンス化したインターフェイスを
D3DXCreateEffectに渡すとエラーになるんですよね。
渡すだけなんで何かミスしてるとは思えないし。
DX9aSDKじゃないんでそれが原因ですかね?
0955名前は開発中のものです。
03/06/26 19:40ID:5GfwaFR5それ以外のことはD3DXでより簡単にいけるでしょ。
0956名前は開発中のものです。
03/06/26 19:53ID:5GfwaFR5環境マップを使ったエフェクトで最終的な色出力式ってどうすりゃいいのかな?
デカールテクスチャ色xデフューズ色+スペキュラ色+環境マップテクスチャ色+アンビエント色
でいいの?
デフューズ、スペキュラと環境マップをどう絡ませるべきなのかわからんす。
0957名前は開発中のものです。
03/06/26 22:00ID:0Q91txooテクスチャを経由する場合は透明部分がいるからアルファ付きにする必要があるが
そうするとGetDCが出来なくなる
0958名前は開発中のものです。
03/06/26 23:05ID:UzXWyRBe自前のプログラムが、どれくらいメモリを消費するか調べたいんだけど。
これはDirectXのAPIじゃなくてWindowsのAPIとして用意されてるのかな?
0959_
03/06/26 23:11ID:j8CcaA+E0960名前は開発中のものです。
03/06/27 00:15ID:udyawxA0i810みたいなのがあるから、簡単にはわからないみたいよ。
一度チャレンジしたことがあるんだけど、正確な数値は得られなかった。
0961名前は開発中のものです。
03/06/27 02:49ID:GqSqsGV9フォント程度ならアルファが無くても平気だょ?
0962名前は開発中のものです。
03/06/27 07:28ID:P6GJfOKp0963名前は開発中のものです。
03/06/27 21:33ID:3azb0OQf綺麗に出そうとするとこれがまた難解でな。
0964名前は開発中のものです。
03/06/28 23:10ID:zP3PIxvZ0965名前は開発中のものです。
03/06/28 23:27ID:F+GT1gCc0966名前は開発中のものです。
03/07/01 00:26ID:hWPJGdTOナイショで使うのでソースきぼん
0967名前は開発中のものです。
03/07/01 08:46ID:24TFmhfP勘違いかもしれん。MSがtruetypeのレンダリング処理のどこかに
特許を持ってるか何かで、XFree86関連のtruetype対応が一部止まって
るとかいう話を聞いた
0968名前は開発中のものです。
03/07/01 20:40ID:gT/+PI8hApple、TrueType、特許で検索すると記事が見つかる
結局どうなったのか知んないけど
0969名前は開発中のものです。
03/07/04 22:02ID:Mh/sei2x0970_
03/07/04 22:12ID:B5C7015r0971名前は開発中のものです。
03/07/05 11:15ID:/i88leYb1. マルチポストかおめー
2. ヘルプちゃんと読め
0972名前は開発中のものです。
03/07/05 11:52ID:97/cMruBD3DXMATRIX m_matView;//以前のビュー行列
D3DXMATRIX m_matCLocal;//カメラローカル行列
D3DXMATRIX matR;
D3DXQUATERNION q;
D3DXVECTOR3 m_vYPR;
D3DXMatrixIdentity(&m_matCLocal);
D3DXQuaternionRotationYawPitchRoll(&q,m_vMovYPR.x,m_vMovYPR.y,m_vMovYPR.z);
matR=m_matView;
matR.m[3][0]=matR.m[3][1]=matR.m[3][2]=0.f;
D3DXMatrixRotationQuaternion(&matR,&q);
m_matCLocal=m_matCLocal*matR;
これだとy軸眺めたときにヨーがロールになってしまうんですが
なんか間違ってますか?
クォータニオンってジンバルロック無いと思ってたのに・・・
ご教示お願いします
0973名前は開発中のものです。
03/07/05 11:59ID:bplnAZ13YPRで管理すること自体がジンバルロックの原因だということを理解していない?
0974無料動画直リン
03/07/05 12:12ID:F0qUjL+p0975972
03/07/05 12:22ID:XM0AoxQ8オイラー角管理になってしまうからですか
クォータニオンのみで管理するんですか・・・分かり難いなぁ
他の方法を考えて見ます巣
0976名前は開発中のものです。
03/07/05 16:38ID:7s13lWZWネットで稼ぐならこれ。完全無料!!
リンクスタッフになれば小遣い稼ぎができます!!(右上に登録画面があります)
[報酬について]
クリック報酬・・・1クリックされる度に10円の報酬
バナー紹介料・・・リンクスタッフ登録の度に1000円の報酬
キャンペーン・・・今なら登録するだけで1000円プレゼント
間接報酬・・・紹介者が得た報酬を何割か加算いたします
ボーナス・・・優秀サイトには、報酬に応じてボーナス有り
単純に考えて1日100人クリックしたとすると、100人×10円×30日=30000円(一ヶ月)
そこらへんの掲示板に貼り付けていけば100クリックなんてスグです。
その他、自分の貼り付けた広告から誰かがスタッフになると1000円もらえるので
1日5人スタッフを紹介できたとして1000×5×30=150000円
30000+15000=180000!!間接報酬などもありますので一ヶ月に10万円以上は稼げます!!
http://www12.ocn.ne.jp/~sihori/com.html
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
0977名前は開発中のものです。
03/07/05 21:03ID:DVozr+6kD3DXMATRIXpt;
D3DXMatrixIdentity(&pt);
pt._41=0;
pt._42=0;
pt._43=-1;
D3DXMatrixRotationX( &pt, D3DXToRadian(90) );
カメラ位置はz-4 方向は000とします
手前の点を X軸に沿って上向きに90度回転
ptの値の変化は_41=0 _42=1 _43=0 というのを期待したのですが、(x0 y1 z0)
実際は別のフィールドに値が書き込まれ_41 _42 _43には0が書き込まれます。
回転後の座標を得る為にはこの結果を、さらに何かの関数を通さないといけないのでしょうか?
それとも根本的に間違っているのでしょうか?
初歩的な質問ですみませんが教えてください。
0978直リン
03/07/05 21:12ID:F0qUjL+p0979名前は開発中のものです。
03/07/05 21:29ID:bNP8Vlf3なんで回転行列を作成する関数で計算結果が出るんだ?
ついでになんで回転させると座標が変わるんだ?
お前の地球儀は回転させるとどこかに吹っ飛んでいくのか?
0980名前は開発中のものです。
03/07/05 21:39ID:yFTHtwmT関数の使い方を間違っている。
0981無料動画直リン
03/07/05 23:12ID:F0qUjL+p0982名前は開発中のものです。
03/07/05 23:44ID:DVozr+6kD3DXMATRIX pt,pt2,pt3 ;
D3DXMatrixIdentity(&pt);D3DXMatrixIdentity(&pt2);
pt._41=0; pt._42=0; pt._43=-1; //惑星座標
D3DXMatrixRotationX( &pt2, D3DXToRadian(90) );//原点で回転
D3DXMatrixMultiply(&pt3,&pt2,&pt);
となると、まず原点(公転)で回転してそれを惑星と乗算すると良いのですか?
これでも0、1、0にはならないのです。
何故なのでしょうか? あほな私に教えてください。
0983名前は開発中のものです。
03/07/05 23:57ID:bi3MZju7http://endou.kir.jp/moro/linkv.html
0984名前は開発中のものです。
03/07/06 02:52ID:uoqfGpA6行列の平行移動成分と、ベクトルの座標を混同してるんじゃねーの。
0985名前は開発中のものです。
03/07/06 08:07ID:8FFv83mZ聞くのは一時の恥
聞かぬは一生の恥
0986名前は開発中のものです。
03/07/06 10:46ID:KCoIIvyFわからんやっちゃな。マルチポストはまた別の恥だ。
つーか、もう別の場所で答えもらってるんだから大人しくしとけ。
0987名前は開発中のものです。
03/07/06 10:50ID:hbsipMCKどうしても0,1,0が欲しいのなら
D3DXMatrixMultiply(&pt3,&pt,&pt2);
レス数が950を超えています。1000を超えると書き込みができなくなります。