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


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

鬱だ氏のう DirectX (Part 11)
751 名前:デフォルトの名無しさん :04/02/06 20:17
>>750
お前は知ったかしていい加減なことを言う前にヘルプぐらい読め。
DrawIndexedPrimitive系と混同するな。

752 名前:デフォルトの名無しさん :04/02/06 20:18
それはメソッド名にIndexedが付くかどうかの話ね。

753 名前:752 :04/02/06 20:19
>>751

ワリィ。かぶった

754 名前:デフォルトの名無しさん :04/02/06 20:33
俺も>>750だと思ってた。今までバグらんかったのは小さな奇跡だ。

755 名前:デフォルトの名無しさん :04/02/06 20:45
ヘルプ嫁YO!

756 名前:デフォルトの名無しさん :04/02/06 20:57
頂点バッファを使うのがUP無し、
自前で用意した適当なメモリ空間で頂点を指定するのがUP。

UPはUser memory Pointerの略だと思われ。

757 名前:デフォルトの名無しさん :04/02/06 20:57
ぬるぽ

758 名前:デフォルトの名無しさん :04/02/06 21:03
UPはユーザメモリポインタの略で、プログラマ側で確保した領域(システムメモリ上)のアドレスを
直接指定する方法。頂点データ・インデックス情報をVRAMに動的に転送する必要があるので
お薦めできない。

UPがつかないものは、あらかじめ頂点バッファとしてD3Dに管理された領域を指定する。
VRAM上に作成されていれば即座に処理が適用される。

・・・・って >>756がもう回答しちゃってるよ (´・ω・`)ショボーン

759 名前:デフォルトの名無しさん :04/02/06 21:49
>>757


760 名前:745 :04/02/06 21:50
ありがとうございますた。これからはヘルプ読んでから
質問します。

761 名前:750 :04/02/06 22:02
>>745 俺みたくヘルプの内容全てが頭に入るまでがんばれ。超がんばれ。

762 名前:デフォルトの名無しさん :04/02/07 00:31
アフォな質問します

Summer Updateで追加されたDirect3Dのサンプルを
走らせてみたらBlobsとかFX5200じゃ
まともに動かなかったんでFX5700 Ultraに
変えたんですけど、起動したときに

Could not find any compatible Direct3D devices

なんていうダイアログが出てきて強制終了されてしまいます。
ぐぐったら何かビデオカードが対応してないなんて
不吉な文章が目に入ったんですけど・・・
・・・そういうことでしょうか?


763 名前:デフォルトの名無しさん :04/02/07 00:53
>>762
Summer Updateで追加されたDirect3Dのサンプルってなんですか?
いつものサンプルブラウザから見れますか?
サンプルブラウザから見れるものだったらGeForce4Ti4200でだいたい見れますけど。

764 名前:762 :04/02/07 06:11
え〜 エラーでるサンプルは少なくとも
Blobs, HDRCubeMap, PixelMotionBlur, HDRLighting です。
DXSDK9.0 から Update( Summer 2003 ) をインストールすると
追加される連中です、サー。

765 名前:デフォルトの名無しさん :04/02/07 06:26
PixelShader2.0がハードウェアサポートされてないんじゃない? > FX5700


766 名前:762 :04/02/07 06:43
Support DX9.0 Pixel & Shader 2.0+
とか書いてあるんですけど、だめですか?

767 名前:デフォルトの名無しさん :04/02/07 07:03
ごめん、Summer Update入れてもいないのにテキトウな事書いちゃった。
調べてきます。

768 名前:デフォルトの名無しさん :04/02/07 13:18
デ馬鹿つかえよ・・

769 名前:763 :04/02/07 13:35
すいませんアホでした。
 ∧||∧
(  ⌒ ヽ 逝ってきまつ
 ∪  ノ 
  ∪∪
summer入れたと思ったら9.0bの方が入ったままでsummerの方を実行したことありませんでした。
GeForce4Ti4200じゃほとんど動きません。
というわけでこの機会にグラボでも買い換えようかと思ってますが
Fx5200やFx5700じゃ駄目なんですか?

770 名前:デフォルトの名無しさん :04/02/07 14:25
ゲームしたいんだったらどっちも駄目だな
それにFX5200、5700はCPがかなり悪いし

771 名前:デフォルトの名無しさん :04/02/07 14:30
FXの一応知っときたい別の問題点
ttp://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=36&vew=272

772 名前:デフォルトの名無しさん :04/02/07 14:32
>どうやら、(少なくとも僕の環境では)4TiとFXの間で、
>DX8,DX9に限らず頂点シェーダにおける
>テクスチャ座標生成方法が異なるようです。

>4Tiの場合、oTx.wは常に射影テクスチャにおける
>RHW相当として扱われ、ピクセルのサンプリングは
>(u,v) = (oTx.x / oTx.w, oTx.y / oTx.w)に対して行われます。

>ところが FX の場合、(u, v) = (oTx.x, oTx.y) と、
>oTx.wの値に関係なくサンプリングされます。
>(逆に言うとシャドウマップのような射影テクスチャを扱う場合、
>シェーダコードでx/w, y/wをやっておく必要があります)

773 名前:デフォルトの名無しさん :04/02/07 15:42
>>770
とりあえずps2.0(DirectX9Summerのサンプル)が動いてくれさえすればいいんですけど。
この2つでは駄目なのでしょうか。

774 名前:デフォルトの名無しさん :04/02/07 16:36
>>773
CPが悪いのを知ってて買うんならいいんじゃなかろうか
低価格帯にはそれとあと5600くらいしかないしな、仕方ないといえる

775 名前:デフォルトの名無しさん :04/02/07 17:28
>>774
ありがとうございます。
さっそく買ってきます。
これしかないですよね。
もう1ランク上の価格といったら手がでないですし。

776 名前:デフォルトの名無しさん :04/02/07 17:31
5700だったらあと5000円ほど出して5900XTがいい気もする
まあ64-bit地雷や青ペン等に気をつけて買いなされ

777 名前:762 :04/02/07 18:35
おのれ青筆
一度ならず二度までも・・・!

778 名前:デフォルトの名無しさん :04/02/07 18:38


779 名前:デフォルトの名無しさん :04/02/07 19:08
1回目:ママンが不良品でした
2回目:先に述べたようにDXのサンプルが一部動きません
まあ画質もそれなりにいいしこれ以外に不具合は特にないんですけど

780 名前:デフォルトの名無しさん :04/02/07 19:17
根本的なところの質問なんですが、
D3DXMatrixLookAtLH
って何をやっているのでしょうか?
ヘルプを見るとビュー行列を作成するって
書いてありますけどカメラの行列じゃないですよね?
いままで
world * view * projは
頂点座標(ローカル座標)->ワールド座標に直す(world)
->カメラの座標に直す(view)->射影空間の座標に直す(proj)
と思っていたので、viewはカメラの行列の逆行列になるのかなぁと考えていましたが、
ヘルプに載っている計算式をみるとなんだかよくわからないことになっているので
違うのかなぁと思って質問しました。

781 名前:デフォルトの名無しさん :04/02/07 19:17
サンプルが動かんのは青ペンのせいじゃないだろうに・・・

782 名前:デフォルトの名無しさん :04/02/07 19:28
>>780
D3DXMATRIX* D3DXMatrixLookAtLH(
  D3DXMATRIX *pOut,
  CONST D3DXVECTOR3 *pEye,
  CONST D3DXVECTOR3 *pAt,
  CONST D3DXVECTOR3 *pUp
);

pEyeの位置からpAtの位置を向くような行列を作成してる。
pUpは上方ベクトルだ。pUpを指定しないと姿勢が一意に決まらん。
カメラとして使っても構わん。

↑up = n(↑at -↑eye );になった場合の動作はシラネ

783 名前:デフォルトの名無しさん :04/02/07 20:22
>>782
>pEyeの位置からpAtの位置を向くような行列を作成してる。
それがですね。
私もそう思っていたのですが、そういうわけでもないみたいです。
例えばですね。以下のような設定をすると

D3DXMATRIX matView;
D3DXVECTOR3 viewPos(0.0f,10.0f,-20.0f);
D3DXMatrixLookAtLH(&matView,&viewPos,&D3DXVECTOR3(0.0f,0.0f,0.0f),&D3DXVECTOR3(0.0f,1.0f,0.0f));

返ってくる行列の_41,_42,_43の要素が
(0.0f,0.0f,22.360680f)とかなっていますのでどうやらpEyeの位置からpAtの位置を向くような行列では
ないっぽいです。
ヘルプをみるとD3DXMatrixLookAtLHの内部でしている計算式は以下のようなものなのですが

zaxis = normal(At - Eye)
xaxis = normal(cross(Up, zaxis))
yaxis = cross(zaxis, xaxis)

xaxis.x yaxis.x zaxis.x 0
xaxis.y yaxis.y zaxis.y 0
xaxis.z yaxis.z zaxis.z 0
-dot(xaxis, eye) -dot(yaxis, eye) -dot(zaxis, eye) 1

これがまたさっぱりわけがわからない式で困っています。

784 名前:783 :04/02/07 20:30
すみません。解決しました。
ためしにD3DXMatrixInverseでひっくり返してみたら
pEyeの位置からpAtの位置を向くような行列が出てきました。

のでD3DXMatrixLookAtLH関数は

pEyeの位置からpAtの位置を向くような行列の逆行列を作る関数

っぽいです。
お付き合いいただきありがとうございました。

785 名前:デフォルトの名無しさん :04/02/08 04:25
「カメラの姿勢をあらわす行列」と
「カメラ空間へ変換する行列」は違うよ

LookAt は「カメラ空間へ変換する行列」を求める関数だから
カメラの姿勢を単位行列へ戻すような逆行列が返ってくるはずだよ
(カメラが左回転すると世界は右に回転するでしょ)

おれもこれ昔ハマったんだわw
リファレンスの
プログラミングガイド→固定機能パイプライン→トランスオフォーム→ビュートランスフォーム
も読んどけ


786 名前:デフォルトの名無しさん :04/02/08 07:07
で、そのわけの分からない行列だが
3行目までで pEye から pAt を向いている物体の各軸ベクトルを求めている
DirectX では座標変換時にベクトルを行列の左から掛けるので

 xaxis.x xaxis.y xaxis.z
 yaxis.x yaxis.y yaxis.z
 zaxis.x zaxis.y zaxis.z

がこの回転に載せるための行列
回転のみを行う正規直行行列の場合、逆行列=転置行列なので
リファレンスにのっている行列の3x3成分はこのカメラの回転成分の逆行列
(これでカメラが回転した分だけ世界を逆に回す行列を求めている)

で最後の移動成分だけど、
-dot(xaxis,eye) ということは dot(xaxis,-eye) ということだが
ベクトルの内積というのはあるベクトルをあるベクトルへ投影したときのスカラー量をさすので
これはつまりワールド座標の -eye を (xaxis,yaxis,axis) のローカル座標へ変換したことになる
つまり傾いたカメラから見た原点へのベクトルを移動量として与えたということ。

内積を取るのがローカル変換になるというのは2次元の図を書いて考えてみてください。
「ゲームプログラミングのための3Dグラフィックス数学」という本読むと分かりやすい

あと DirectX ではベクトルを左から掛けるということを知らないと
3x3成分が回転の転置ではなく回転そのものに見えてしまい、
ビュー行列ではなくカメラ行列を求めているように勘違いしてしまうので注意

787 名前:デフォルトの名無しさん :04/02/08 09:20
>>785-786
うお、めちゃくちゃわかりやすい解説ありがとうございます。
ヘルプもここまでわかりやすい説明あるとうれしいんですけど。

-dot(xaxis,eye)ってそういう計算だったんですね。
転置をしてるのはなんとなくわかったんですけど。

実は環境マップの実装でカメラの座標取得したら
アレおかしーなーってことになりまして調べてみたら
逆行列だったりしたわけですよ。(リリースしちゃったよ前のプログラム( ´∀`)アハハハハ)
こういう基本的なところの理解がボコボコ抜けてたりするので
しっかり勉強したいです。

レスありがとうございました。

788 名前:デフォルトの名無しさん :04/02/08 09:39
3Dやるなら線形代数くらいは知っておかないとね

789 名前:デフォルトの名無しさん :04/02/08 14:38
いまどきの
ID3DXCompressedAnimationSetと
ID3DXKeyframedAnimationSetと
ID3DXAnimationCallbackHandlerと
ID3DXFontと
ID3DXSpriteにつ
いて教えてくださいおながいします

790 名前:デフォルトの名無しさん :04/02/08 14:51
>>789
全部いらん

791 名前:773 :04/02/08 17:03
と、いうわけでFx5200を買ってきました。
商品は

ELSA GLADIAC FX534 256MB 価格14400円

です。
それでsummerのサンプルですけどどれも見事にREFモードで動いてます。
つまり、summerのサンプルにいたってはGeForce4Ti4200となんら状況は変わりません。
しかし、Cg Tutorial Examplesが動くようになりました。
ShaderWorksも物体が見えるようになりました。(動作は激重ですけど)
3DMark03はGeForce4Ti4200とあんまり結果が変わらないような気がします。

Fpsは平均的にはGeForce4Ti4200よりちょっと速いぐらいです。
(場合によってはもしかして遅いときもあるのかな?)

ということでした。
私は地雷を踏んだのでしょうか?

792 名前:デフォルトの名無しさん :04/02/08 17:04
fx5200自体が地ら(ry

793 名前:デフォルトの名無しさん :04/02/08 17:30
>>791
GeForce系のDirectXのドライバは浮動少数点バッファを
サポートしてないんで、それを使ったサンプルは動かないよ。


794 名前:デフォルトの名無しさん :04/02/08 17:46
>>791
その値段出すなら 5700 買えばいいのに…
機能的に 5200 でいいならもう6千円ぐらいのボードでいいじゃん。

795 名前:デフォルトの名無しさん :04/02/08 17:49
やっぱりGFはうんこ

796 名前:デフォルトの名無しさん :04/02/08 17:59
>>792
やっぱり地雷?

>>793
なんと!そうだったんですか。
でも9700proになると30000円ぐらいになっちゃうので私が購入するのは
まだまだ先になりそうです。

>>794
いや、これでもフンパツしたほうなんですよ。

>>795
異論無しです。

797 名前:デフォルトの名無しさん :04/02/08 18:12
いや、メーカーにこだわらなければ
その値段で 5700 が買えるじゃないって事。
どっちみちこの価格帯のボードはどのメーカーの物も
画質には期待できないと思うけど。

9700 って今なら 9800 だよね?
たしかに 9800 は高いけど 9600XT なら
15,000 ぐらいで買えるんじゃない?128Mだけど。

798 名前:デフォルトの名無しさん :04/02/08 18:48
メモリ256MBなんているの?
5200レベルでこの容量要求しても無駄な気がするけど。

799 名前:デフォルトの名無しさん :04/02/08 22:19
>>797
なんと!9600XTなら動くんですか?
店頭だと9600XTだと20000越えてた気がしますが(というかradeonは全部高い気がした)
検索かけてみたら20000以下ぐらいで買えるんですねぇ。
もったいないことをしました。
というわけでこれから買う人は9600XTですね。

>>798
いや、店頭で128MBと1000円ぐらいしか変わらなかったんでつい・・・。

800 名前:デフォルトの名無しさん :04/02/09 01:37
フルスクリーンで起動させて、ウィンドウキーを押したときに
きちんとタスクバーに収まるようにするにはどうしたらいいんでせう?
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
  省略
  case WM_KEYDOWN:
    switch(wParam){
      case ウィンドウキーが押されたら
      何か処理させる
    }
  default:
  return DefWindowProc(hWnd, msg, wParam, lParam);
  }
}
って感じになるのでせうか


801 名前:デフォルトの名無しさん :04/02/09 01:44
あー、Direct3Dの描画処理をやめればいいだけの話ですた
ついでにタスクバーに収まった後、クリックしたらフルスクリーンにするようにするだけと




802 名前:デフォルトの名無しさん :04/02/09 18:00
ニュートンの法則なんですが、
第1
外部の力が作用しない限り,物体は静止し続けるか,一定の速度でまっすぐに運動を続けようとします。これが慣性の法則です。

第2
物体の加速度は物体に最終的に作用する力に比例し,その方向は作用する力と同じ方向になります。

第3
物体に作用する力(作用)それぞれについて,反対の作用をする力(反作用)があります。反作用の大きさは作用と同じで,方向は正反対です。

主にこの3つが重要だとは思うのですが、「よりリアルなゲーム」を作る際に重要と思う概念はどれになるんでしょうか?
どなたか是非とも教えてください。

803 名前:デフォルトの名無しさん :04/02/09 18:14
>>802
どれも古典力学の基本法則であり、優先順位を以て語る理由が分からない。

804 名前:デフォルトの名無しさん :04/02/09 21:02
どれが欠けても駄目だろw
物理勉強しなさい

805 名前:デフォルトの名無しさん :04/02/10 00:06
3DCGプログラマのためのクォータニン入門(?)って本よさげだったけど買った人いないのかな?
DX3Dやる前に読んでおきたい本っぽかったけど。

806 名前:デフォルトの名無しさん :04/02/10 00:25
クォータニオン、今更感がなぁ…
色んな本に記述あるしWebにもあるしね
どんな内容なんだろ。

807 名前:デフォルトの名無しさん :04/02/10 00:45
頭の体操にはなる、以上

808 名前:デフォルトの名無しさん :04/02/10 00:53
全然知らん、という人なら読めばいいかと。

809 名前:デフォルトの名無しさん :04/02/10 01:30
その本手に取ってパラパラ見た。
ベクトル、行列、クォータニオンは確かに今更感があったけど
テンソルとか最後の方のトピックは中々だったような…
でもそれだけの為に買うのもなんだし、ネットで調べれば言いと思ったから買う気は起きなかった。

810 名前:デフォルトの名無しさん :04/02/10 02:04
TmpgEncやmp2aviがうまく動作せず、なにやらDirectXがおかしいのかと思い、アンインストはできないようなので
すでに入ってるけどもう一度9.0bをダウソしてインスト試そうとしたらファイルのコピーのときに
毎回d3dpmesh.dllの所で止まってしまい、「DirectXが必要なファイルをコピーしませんでした」
といわれインストに失敗してしまいます。
また、dxdiagすると途中で「前回このプログラムが使用されたときDirectShowでへのアクセスに問題が
あったことを検出しました。今回、DirectShowの使用を回避しますか?」と警告がでます。
上記のツールがうまく動作しないのがDirectX1が直接の原因かどうかは分からないにしろ、
このような警告が出た場合にはどう対処したらよいのでしょうか。
よろしくお願いします。

811 名前:デフォルトの名無しさん :04/02/10 02:18
たぶんHDフォーマット&OS再インストールが
一番手っ取り早いと思います。

812 名前:デフォルトの名無しさん :04/02/10 05:45
>>802
どれも不要。ジャンプの放物線はSIN曲線で近似。
ただし素人にはおすすめできない


813 名前:デフォルトの名無しさん :04/02/10 06:02
ジャンプの売上高推移はSIN曲線で近似。
ただしヤンジャンはおすすめできない

814 名前:デフォルトの名無しさん :04/02/10 09:08
なんかテンプレになりそうだな>SIN曲線で近似

815 名前:デフォルトの名無しさん :04/02/10 09:40
ジャンプの売上高推移はSIN曲線で近似。
ただし月刊ジャンプはおすすめできない
しかしネコマジンZはいちぢるしくおすすめる。

816 名前:デフォルトの名無しさん :04/02/10 17:29
>>812 ジャンプの放物線はSIN曲線で近似せよ
彼の本には、ボールの運動は円運動であり・・・とかマジで書かれていたので俺は
思わずのけぞってしまい後ろにいたお姉さんの上半身に接触しお姉さんは、つまず
いてしまいました。すぐごめんなさいって謝ったんだけど、そのときお姉さんも
微笑んでくれたので嬉しかったです。以上。でも今思うとDirectX関連のムックを
熱心に読んでいたので、すごくかわいかったけどヤバイ人だったのかもしれません。

817 名前:デフォルトの名無しさん :04/02/10 17:47
ジャンプ運動がsin曲線で近似出来るとかマジで書いてある本あるの?

818 名前:デフォルトの名無しさん :04/02/10 19:03
>>802
> 「よりリアルなゲーム」を作る際に重要と思う概念はどれになるんでしょうか?

ややウケ(w

まあ、どれが欠けても駄目だな(笑)。


819 名前:デフォルトの名無しさん :04/02/10 19:12
面白いのは偉そうな口を叩く人間がたくさんいるのに
フリーを含めた日本のPC3Dゲーは皆無に近いところだろう。

820 名前:デフォルトの名無しさん :04/02/10 19:21
いや流石に放物運動くらいは…(;´Д`)

821 名前:デフォルトの名無しさん :04/02/10 19:33
>>819
きっとみんな仕事か同人でやってるんだよ。

822 名前:デフォルトの名無しさん :04/02/10 20:13
>>817
あるよw。
当時は俺もアホだったから信じたもんだよw。
でも、近似ってのがどれくらいの誤差まで許されるかで話は変わるのかなw。

823 名前:デフォルトの名無しさん :04/02/10 20:20
キャラクターのアニメーションで首だけ回転させたいのですが、どうやって
指定していいのかわかりません。
歩行アニメーションなど、Xファイルに入ってあるアニメーションはできるようになりました。
アドバイスお願いします。

824 名前:デフォルトの名無しさん :04/02/10 20:25
>>823
ノード(もしくはボーン)ごと名前かIDでもつけておいてツリー構造に検索でもかけてみるとか。

825 名前:デフォルトの名無しさん :04/02/10 20:27
697 :通の間では定番[sage] :02/08/16 01:48 ID:???
■『ゲームプログラマになる本』\2548(税込)
 山崎 由喜憲【CQ出版社】ISBN4-7898-3564-2
■『めざせゲームプログラマ』\2625(税込)
 山崎 由喜憲【CQ出版社】ISBN4-7898-3575-8
■『Visual Basic DirectXプログラミング』\3200(税別)
 山崎 由喜憲【ソフトバンク】ISBN 4-7973-1054-5

698 :名前は開発中のものです。[sage] :02/08/16 01:57 ID:???
著者が提唱する山崎式正弦跳躍法などが目玉。
rad2sincosルックアップテーブルを用いた
不思議ジャンプ処理は世間の度肝を抜いた。


826 名前:デフォルトの名無しさん :04/02/10 20:31
>>825
実は調節しやすいからいまでも使ってたりする罠。

827 名前:デフォルトの名無しさん :04/02/10 20:33
>>824
やってみると、あっさり検索に成功したのですが、そのパーツだけ回転が不可能です。
D3DXMatrixRotationY()でなにをどう指定していいのかわかりません。

828 名前:デフォルトの名無しさん :04/02/10 20:35
>804 :デフォルトの名無しさん :04/02/09 21:02
>どれが欠けても駄目だろw
>物理勉強しなさい

でた。質問者相手に「〜なさい」とか言って偉くなったつもりのバカ。

829 名前:デフォルトの名無しさん :04/02/10 20:38
×質問者
○オレ様

830 名前:デフォルトの名無しさん :04/02/10 20:39
>>827
そうかそれなら俺には解決は難しそうだ。
すまん。

831 名前:デフォルトの名無しさん :04/02/10 20:40
>>826
山崎式跳躍法を今でも使ってるの?だとしたら凄いな。

放物線運動は数値的解法だけでなく
数学的解法で解けることを知らないわけではないよね?

832 名前:デフォルトの名無しさん :04/02/10 20:44
>>831
あ、そういう難しい言葉を並べられると苦しいレベル。
ちなみに何言ってるかわからない(>>831の内容)

833 名前:デフォルトの名無しさん :04/02/10 21:02
>>831
http://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=34&vew=263
ちなみにこの式でどうやって
ジャンプの速さやらふんわり感やら距離やら調節してるのか
っていうのがちょっと気になる。
この式で確かにジャンプはできるが調節が全くままならないです。
動作は限りなくそれっぽいんですけど。

834 名前:831 :04/02/10 21:34
>>832
勉強しなさい。googleがこの世にある幸福に感謝しなきゃ。
>>833
速さや距離は式から求めることができる。

求めている「ふんわり感」が放物線運動にないなら、
まずは式のことは忘れて古典力学を一通り勉強するといいよ。
ふんわり感の正体を探して形にすることこそがプログラマの本質。

つかスレ違いすまん

835 名前:810 :04/02/10 21:34
マジすか…そんな面倒な事態になってるとは…

836 名前:デフォルトの名無しさん :04/02/10 21:35
多分831さんが言いたい用語の意味はこういうことだよ

・数学的解法
放物運動(=等加速度運動)は
x = at^2 + bt + c
だから時間を与えれば位置がわかります

・数値的解法
等加速度運動は、位置、速度、加速度に微分方程式の関係がある
a(t) = dv(t)/dt
v(t) = dx(t)/dt
最も簡単な方法で差分方程式化してプログラム化してしまうと要するにこういうこと
v += a * dt;
x += v * dt;
時間を与えたら、時間/dt回だけ上の2行を実行すればxの値はその時間を表します

そこらに流れてるソースは大体下の方法が使われてる気がしますね
最近はCatmullRom曲線みたいなのを使うこともあるみたいで
それだと数学的解法で曲線の位置を求める方法になるわけです



っていうか山崎式跳躍法が一体どんな内容なのか知りたいぞ・・・w

837 名前:836 :04/02/10 21:37
自分で書いといて訂正(´・ω・`)
CatmullRomも所詮3次曲線だから数値解法も行けるはずですね
俺がやったことないだけでした

838 名前:デフォルトの名無しさん :04/02/10 21:57
今ぐぐって山崎氏の本の評判を見てきた。凄いらしいね。
某「やさしいCプログラミング」クラスの出来だと予想…w

839 名前:831 :04/02/10 22:01
>>836
ありがとうございます。
山崎式跳躍法はそのまま「ジャンプの挙動はサインカーブで近似できる」というもので、
これを真に受けてる>>826は放物運動の式すら知らないんじゃないか、と思って
>>831を書いた次第です。

しつこいですね。名無しに戻ります

840 名前:836 :04/02/10 22:09
>時間を与えたら、時間/dt回だけ上の2行を実行すればxの値はその時間を表します
→時間を与えたら、時間/dt回だけ上の2行を実行すればxの値はその時間での位置を表します
おいらも名無しに戻ります 間違ってばかりで凹_| ̄|○

841 名前:デフォルトの名無しさん :04/02/10 22:24
>>834,836
難しいところがですね。
あっちをいじるとこっちがおかしくなるみたいなところがあるんですよ。

x = v0t - 0.5*g*t^2 + x0

の式で
v0を調節するとジャンプの速さ(はじめの勢い)が調節できて
gを調節するとジャンプのふんわり感が調節できて
tの増加値を調節するとジャンプの速さ(踏み込みから着地までの時間)が調節できる
と思って調節しようとしたのですが、
それぞれが微妙に関係してて調節が非常にしにくいです。
距離(ジャンプの高さ)を固定にしながら
かつ、ふんわり感やら速度(はじめの勢い)やら調節するのは私の技術では至難の業と判断しました。

ここまでが私の考えたことです。

842 名前:デフォルトの名無しさん :04/02/10 22:34
解きたいものについて式変形しる!
初速度v0を求めたいなら「v0=なんたらかんたら」という感じ。
数学的解法で最も便利な部分だよ。

843 名前:デフォルトの名無しさん :04/02/10 22:38
>>842
いえ、問題があっちをいじるとこっちがおかしくなってという感じでですね。
例えば1つの変数が必ず1つの効果(結果)をもっているという具合の式なら調節もできるのですが
1つの変数が複数の効果(結果)をもってしまっていてですねなんというか非常にやりにくいんです。

844 名前:デフォルトの名無しさん :04/02/10 22:41
いじるのは v0 と g だけでいいよ。tの増加率は固定で構わない。

845 名前:708 :04/02/10 22:44
>>距離(ジャンプの高さ)を固定にしながら
>>かつ、ふんわり感やら速度(はじめの勢い)やら調節するのは私の技術では至難の業と判断しました。

中3の数学で求まるよ。

y = v0t - 0.5*g*t^2 + x0
の極大値(ジャンプの高さ)は
x0 + 0.5 * v0^2 / g (計算間違ってたらすまん)
だから これが一定になるように v0と gを
いじればいいんでは?

846 名前:デフォルトの名無しさん :04/02/10 22:45
>>844
それだとジャンプの速度(踏み込みから着地までの時間)が調節しにくいんですよ。

847 名前:デフォルトの名無しさん :04/02/10 22:50
>>846
tの増加率は弄っちゃ駄目だよ。例えば836の方法を借りて
v += a * dt;
x += v * dt;
とするなら、dtっていうのは、1フレームの長さ(=60fpsで16.6ms)ってことだから。

踏み込みから着地までの時間を調節しにくいなら、それを最初に決めればいい。
その後に、ふんわり度としてgの値を決める。
そうすれば必然的にv0が求まる。
コレじゃ駄目なんかね?

848 名前:デフォルトの名無しさん :04/02/10 22:51
ごめん、ジャンプの高さも決めないとv0は求まらないね。
まあとにかく、1つずつ値を決定していけば、最後の値は自動的に決まるよ。
どういう要素が重要なのかを考えて、順序よく決めていけば問題ない。

849 名前:デフォルトの名無しさん :04/02/10 22:56
>>848

いや、時間、高さ、ふんわり度、初速度のうち
どれか2つさえ決まれば、すべてが決まってしまうっしょ。

放物線運動で、自由に決定できるのは
できるのはこれらのうちの2つだけじゃないかな?

850 名前:デフォルトの名無しさん :04/02/10 22:57
>>847
gの値をいじると重力がきつくなるのではじめの勢いがなくなります。(これは高さも変えます)
そこでv0をいじると今度は距離(高さ)が変わってしまうので・・・。
という感じで調節がしにくいです。

というわけでこれで調節するよりは他の方法を探した方がなんぼかマシだろ
ってことで例の式を使っています。
たった2つの変数で色々なものを調節することが苦しい感じです。

851 名前:デフォルトの名無しさん :04/02/10 23:00
>>850
そりゃ、ただ闇雲に数値を変えていくんじゃ駄目だて。
絶対に譲れない値を定数とするんですよ。
そしてそれに合うように他の定数を弄る。

それでも期待した動きをしないのであれば、それは、
単に貴方が期待した曲線が放物曲線ではないということですな。

852 名前:デフォルトの名無しさん :04/02/10 23:03
>単に貴方が期待した曲線が放物曲線ではないということですな。

に帰結するかと。
>>834にてそう書いたつもりなんだけどね...

853 名前:デフォルトの名無しさん :04/02/10 23:05
>>851
>単に貴方が期待した曲線が放物曲線ではないということですな。
やっぱりそこですよね。
私もその結論にいたりました。
パーティクルやらエフェクトまわりのものになら確かにこの式でいいんですけど
ゲームとなるとこの式は調節しずらいです。
企画のいうとおりの動きはなかなかしてくれません。

854 名前:デフォルトの名無しさん :04/02/10 23:13
まあ、ゲームなんて騙してなんぼだからねぇ。w

855 名前:デフォルトの名無しさん :04/02/11 01:53
ま、たしかに物理シミュレータ作ってるわけじゃないからな。
ほとんどのゲームはそれっぽく見えれば十分だよな。
明らかに嘘っぽいのはともかく。

856 名前:デフォルトの名無しさん :04/02/11 04:36
「もっと、ぴょ〜んと飛び跳ねた感じにしてくれ。
放物線の頂上あたりにとどまる時間を倍に」

とか言われたな。適当に式でっちあげた。

857 名前:デフォルトの名無しさん :04/02/11 06:46
それは悪手の例としての話だよな勿論。

858 名前:デフォルトの名無しさん :04/02/11 10:39
ていうか、重力加速度を変えてふんわり感ってのは何か違わないか?
いや、調整するべきパラメータの一つではあるけど。

空気抵抗を強めにかけるよろし。スーパーマリオなんかはこれ。

859 名前:デフォルトの名無しさん :04/02/11 10:44
スーパーマリオのような動きはこれで出来るというのなら分かるが、
>スーパーマリオなんかはこれ。
と断定できるのは、つまり開発者?
ソースをみることの出来る立場にいる人間?
それともただの知ったか?

860 名前:デフォルトの名無しさん :04/02/11 11:23
>>858
簡単な式で

R = krv

で考えたとしてまた速度が絡んでくるので複雑さがいっそう増すだけですよ。
まあ、色々あがいているときにやりましたけどこの式で調節するのは人間業じゃないですよ。

>>859
そのへんは話の主旨とはそれるのでこだわらないでおきましょう。

861 名前:デフォルトの名無しさん :04/02/11 12:49
スーパーマリオってテーブルじゃないの?

862 名前:デフォルトの名無しさん :04/02/11 13:36
山崎氏もテーブルを用いたを演算高速化の例を紹介したいだけなら
はじめからx^2のテーブル使って説明すればよかったのに…
本気で落下運動は円運動と同じであると思い込んでいる可能性もあるけど

863 名前:858 :04/02/11 13:38
>>859
言葉足らずで申し訳ない。

>スーパーマリオのような動きはこれで出来る

これで解釈して下さい。

864 名前:デフォルトの名無しさん :04/02/11 13:46
そもそもよくわからないのだが、貴殿は何を調整したいのであろう?

865 名前:デフォルトの名無しさん :04/02/11 13:53
>>862
>本気で落下運動は円運動と同じであると思い込んでいる可能性もあるけど
そう思っている可能性は低いでしょう。
放物線のあの丸みをsinでやってみたってだけの話でしょうあれは。

実際、sinでやると便利ですよ。(別にそれっぽく見えればなんでもいいですけど)
使い方によっては高さと距離が確実に固定できるのがいいですよ。
パズル要素の強いアクションゲームに向いています。

866 名前:デフォルトの名無しさん :04/02/11 13:58
これだけ>>812からずっとsinジャンプが否定され罵倒され続けてるのに
未だ理解できない>>865は逆に凄いと思うよ。いやマジで。

867 名前:デフォルトの名無しさん :04/02/11 14:06
随分と低レベルな話をしてますねおまいら

868 名前:デフォルトの名無しさん :04/02/11 14:07
>>866
だからといって物理の式を使って思考停止している人は嫌です。
実質、この式じゃなんの調節もできないじゃないですか。
否定するにも罵倒するにもしっかりとした理由を添えない人が多いです。

869 名前:デフォルトの名無しさん :04/02/11 14:19
>>868
どこにも式をそのまま使えって言ってる奴はいないと思うが?
そもそも数学的解法でジャンプの計算してる時点で違和感を感じなければ
ゲームプログラマとしてはアウトだっつの。全く

870 名前:デフォルトの名無しさん :04/02/11 14:25
グーニーズでもやっとれ馬鹿
ジャンプ中にパンチ連打してみろ


871 名前:デフォルトの名無しさん :04/02/11 15:29
調節が出来ないんじゃなくて
調節の仕方を知らないだけではないかと思われめ

872 名前:デフォルトの名無しさん :04/02/11 15:32
>>871
それはやってみてもらわないと実感できないでしょう。
式の変数のほとんどが調節したい要素のほとんどに影響を与えてしまうような場合は
そう簡単に調節はできませんよ。

873 名前:デフォルトの名無しさん :04/02/11 16:09
DirectXと何の関係があるというのだ。

874 名前:デフォルトの名無しさん :04/02/11 16:24
知るかそんなこと!


875 名前:デフォルトの名無しさん :04/02/11 16:28
>872
それを「調節の仕方を知らない」と言う

876 名前:デフォルトの名無しさん :04/02/11 16:38
失敗は成功の元
無知は創造の元
味噌汁は味の素


877 名前:デフォルトの名無しさん :04/02/11 16:52
無知なのはとりあえず良いとしても、
なんで勉強しようとしないのだろうか。それが分からない。

878 名前:デフォルトの名無しさん :04/02/11 16:58
>>877
勉強してどうにかなる問題なかぁ。
なんか必要もねーのに物理シミュ的動きをするゲームって例外なくつまんねー感じするけどな。

879 名前:デフォルトの名無しさん :04/02/11 17:13
別に物理の型にはまった動きをしろとは誰も言ってない
「そう簡単に調節できない」なんてアホ発言にお前はアホだと言ってるだけなんだが
もう本当に低レベルすぎ


880 名前:デフォルトの名無しさん :04/02/11 18:12
>>834,>>851,>>852,>>853,>>854,>>855,>>865

比較的同感。

>>866

バカかと。ケースによって調整しやすい、編集しやすい曲線は変わるってことさ。
ぶっちゃけて云うと、それを判断するのはプログラマの仕事じゃないと。(選択肢を提示するのが仕事だ)
ケースに応じて“調整する人間が”選択すりゃいい。必要ならGUIなエディタでパラメリック曲線の
制御点チクチク入れればいい。市販ツール+プラグインなり何なり好きにしる。

881 名前:880 :04/02/11 18:13
>>868,>>869,>>870,>>871,>>872

比較的同感。

>>875

うんにゃ、そりゃ違う。パラメトリック曲線の発展の歴史は何かという話になる。
デザインのしやすさ(編集のしやすさ)によって使い分けるのは何故かという話になる。

882 名前:880 :04/02/11 18:14
>>831,>>836,>>842

スルーしてたんだが一応ツッコミを入れておくと
数学的解法とは何ぞや。解析的な解法のことを云ってるんだと思うが
「解析的解法(解析解法)と数値解法」は共に【数学的】解法なので、その辺よろ。

883 名前:836 :04/02/11 18:26
>>882
俺も書いた後で気づいたんでご容赦ください
何度も修正するとウザイとおもったので…

この場合は微分方程式を解析的に積分して解くのが解析的解法。
微分の部分を適当に差分化して求めた差分方程式をコンピュータなり使って解くのが数値的解法。
ってことで一つヨロシク

884 名前:880 :04/02/11 18:30
>>883
(・∀・)ラジャー

885 名前:880 :04/02/11 18:48
>>879

俺の前言と重複するんだが、
プログラマが調整を担う割合が非常に小さくなっている状況下においては
「そう簡単に調節できない」とうったえている主体は非プログラマなわけで。

この想定の下で調整ににくい/しやすいの話をしていると解釈するほうが
極めてリアルなんだが。その辺どうよ。

886 名前:デフォルトの名無しさん :04/02/11 20:06
非プログラマとか関係ないじゃん。
簡単に調整出来ないって奴は無能だろ。

887 名前:デフォルトの名無しさん :04/02/11 20:10
>>886
そこまでいうならやってもらおうか。
式かけ馬鹿。

888 名前:デフォルトの名無しさん :04/02/11 20:17
1+2*3=9

889 名前:デフォルトの名無しさん :04/02/11 20:27
それこの前のテレビ番組で似たようなのみたぞ。w

890 名前:880 :04/02/11 21:18
>>886
これしきの問答でファビョってどうする。しっかりせい。
ドカタプログラマでもない限り、調整作業(単純作業)を非プログラマに委ねることを恐れる必要はないのだが。
プログラマにしかできない、ロジカルな仕組みを作り上げたら、あとは感覚的なアプローチで調整をする人間のために
それなりのインタフェースを提供すればいい。それだけよ。




891 名前:デフォルトの名無しさん :04/02/11 21:24
>>890
てか、具体的な式と明確な問題が出てんだからどうにかしてけよ。
レスよくよめば感覚的なアプローチなんて用意できそうにないだろ。

892 名前:880 :04/02/11 21:41
>>891
話の流れを読んでいて、人によって目的が(着目する長所が)違うようなので
下に記す内容が常に最良とは云えないと思うが、まぁ書いてみると

このスレの場合3Dに詳しい(or興味がある)奴が多いようなので
それに則して書くと、ジャンプのアニメーションデータ(既定)の再生時に
プログラム側で操作・修正を施すという話に帰着できるよな。この基本的実装方法は
当然知っていることとして話を進める。さて、ここからが本題だと思うが、どこから
どこまでを制御可能にするか、そしてどういうインタフェースでこれを実現するか。
これは事案によって変わる。格闘ゲーム・アクションゲーム・パズルゲーム・etc。

望む事案とそれに付随する条件が提示されるならば話が前に進むんでねーの。

893 名前:880 :04/02/11 21:46
ちなみに、パズルゲームの場合に、例えばジャンプの種類が3通りだとすれば
何の工夫も要らない。ジャンプモーションを3つ作ってオシマイ。2Dでも同じさ。
アニメーションツールの補間式を選択。再生プログラムを用意する。それだけ。

894 名前:デフォルトの名無しさん :04/02/11 21:57
>プログラマにしかできない、ロジカルな仕組みを作り上げたら
それができないアホがsinジャンプなんて使ってるから
ここまで盛り上がってるんだと思うが

895 名前:880 :04/02/11 22:09
>>894
そんなことはない私はsinジャンプの有効性に一縷の望みが残っていると信じている(棒読み)
いや、というか便利な事案もあるのだろう。知らんけど。そう言ってる奴がいるのだから。
それを否定する根拠は俺には無い。

896 名前:880 :04/02/11 22:14
上のほうで、パズル性のあるケースで有効だという話があった。そのとおりだと思う。
選択肢のひとつとしてコンボボックスに入っていても俺は良いと思う。

897 名前:デフォルトの名無しさん :04/02/11 22:20
だから、DirectXに関係あるのかよ。

898 名前:デフォルトの名無しさん :04/02/11 22:23
知るかそんなこと!

899 名前:880 :04/02/11 22:23
そんなことはあるぞDirect3D使いでアニメーション使う初心者にとっては
初歩的一般論として有用な内容だと私は信じている(棒読み)

900 名前:デフォルトの名無しさん :04/02/11 22:25
>>895
ある意味で残酷ですね。

ところで山崎式跳躍法を使ってジャンプさせる場合、
そのキャラが天井に頭をぶつけたりした場合等にその時点での速度を求めると思うんだけど
これはやっぱりコサインを使うんでしょうか?(わらい)

901 名前:デフォルトの名無しさん :04/02/11 22:27
DirectX9.0でDDSか知らんが、別にBMPでもいいんだが
RPGの立ち状態を2枚の絵でアニメーションさせる場合
サーフェスつかった方が良いのかスプライト機能使った方が良いのか
さああなたならどっち?

902 名前:デフォルトの名無しさん :04/02/11 22:28
すぷらいと

903 名前:デフォルトの名無しさん :04/02/11 22:29
コカ・コーラ

904 名前:デフォルトの名無しさん :04/02/11 22:37
>>901
馬鹿は死ね

905 名前:デフォルトの名無しさん :04/02/11 22:43
>>900
そりゃアニメーションの補間式を使う場合も同じだでよ。
天井に頭をぶつけたら「ジャンプ」アクションから
「落ちる」もしくは「天井にぶつかって痛い落ちる」アクションに変えるってだけの話だろ。
アクションを切り替えちまった後の動きには補間式もsinも関係ないってのはわかるでしょ。

906 名前:デフォルトの名無しさん :04/02/11 22:44
スプライトを使うのと矩形ポリゴンを使うのに本質的な違いはありません

907 名前:デフォルトの名無しさん :04/02/11 23:33
>>901
自分で両方使ってみて、
使い心地、パフォーマンスは自分で吐かれ。
何に関してもそれだけ。

908 名前:デフォルトの名無しさん :04/02/11 23:58
そもそもスプライト機能などMSXやX68K、コンシューマー機等のものであって、
DirectXにはそんな機能は存在しない。

909 名前:デフォルトの名無しさん :04/02/12 00:12
ポリゴンとかを使わずに表示する機能をスプライト機能と定義してますが?
言葉は常に変化するものです。昔のスプライトを現在に持ってきても原始人扱いされるだけです

910 名前:デフォルトの名無しさん :04/02/12 00:14
言葉は変化するかもしれないが、
>ポリゴンとかを使わずに表示する機能をスプライト機能
そんな滅茶苦茶な定義は過去、現在、そして未来でも存在しないだろう。

911 名前:デフォルトの名無しさん :04/02/12 00:16
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/graphics/reference/d3dx/interfaces/id3dxsprite/_id3dxsprite.asp
そんなあなたにMSDN

912 名前:デフォルトの名無しさん :04/02/12 00:29
ID3DXSpriteはポリゴン使ってますね
ハードウェア層とソフトウェア層をごっちゃにすると
この議論を理解するのは難しい

913 名前:デフォルトの名無しさん :04/02/12 00:30
D3DXの開発者がそういう名前を付けただけの話しだし、
内部で思いっきりポリゴンが使われている。

914 名前:デフォルトの名無しさん :04/02/12 00:34
そもそもスプライトは、
>ポリゴンとかを使わずに表示する機能をスプライト機能
ではなく、キャラクター単位でのレイヤーを構築する機能。
ID3DXSpriteだけでは機能として不完全。
だからWindows上では、それをエミュレートして似たような状態を作り出す必要がある。
それをソフトウェアスプライトと呼ぶ。

915 名前:デフォルトの名無しさん :04/02/12 00:34
ん?直接使うか使わないかの問題じゃないのか?
それがD3DXにおける現在のスプライトということででFA?

916 名前:デフォルトの名無しさん :04/02/12 00:46
機能的に不完全なのでスプライトとは呼べない。
別の機能と組み合わせながらスプライトを構成するための部品でしかない。
タイヤを指差して車と呼ばないのと同じこと。

917 名前:デフォルトの名無しさん :04/02/12 00:50
スプライトじゃなくてスプライト機能
機能とは機構であり部品である

でFA?

918 名前:デフォルトの名無しさん :04/02/12 00:51
>>916
スプライトと呼ぶのに最低限必要な機能ってどれ?
少なくともID3DXSpriteに足りない機能を挙げてくれ

919 名前:デフォルトの名無しさん :04/02/12 00:57
背景や別キャラクタとは別レイヤーで排他的に動くことが必要。
ソフトウェアスプライトを構成するためには、背景等の復元処理を含める必要がある。
単体ではただの描画機能でしかない。

920 名前:デフォルトの名無しさん :04/02/12 00:59
それはハードウェアでもおなじこと

921 名前:デフォルトの名無しさん :04/02/12 01:00
MSがスプライトと定義したのならそれはスプライト。
でいいじゃねぇか。
俺はオブジェクトと言う呼び方が好きだがw

922 名前:デフォルトの名無しさん :04/02/12 01:01
つまりもともとDirectXには、スプライト機能など存在しないので、
自分でそれらしきものを作らなければならないということ。

923 名前:デフォルトの名無しさん :04/02/12 01:01
結局どっちがはやいんでしょ?
ビデオカードに対応してるかしてないかで違ってくるだろーし
まあスプライト機能使った方がもろくそ速いっていうけどな


924 名前:デフォルトの名無しさん :04/02/12 01:05
>>923
もうネタはいい

925 名前:デフォルトの名無しさん :04/02/12 01:07
DX8以降は
・自分でサーフェス作ってスプライトを作る

・ID3DXSpriteを使ってスプライトを作る
の違いなわけでしょ?
何故か後者をスプライト機能っていってる人がわらわらと存在するだけでさ

926 名前:デフォルトの名無しさん :04/02/12 01:08
>>925
違う

927 名前:デフォルトの名無しさん :04/02/12 01:09
名前に騙される馬鹿が多い

928 名前:デフォルトの名無しさん :04/02/12 01:10
じゃどう違うの?わかるようにキチンと説明して


929 名前:デフォルトの名無しさん :04/02/12 01:12
>>925であってるよ

930 名前:デフォルトの名無しさん :04/02/12 01:13
正確には、
・自分で直接ポリゴン使ってスプライトを作る
・ID3DXSpriteが内部でポリゴンを使ってスプライトを作る

931 名前:デフォルトの名無しさん :04/02/12 01:13
うーん、いかにも祝日らしい展開だな。休みのある人はええのう。

932 名前:デフォルトの名無しさん :04/02/12 01:17
>>908
フレームバッファに描画してからDACに流し込むという点で昔の業務用orコンシュマハードとは仕組みが違うが
昨今のPCビデオチップではpoint sprite機能がアレに最も近い機能といえるのではなかろうか。
チップ間の機能(描画サイズの限界)がだいぶ離れてるけどな。あと拡縮できても回転できないな。

>>910

同意

>>909,>>911
まったくどうでもいい話だが、>>909>>911ならばおかしな話になるな。
D3DXSpriteが内部でポリゴン使ってないとでもいうのかと。

933 名前:デフォルトの名無しさん :04/02/12 01:17
山崎式正弦ジャンプ復活祭だっただろ。

934 名前:932 :04/02/12 01:19
スレの流れが早くて置いてきぼりを食らってしまった。932の後半部分は無しで。

935 名前:デフォルトの名無しさん :04/02/12 01:20
何蒸し返してんだこの野郎

936 名前:デフォルトの名無しさん :04/02/12 01:22
>>935
なんだと、かかってこい。

937 名前:デフォルトの名無しさん :04/02/12 01:22
>>933
ウブな俺としては、山崎式ジャンプがあれだけ支持されてることが今日一番の収穫だった

938 名前:デフォルトの名無しさん :04/02/12 01:23
>>936
おら!けつだせや

939 名前:デフォルトの名無しさん :04/02/12 01:25
HWポイントスプライトって最大サイズがやけに小さくて使いものにならない気がしたが
最近はどうなの?

940 名前:デフォルトの名無しさん :04/02/12 01:26
珍しくスレ伸びてるなと思って覗いてみたら
なんじゃこの流れは!!

鬱で氏にそうなテンションで以後ヨロシク!

941 名前:デフォルトの名無しさん :04/02/12 01:29
>>938
>おら!けつだせや
いやん
ttp://www93.sakura.ne.jp/~suzuneko/cg/0208.JPG

>>940
いや、つか、もう次スレいる感じ。
ちなみに俺のホストじゃ駄目。

942 名前:デフォルトの名無しさん :04/02/12 01:30
ウホッ!いいケツ・・・

943 名前:デフォルトの名無しさん :04/02/12 01:31
では、お約束ということで

         ☆ チン     マチクタビレタ〜
                         マチクタビレタ〜
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) < 次スレまだ〜?
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
        |  愛媛みかん  |/


944 名前:932 :04/02/12 01:32
>>916,>>919

まぁまぁ同意。

>>920
一応違うな。
ハードウェアのスプライト機能はフレームバッファに一度描画するというプロセスが無いのがメリット。
H-SYNC毎にBG、スプライトのプライオリティ(深度値)を比較して描画すべき色情報を決定する。
RAMが高価だった頃の苦し紛れの仕組みだよ。

>>918,>>928
えーと、上で説明したとおりです。分からないなら調べて。ゲームボーイ関連の資料なら合法的に手に入るだろ。


945 名前:デフォルトの名無しさん :04/02/12 01:33
次スレ
http://pc2.2ch.net/test/read.cgi/tech/1065535118/

946 名前:デフォルトの名無しさん :04/02/12 01:33
各自テンプレ修正案を提出のこと

なければ>>950が頃合いをみて次スレよろ

947 名前:941 :04/02/12 01:34
>>942
アベさんを呼ぶな。

ああ、ちなみに俺の入ってるプロバイダ永久に2ちゃんでスレが立てられないところだから。
 ぷらら やしw。

948 名前:932 :04/02/12 01:37
自分で書いてて思ったのだが、

>フレームバッファに一度描画するというプロセスが無い

こういう意味では昨今のPCビデオチップのオーバーレイ機能が
非常に似ているな。まぁあれはレイヤー単位ということになるが。

949 名前:デフォルトの名無しさん :04/02/12 01:39
スレで出てきた話題をFAQとして>>3-あたりにまとめるというのはどうだろうか?

950 名前:932 :04/02/12 01:39
>>939
手元のラデ9500だと256x256までイケるみたいだな。

951 名前:デフォルトの名無しさん :04/02/12 01:39
// 過去スレ
Part 1 : http://piza2.2ch.net/tech/kako/966/966655286.html
Part 2 : http://pc2.2ch.net/tech/kako/997/997101556.html
Part 3 : http://game.2ch.net/gamedev/kako/1005/10051/1005119775.html (ゲ)
Part 4 : http://game.2ch.net/gamedev/kako/1016/10162/1016276254.html (ゲ)
Part 5 : http://pc2.2ch.net/gamedev/kako/1027/10273/1027351925.html (ゲ)
Part 6 : http://pc2.2ch.net/gamedev/kako/1033/10339/1033920036.html (ゲ)
Part 7 : http://pc2.2ch.net/gamedev/kako/1039/10395/1039509250.html (ゲ)
Part 8 : http://pc2.2ch.net/gamedev/kako/1046/10466/1046676308.html (ゲ)
Part 9 : http://pc2.2ch.net/test/read.cgi/tech/1054553472/
Part 10 : http://pc2.2ch.net/test/read.cgi/tech/1061420660/
Part 11 : http://pc2.2ch.net/test/read.cgi/tech/1069376986/

952 名前:デフォルトの名無しさん :04/02/12 01:43
上の会話読んでたら頭痛くなってきた
最近の物知らずエセプログラマーというのはこわい

953 名前:デフォルトの名無しさん :04/02/12 01:44
>3-10くらいでFAQをまとめてくれる勇者キボンヌ

個人的には>>952に期待

954 名前:デフォルトの名無しさん :04/02/12 01:46
初心者から上級者までいるからな
現役高校生どもにそんな知識あるとは思えないし
だからこそ現場にいる人達がFAQとしてきちんとした情報をまとめてくれることが大切だとおもう

955 名前:デフォルトの名無しさん :04/02/12 01:48
>>952
(´Д`)山崎式ジャンプが気に入らないの?

956 名前:デフォルトの名無しさん :04/02/12 01:50
あ、ゲハ板の例のスレ(莫迦ゲーム業界人スレ)で誰か暴れてきたでしょ?
あんなこと思いつくのどうせ業界人じゃPG職の人しかいないし。

957 名前:デフォルトの名無しさん :04/02/12 01:53
   ∧_∧  / ̄ ̄ ̄ ̄
  (  ^^ )< ぬるぽ(^^)。
  (    )  \____
  | | |
  (__)_)
   |||||||||

山崎式ジャンプ

958 名前:932 :04/02/12 01:54
>>953
理由はあえて言わないでおくが、ム板とゲ製作板にスレがある状態が一番望ましかったと
個人的には思う。そういう状態に戻るならテンプレに協力する気になる。

959 名前:デフォルトの名無しさん :04/02/12 01:54
まあ、ラインバッファとフレームバッファの違いなわけだが。
原理上、ライン表示数に制限があるのが真のハードウェアスプライト

てーかそんなことどうでもいいんですけどね。絵さえ出ればなんだっていいと思わんか。

960 名前:デフォルトの名無しさん :04/02/12 01:56
>>957
そうきたか。

とにかく山崎式ジャンプはネタになるということは確かなようだ

961 名前:デフォルトの名無しさん :04/02/12 01:58
>>960
ネタじゃないよ。実用性もバッチリだろ。

962 名前:デフォルトの名無しさん :04/02/12 02:05
山崎式ガッ
  ( ^^ )   | |
 と    )    | | ガッ
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V ^^ )/
 (_フ彡        /  ←>957


963 名前:932 :04/02/12 02:26
>>959
そうだね。ラインバッファあるね。

964 名前:デフォルトの名無しさん :04/02/12 11:25
フォグ色を指定しても反映されない(常に黒いフォグ)のですが、
何が原因として考えられますか?

965 名前:デフォルトの名無しさん :04/02/12 12:51
>>935-936>>938>>941-942
ワロタ
こういう流れ好き。。。

966 名前:デフォルトの名無しさん :04/02/12 13:05
>>964
どうやってる?
フォグまわりで使ってるレンダリングステータスすべてさらしてみ?

>>965
つーか900過ぎて埋めに入ってるから許されるだけで
900前でやったらさすがに荒らし扱いだろなw。

967 名前:964 :04/02/12 16:03
float fStart = 1.0f;
float fEnd = 100.0f;
pDevice->SetRenderState( D3DRS_FOGENABLE, TRUE );
pDevice->SetRenderState( D3DRS_FOGCOLOR, D3DCOLOR_XRGB(255,255,255) );
pDevice->SetRenderState( D3DRS_FOGVERTEXMODE, D3DFOG_LINEAR );
pDevice->SetRenderState( D3DRS_FOGSTART, *((DWORD*)&fStart) );
pDevice->SetRenderState( D3DRS_FOGEND, *(DWORD*)&fEnd );

スタート位置エンド位置やフォグのかかり具合は正常に描画されてます。
DirectXサンプルにあったMFCフォグはちゃんと色ついてるので、
色だけおかしいのは何が原因なのか…。

968 名前:デフォルトの名無しさん :04/02/12 16:39
>>965
全く理解できない。放置しろ。煽られた池沼がファビョって暴れているだけであり調子付かせるな。

>>967
これで黒いフォグが出ることはありえないだろ。それ背景色の黒が出てるだけでは。
あるいはライト無しでなおかつ物体の深度(Z値)がD3DRS_FOGSTARTより小さいので黒色。
そういう凡ミスでなければ、ビデオカードとそのドライバのバージョンを晒して。

969 名前:968 :04/02/12 16:43
s/D3DRS_FOGSTART/fStart/

970 名前:デフォルトの名無しさん :04/02/12 17:12
2chの楽しみ方は人それぞれ。
指図していいのは唯一ひろゆきだけ。

971 名前:デフォルトの名無しさん :04/02/12 17:21
>>970
>>968はあきらかに挑発だろ。
この話題が嫌いなら黙ってれば過ぎていくのに煽ってるし。
おそらくエロ画像が目的だな。

972 名前:デフォルトの名無しさん :04/02/12 17:29
>>968
そうだね。MFCフォグが問題なく動作しているという話だからアプリ側のバグかな。
964がソース全部晒すのが手っ取り早いというか。

>煽られた池沼がファビョって暴れている

まぁ、池沼というのは話題に付いていけなくなると暴れますから。彼等はROMることを知らんのです。

>>970

ハァ?

973 名前:デフォルトの名無しさん :04/02/12 17:43
>>971
なーる!空気読めてないのはオレだったか

974 名前:デフォルトの名無しさん :04/02/12 18:33
>>964

そのコードで無事に動いたよ。
特別な事はしてない。SDK中の適当なサンプルに放り込んだだけ。
例えばこれ↓
Samples\C++\Direct3D\Tutorials\Tut04_Lights
に放り込んで試すと良いのでは。

>>973
粘着ウザ

975 名前:デフォルトの名無しさん :04/02/12 18:51
ここは楽しい恥笑のいるインターネットですね

976 名前:964 :04/02/12 19:17
すみません。
フォグ設定部分のコードは多分誰が見ても問題ないと思うので、
多分他に問題があるんだと思います。

それで、他にフォグの色が黒くなってしまう原因として何があるのかな、
と思って質問したわけなんです。

977 名前:デフォルトの名無しさん :04/02/12 19:23
>>974
おまえがウゼーよ
フォグくらいでグダグダと

978 名前:デフォルトの名無しさん :04/02/12 19:32
池沼が話題に付いていけないからって暴れてんじゃねーぞこら
だまってROMってろぼけ

979 名前:デフォルトの名無しさん :04/02/12 19:33
>>978
放置しろ。煽られた池沼がファビョって暴れているだけだ。
あまり調子付かせるな。

980 名前:デフォルトの名無しさん :04/02/12 19:42
そうだな、すまない。

981 名前:デフォルトの名無しさん :04/02/13 04:54
DirectSound で(ループしない)ストリーミング再生をする時、
WAV を全て読み込んだ後のバッファの「余り部分」を再生させない
方法を教えてください。

「ここで再生を止めたい」と思うバッファの位置が分かっていても、
Stop() では止められません (;_;

982 名前:デフォルトの名無しさん :04/02/13 05:41
directxのフルスクリーン画面で変数に代入されている数字を表示させるにはどうしたらいいのですか?

983 名前:デフォルトの名無しさん :04/02/13 05:41
>981
美しい方法が思いつかなかった俺は、
念のため後ろに無音を詰めて、
データ書き込みスレッドがGetCurrentPosition()ポーリングループ、
終了位置を越えたらStop()としてる。

まあバッファ全部無音で埋め尽くせば、止める必要など無い。
などと暴言を吐けんこともない。

984 名前:981 :04/02/13 06:41
>>983
やっぱりそれしかないんですかねぇ・・・

985 名前:デフォルトの名無しさん :04/02/13 07:20
>>981
DirectSoundのStreamDataサンプルを参照すれば良いのでは。
LoopのON/OFF出来るみたいだし。

986 名前:デフォルトの名無しさん :04/02/13 07:37
directxでマウスを扱うにはどうしたらいいのでしょうか?

987 名前:デフォルトの名無しさん :04/02/13 08:37
LINK : fatal error LNK1181: 入力ファイル 'd3drm.lib' を開けません。

というエラーがでてきましたdirectx9SDKをインストールしてあるのですが
ファイル検索でd3drm.libをさがしても存在しませんでした
どうすればいいのでしょうか?

988 名前:デフォルトの名無しさん :04/02/13 12:49
殺伐としたスレに救世主が!



      ヽ)∵)ノ
      (  (  くねくねマン
       )  )


989 名前:デフォルトの名無しさん :04/02/13 13:04
>>987
前のバージョンのsdkからlibだけとってきて適当にリンクすればいいんちゃう?

990 名前:デフォルトの名無しさん :04/02/13 13:16
>>989
前のバージョンのlibだったんですか…
ありがとうございました

991 名前:デフォルトの名無しさん :04/02/13 13:22
>>990
調べてみたらDirectX7SDKにあるらしい。
DirectX8SDKですでに消えてるw

992 名前:デフォルトの名無しさん :04/02/13 14:10
>>988
負けない。

 ∧ ∧∧ ∧
 (゚Д゚≡゚Д゚) プルプル
   |し |つ
  ⊂__ |
      し'

 (( ∩ )) プルプルプル
  γ'⌒ヽ∧ ∧
   し'ゝつ( ゚Д゚)つ


993 名前:デフォルトの名無しさん :04/02/13 14:22
もうテンプレはいいから誰か次スレだけでも立ててくれ。
俺のホストでは駄目だ。

994 名前:デフォルトの名無しさん :04/02/13 14:44
次スレ
http://pc2.2ch.net/test/read.cgi/tech/1065535118/

995 名前:通りすがり :04/02/13 14:50
鬱だ氏のう DirectX (Part 12)
http://pc2.2ch.net/test/read.cgi/tech/1076651336/

なんか切羽詰ってるようなので建てて見た

996 名前:デフォルトの名無しさん :04/02/13 14:55
>>995
神降臨!

997 名前:72 :04/02/13 18:45
>>74
おまえモナー

998 名前:983 :04/02/13 19:53
埋めレス
>984
それしかないかは分からないけど、
Bufferをぴったり停止させる必要が、そもそもあるのかどうか?と

>985
結局これもnotifyイベントで待つだけで同じような方法ですな。

>995


999 名前:デフォルトの名無しさん :04/02/13 20:22
 ∧ ∧∧ ∧
 (゚Д゚≡゚Д゚) 999!?
   |し |つ
  ⊂__ |
      し'

1000 名前:デフォルトの名無しさん :04/02/13 20:23
1000


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