※「鬱だ氏のうスレ」と「DirectX総合スレ」は統合され、
ゲーム製作技術スレに戻ってきました。
DirectXについて、にいさま達がマターリと
技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。
ちなみに、言語はC++がメイン。
C# / VB.NET 使いは、専用スレの方が話がスムーズに進むと思われ。
1otu
誰も居ないかな。。。それなら。
Direct6
駄irectX
うん。統合してゲ制せに作るのが一番すっきりしてていいと思う。
どう見ても過疎です。
本当にありがとうございました。
最近のパソゲーって草や葉っぱとか、テクスチャで透過したとき
エッジがピクセルの形が出なくて曲線的だけどあれどうやるの?
シェーダとか使わないと無理?
バイリニアフィルタが最近の技術だなんて
いくらなんでも浦島すぎだろそりゃ。
バイリニアフィルタってSetSamplerStateでD3DTEXF_LINEAR指定すればいいんだよなぁ。
で、バイリニアフィルタ使ってもエッジがぼやける(半透明)だけなんだが…orz
半透明はZソートするのめんどくさいから、ALPHATESTで半透明を
表示しないようにしたら結局ピクセルの形で透過される罠。
漏れのやり方が悪いのか知らんがヒントきぼんぬ
>>14 それは多分DX9で言うところのフルシーン マルチサンプリングかな。
使ったことは無いけど、CreateDeviceで指定するみたい。
16 :
14:2005/12/02(金) 17:46:02 ID:mjZUfb4C
17 :
14:2005/12/02(金) 18:38:23 ID:mjZUfb4C
>>14 マルチサンプリングじゃないね。
SSでは、テクスチャの荒さが違うようにしか見えない。
解決策はテクスチャを大きくする、かな。
最近のPCゲーはピクセル見えないほどに高解像度なテクスチャ貼りまくりですよ
>>14 アルファテストのしきい値を0.5くらいにすればいいわ。
SetRenderState( D3DRS_ALPHAREF, 128 );
SetRenderState( D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL );
ファイルあさって見たけどテクスチャの解像度でかくて512*512しかない。
しかもそのSSの正面に映ってる葉っぱの部分は128*128にも満たない
仮に高解像度ならもっと葉のすじとか鮮明に映っていいはず。
22 :
14:2005/12/02(金) 22:20:39 ID:mjZUfb4C
>>20 レスさんくす。
たしかにそんな感じだな。
あとはZ値をどうするかかな。
23 :
14:2005/12/02(金) 22:33:53 ID:mjZUfb4C
わかった
>>20の状態でアルファブレンドはFALSEで良いみたいだな。
やっとこすっきりした。
24 :
名前は開発中のものです。:2005/12/04(日) 17:14:47 ID:+6E7K1gP
SDK Decemberでるのかな?
25 :
名前は開発中のものです。:2005/12/05(月) 16:09:36 ID:PfEOaTF0
?
26 :
名前は開発中のものです。:2005/12/05(月) 23:08:57 ID:S5woveD9
出ないだろう。
え? なんで出ないの?
なんだかんだ言ってもうDecember
29 :
名前は開発中のものです。:2005/12/06(火) 03:40:47 ID:HjB2oazP
皆でDirectXを使ってPCゲームのベースになるようなシステムを作りませんか?
>>29 作った後が問題だな…
ただでさえライブラリから引っ張ってきててウジャウジャしてるのに、他人が書いたのなんて加工してらんないよ…
ゲ製に立てるデメリットとしては自分で作れないからって人に作ってもらおうとする奴が
来ることが挙げられる。
DirectXSDKは開発システムそのものじゃないか。
ラッパー作りたいの?
SDKについてくるサンプルフレームワークじゃ駄目なの?
>>34-35はホントに普段そんな状態でゲームを作っているのだろうか。
物凄い大変そうだ
自作ライブラリとか作らずにいちいち末端からDrawPrimitive呼びだしてんの?
って意味だが。SDKのサンプルフレームワークとかそういう状態
まあ、結局DirectXは開発システムとしてはかなりピュアな状態だから、自分なりにまとめるも良し、
そのままゴリゴリ書いちゃっても良しって事なのかね。
うぉおおおおおお
Direct10
ぬぅああああああ
Direx100
ふぉぉおおおおぅ
Dirsex1000
44 :
名前は開発中のものです。:2005/12/18(日) 00:24:16 ID:Zq9xWgz1
DMUS_MIDI_PMSG メッセージを送信したいのですが命令は何かわかる方いらっしゃいませんか?
45 :
名前は開発中のものです。:2005/12/18(日) 15:43:38 ID:oaKflF5Y
sampleのskinnedmeshフォルダにあるskinnedmesh.fxなんですが、
こいつがソフトウェア頂点処理じゃないと動かなくて参っちまってます。
アセンブラ吐き出させて調べても、vs1_1以上の命令は無いし、
もちろんcapsのD3DDEVCAPS_HWTRANSFORMANDLIGHTも
VertexShaderVersionも、条件を満たしてるんスが・・・・
何か心当たりある方が、もし、いらっしゃったら是非
>>45 グラボは何使ってる?
グラボがゲフォ4(Tiじゃないやつ)でドライバ古いと、
シェーダ対応してないのに1.1とか誤表示されたりするけど・・・
まあ、そんなオチは無いか
>>46 回答ありがとでやんす
使用グラボはラデオン8500ですが、とはいえ貴重な情報どうもっス
一応ドライバは最新だと思います
Radeon9600だと、フォグがD3DFOG_EXPしか効かないみたい。
質問っす。描画する時に
LPDIRECT3DDEVICE9 lpDevice = g_lpDevice9;
lpDevice->BeginScene();
////何かの描画/////
lpDevice->EndScene();
/*何かの処理*/
lpDevice->BeginScene();
////何かの描画/////
lpDevice->EndScene();
.
.
lpDevice->Present( NULL, NULL, NULL, NULL );
みたいに何回もBeginScene、EndScene呼んで最後にPresentってまずいですかね。
マニュアルにはダメって書いてあるね。
>>50 すまん、どこに書いてあるのか教えてくれないか?
そもそも必要性が感じられない
>>51 > プレゼンテーション (IDirect3DDevice9::Present または IDirect3DSwapChain9::Present) を連続して呼び出す場合、
> 呼び出しの間に存在できる IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene は最大 1 対です。
> IDirect3DDevice9::BeginScene はレンダリングを実行する前に 1 回、
> IDirect3DDevice9::EndScene は 1 つのフレームに対するすべてのレンダリングをランタイムに発行した後に 1 回、呼び出す必要があります。
これジャマイカ?
IDirect3DDevice9::BeginScene()のところに書いてあるぞ
>>53 手元のヘルプにもMSDNにも無いな。最近のSDKで追加された内容なのか
55 :
50:2005/12/30(金) 20:02:42 ID:BBiaJQce
56 :
名前は開発中のものです。:2005/12/30(金) 21:05:04 ID:IFiUlImR
//テクスチャ回転
void TexRot(D3DXMATRIX &out,float rot)
{
D3DXMatrixIdentity(&out);
out._22=out._11=cos(rot);out._12=sin(rot);out._21=-1*out._12;
}
//---レンダー関数内
g_pd3dDevice->SetTextureStageState(0,D3DTSS_TEXTURETRANSFORMFLAGS,D3DTTFF_COUNT2);
D3DXMATRIX out;
TexRot(out,(float)m_dwCnt*D3DX_PI/180.0f);
g_pd3dDevice->SetTransform(D3DTS_TEXTURE0,&out);
g_pd3dDevice->SetTexture(0,g_pTexture);
g_pd3dDevice->SetStreamSource(0,g_pVB,0,sizeof(D3DTLVERTEX));
g_pd3dDevice->SetFVF(D3DFVF_2DVERTEX);
g_pd3dDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,2);
g_pd3dDevice->SetTextureStageState(0,D3DTSS_TEXTURETRANSFORMFLAGS,D3DTTFF_DISABLE);
g_pd3dDevice->SetTexture(0,NULL);
上記のようにしてテクスチャを回転させたいのですが上手くいきません。
どこが問題なのでしょう?DX9.0です。お願いします。
>>57 レス有難うございます。
>トランスフォーム済みライティング済みの頂点
この表現がわからないのですが、、、
実際に何を行うとトランスフォーム済みライティング済みの頂点になるのでしょう?
60 :
名前は開発中のものです。:2005/12/30(金) 22:52:21 ID:lBuSVkiU
D3DXComputeNormalMapで
高さマップから法線マップ作成できるが、
これによって生成される画像のフォーマットってナンなの?
16ビット浮動小数点の画像フォーマットなのか?
それともRGBカラーのそれぞれに8ビットの数値を突っ込んでるだけなのか?
でも、ピクセルシェーダーでは法線の数値が入ってないと
デコボコの表現が正常に出来ないよね。
自前で画像フォーマット作ればいいのだが、気になって気になって
手淫も出来ません。
誰か知ってる人教えて。
>>58 頂点の構造体(D3DTLVERTEX)からrhwを除いて、
FVF(D3DFVF_2DVERTEX)も D3DFVF_XYZRHW を D3DFVF_XYZにすると
頂点に座標変換が掛かるようになる。
ただその場合、座標の扱いも3Dの流儀(中心が(0,0)、-1〜+1)になるんだけど、
下のように設定すれば、一応2Dの流儀(左上隅が(0.0)右下隅が(w,h))のまま使えるわ。
D3DXMATRIX matWorld, matView, matProj;
D3DVIEWPORT9 vp;
D3DXMatrixIdentity( &matWorld );
D3DXMatrixIdentity( &matView );
pd3dDevice->GetViewport( &vp );
D3DXMatrixOrthoOffCenterLH( &matProj, 0, vp.Width, vp.Height, 0, 0.0f, 1.0f );
pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );
pd3dDevice->SetTransform( D3DTS_VIEW, &matView );
pd3dDevice->SetTransform( D3DTS_PROJECTION, &matProj );
座標変換がかかるのがいやで、UVだけ変えたいのなら、頂点のUVを直接書き換えるしかないわね。
>>61 rhw抜いたら描画されなくなってしまいましたTT
今日は寝ます。レス有難うございました。
最近HLSLからCgに乗り換えた浮気ものです。
>>62 チュートリアルを順番に、自分でコードを入力しつつ動作を確認し、絶対にとばさず全て終わらせること。
質問するのはそれが出来てから。
しかしその頃には、今のような質問をすることは無くなっているだろう。
65 :
名前は開発中のものです。:2006/01/02(月) 23:13:13 ID:s+I6Hch/
質問でつ。
DirectX9 SDKには"d3dx8.h"が入っていないけどどうして?
"d3dx9.h"は入っているのに。
ヒント:
d3dx8.h→DirectX8
d3dx9.h→DirectX9
>>66 D9は下位互換があるのでd3dx8.hがなくなるのが良くわからないぽ
D9はD8を内包してる。
ということはヘッダも中に(略
>>67 また上位互換と下位互換を混同する馬鹿が。
いつまで経ってもこういうのが撲滅できないのは何故だろう?
DirectXのSDKは上位互換。
下位互換だったら、8のSDKで9の機能が利用できることになる。
使ってほしくない機能は削除してるみたいだけどね。
SDK自体は別のものと考えた方がいいかも。
>>69 日本語おかしいぞw
SDK9は下位(SDK8)に対して互換があるから下位互換でいい。
>>69 上位互換と下位互換間違っているのはお前ですよ?ぷ
いつまで経ってもこういうのが撲滅できないのは何故だろう?
上位互換ってのは、将来に対して互換性が保証される場合を言い、
→ライブラリ中のインターフェィスをFixすることで、将来の互換性を保証するとか
下位互換ってのは、過去の資産に対して互換性を保証するものなんでないの?
→以前のライブラリのインターフェイスをそのまま残すことで、過去の資産に対しての互換性を保証するとか
これでいいんだよな?(´・ω・`)
>>72 オマエの悩みはオマエにとって下位互換という言葉が未定義だからだよ(俺も知らんがなw)
上位互換はUpper Compatibilityの訳語
ttp://e-words.jp/w/E4B88AE4BD8DE4BA92E68F9B.html で一般に流通する言葉だから、それを使うのは正しい。つまりオマエは間違ってない(よかったな
しかし下位互換という言葉を使用する人間をオマエが撲滅すべき理由など無い
アッパーコンパチは下位にたいして互換性を持つことを言うんだ、下位互換って言葉を
一般的には上位互換という訳語を当てた<アッパーコンパチ>の新訳語と思えばいい
つまり同義語。 (これで撲滅しなくて良くなったな
まあ、上位互換が間違っていて下位互換が正しいという意見は確かにアレですが
なぜかというと大して困らない用語だから。
ところでSDKの互換性とDirectXの互換性は別の話だっちゅうの。
2004Octじゃないとビルドできないソースとかあるでしょ。
完全な下位互換なんてほとんど聞いたことないし、
完全でない下位互換ならわざわざ下位互換とか書かないよな
>>70 d3dx8.hってMSにしては使ってほしくないの?
いつまでも古いのサポートしたくないんじゃない。
C++でビハインドカメラ視点の3Dアクションゲームを作ろうとしているのですが、
カメラ位置の設定がうまくできず悩んでいます。
Z軸の単位ベクトルで初期化したベクトル(0,0,1)を用意し、自キャラの向きに合わせて回転させ、
適当な倍率とマイナスをかけて、自キャラの後方をカメラ位置に設定しています。
カメラを固定位置にすると自キャラの動作は正常なのが確認できるのですが、
D3DXVECTOR3 vecEyePt = Player.vecPosition + cameraPosition;
とカメラ位置を設定すると、以下のように意図しない結果がでてしまいます。
・旋回操作をしても自キャラの向きが変わっていない(まわりの物体の位置もそのまま)
・自キャラに当たる照明の位置だけが変わっている
・カメラ位置がZ軸上から動いていない
http://syobon.com/mini/src/mini13422.txt ソース
ご指摘・アドバイス等いただけましたら幸いです。よろしくお願いいたします。
先が思いやられるコードキター!
82 :
80:2006/01/03(火) 21:19:10 ID:dr3rQ39x
>>81 まだ入門書のサンプルに毛を生やす程度の能力しかなくて、すみません。
よろしければご助力ください。あるいはスレ違いでしょうか?
84 :
名前は開発中のものです。:2006/01/03(火) 22:25:22 ID:yoa4vEYc
>>83 d3dx9_26.dllが見つからなかったため、このアプリケーションを開始できませんでした。
あらやだ
86 :
80:2006/01/03(火) 22:28:39 ID:dr3rQ39x
>>83 すごいですね、そうしたかったんです。
差し支えなければ改善点やコードを教えてくださいませんか。
ありがとうエロイ人!
>>86 cameraPosition = -3*vecAxisZ;//*****カメラ位置を算出*****
↑これの書く場所がマズイ
91 :
名前は開発中のものです。:2006/01/03(火) 23:03:07 ID:y0S1Z1dn
デバッガで追っていけばすぐ分かることなんだがな。
92 :
80:2006/01/03(火) 23:49:37 ID:dr3rQ39x
>cameraPosition = -3*vecAxisZ;//*****カメラ位置を算出*****
>
>↑これの書く場所がマズイ
軸の回転前に書くとカメラが移動しなくて、回転後だとやっぱり同じ結果になってしまいます。
回転後にカメラを移動させればいいとは思うのですが、どうしたらいいでしょうか?
>>91 デバッガの使い方もままならず、四苦八苦しています。無知で大変ご迷惑をおかけします。
軸の回転前に書く
回転前でも回転後でもいいんだけど、
カメラが考慮すべきなのはThing[1]の向きのはず。
今のままだと、謎のオブジェクトThing[3]の向きが参照されちゃうよ。
あ、やっぱ回転後によろしく
96 :
80:2006/01/04(水) 00:22:31 ID:I2EUgBKX
>>94 解決しました。的確なアドバイスをありがとうございます。
関数が呼び出されるごとに全オブジェクトのfHeadingが参照されているのは盲点でした。
今回の失敗を忘れず精進します。重ねてお礼申し上げます。
うぃいいいいいいいいん
どぉううううううううず
100 :
80:2006/01/04(水) 01:48:39 ID:I2EUgBKX
>>99 確かに、そのままだとガクガクしますね。
カメラの軌道が綺麗な円ではないということでしょうか?
自由に移動するには自キャラの状態を複数用意して、
前進/後退や旋回を組み合わせられるようにする必要がありますね。
101 :
80:2006/01/06(金) 03:27:28 ID:yOgH2a1d
>>99 DirectInputを使って滑らかに動かせるようになりました。
ウィンドウズのメッセージは複数保持できないんですね。
102 :
名前は開発中のものです。:2006/01/06(金) 17:57:55 ID:CzT0iPUW
お、頑張ってるね。
期待のルーキーage
またゲ製の弊害キタコレ
質問です。マルチテクスチャでシャドウマップをレンダリングしようと思うと、
ほとんど頂点の共有がないんですけど、最近はストリップ化とか気にしない時代なんでしょうか?
すまん。初歩的だとは思うが、
(0, 0) - (10, 0) - (0, 10) - (10, 10)
の4点で正方形のポリゴン作ったとき、正方形1辺の長さは 10 じゃなくて 11 でいいのか?
(0,0)-(0,0)
を考えれば自ずと答えが出る。
win2kの方、sdkのバージョンはなに入れてますか?
>>105 SDKヘルプの「ラスタ化ルール」のページをよく読んで考えたまえ。
DirectInputで、PS2コントローラの十字キー・アナログスティック双方を使うにはどうすればいいでしょうか。
アナログスイッチを入れると十字キーが使えず、切るとスティックが使えません。
スティックの方は押し込み(いわゆるL3・R3ボタン)入力が欲しいです。ご存知でしたらご教授お願いいたします。
(゚Д゚)ハァ?
>>109 使えませんといわれても困るんだが……。ちゃんと使えるし、入力も受け取れるよ。
そういう問題じゃないだろw
アナログON 右スティック(lX,lY) 左スティック(lRz, lZ) 十字キー(ボタン12,13,14,15)
アナログOFF: 右スティック(-,-) 左スティック(-,-) 十字キー(lX,lY)
以前使ってたPS2コントローラ変換アダプタだと、こんな感じだったと思う。記憶違いもあるかも。
製品ごとにこの辺の仕様は違うと思うので決めうちは危険。
柔軟性の高い環境設定ツールを作って、自由に割り当てを変えられるようにするしか。
>>114 十字キーをボタンに設定したら動作しました。ありがとうございます。
近いうちに設定ツールにも挑戦してみようと思います。
俺はマルチの人も応援しているので、皆もこぞって回答を投稿しようね。
僕もマルチの人を応援したいと思います。
がんばッ!
うむ
みなの衆分かっているとは思うが、応援だけじゃぞ応援だけ
DirectX10てまだウワサもないですか?
それは最新SDKのテクニカル・プレビューを読んだ上での質問か?
日ごろからSDKになじんでない人だとわからんからしょうがない。
問題は、「しょうがない」と言ってレヴェルの低い自分を許容してしまうことだよな。
125 :
名前は開発中のものです。:2006/01/18(水) 01:02:29 ID:XXhLgbEg
DirectInputを使用してキーボード・マウス・ジョイスティックの動作を取得する
クラスを作ろうと思っています。そこで迷ってるんですがDirectInputを使うときに
まず1個メインでどのインターフェースにも使用される変数とかを宣言してそれに
派生させたほうがわかりやすいんでしょうか?1個のクラスに3つのインターフェース
を動かすための変数とかを宣言するとわかりにくいかなと思って皆さんはどっちが
見やすいとかどっちだとこういう問題があるとかアドバイスありましたらお願い致します。
作ってみればいいんじゃね?
案ずるより小野ヤスシ。
後者。
128 :
ぶっそれんれ:2006/01/18(水) 21:56:27 ID:+6B9dpNW
はじめまして、名前は開発中のものです。さんに案内してもらいました。よろしくお願いします。
たいしたDirectXの技術どころかC++についてもまだまだですが、Cだけでがんばってやってきました
まあそんなこんなでよろしくお願いします
129 :
ぶっそれんれ:2006/01/18(水) 22:02:19 ID:+6B9dpNW
・・・C++がんばったほうがいいですよね、DirectXする前に
130 :
名前は開発中のものです。:2006/01/18(水) 22:05:51 ID:HnrOH1dc
いや1個のクラスにキーボード・マウス・ジョイスティックの3つを含めて
作ったんですが、マクロで3つそれぞれを使用するしないを設定したら
中が読みにくくなったんでどうしようか迷って聞いたんですよ。
131 :
mebius:2006/01/18(水) 22:48:12 ID:zWunAqfb
Visual Stdio.NET 2003を使用し、DirectX SDK(December 2005)のTutorial 01: Direct3D10 Basics をコンパイルし、
実行すると「d3d10.dllが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションを
インストールし直すとこの問題は解決される場合があります。」と表示され実行できません。
再インストールも行いましたが解決できませんでした。実行するにはどうすれば良いでしょうか。
132 :
mebius:2006/01/18(水) 22:57:32 ID:zWunAqfb
すいません環境を忘れてました。
WindowsXPです。
DLLを適切なところに置く。
134 :
mebius:2006/01/18(水) 23:22:17 ID:zWunAqfb
>>133 すばやい回答ありがとうございます。ですが、私は初心者なためどうすればいいのかわかりません。
もう少し詳しく教えていただけないでしょうか。
136 :
名前は開発中のものです。:2006/01/18(水) 23:37:04 ID:reEqy/wX
exの隣
その先を見越してのヒント: require Vista
139 :
mebius:2006/01/19(木) 00:09:59 ID:rUVyTmhd
>>138 ありがとうございます。解決しました。でもちょっとひどいな。汎用性とか無視ですか・・・。
みんなもうXbox 360のコントローラはゲットしたかな?
十字キーがレバーでもボタンでもなく
ハットスイッチに割り当てられているので気をつけろ。
DX10はまだ時期尚早なんじゃないのか。
プレビューだべよ。
Xboxコンは高くて諦めた
でもパチンコでその何倍も摩る俺
ゲームパッドが全部 XInput 対応になれば良いのに。
ゲームパッドでDirectXの機能全対応のものってないかな?
今作ってるゲームでゲームパッド対応してるんだけど、どの
ゲームパッドでも動くか自信がない。
PS2パッド変換機はどうか。
機種によるかもしれないけど大抵、
機能的には全て(XY・スライダー・ハットスイッチ・12ボタン)を満たしていると思う。
まじめに対応(DIJOYSTATE2を埋める)しようと思うと
ボタンだけで128個必要な罠
実際はPCでも、XBOX360コントローラーの配置が標準に
なると思うから、あれに合わせておけばOKじゃない?
149 :
146:2006/01/21(土) 17:34:01 ID:E5l3VzaB
サンクス
XBOX360コントローラー買ってみる。
特定のコントローラーに依存するより、カスタムできるようにした方が良いと思うけど。
だれもがXBOX360コンを使ってるわけじゃないし。
だから「配置」ね。
事実上PS2のコントローラーと同じだし、今店頭に
並んでいるPC用コントローラーも、同じ配列の物が多い。
もちろん、どのボタンがどの番号に割り振られているかの、
カスタマイズは必要。
152 :
名前は開発中のものです。:2006/01/24(火) 03:55:25 ID:Vi8mCoXD
効果音をならそうとするたびにCreateSoundBufferしてファイルを読み込んで
最後まで再生したら即releaseが一番単純でいいんだろうけど、
またすぐに鳴るだろうことを予測してバッファを開放しないでおいてあげよう
ということで頻出する効果音のために確保したバッファを
ある程度長い時間開放せずにとっとくようなことをしたら
いくつまでバッファを待機させておけるのかということが問題になってきた。
サウンドカードによって同時に作れるセカンダリバッファの数に違いがあるようで
といってcapsを調べてもまともに最大数を教えてくれてる様子がなく
CreateSoundBufferがFAILEDして初めて「あーもうこれ以上つくれないのか」と分かる始末。
最初に一度FAILEDするまでCreateSoundBufferしまくって最大許容量を調べなきゃならんの?
DSBCAPS_LOCSOFTWAREじゃあかんの?
DSBCAPS_LOCDEFERを調べてみろ
155 :
152:2006/01/25(水) 03:46:05 ID:lcoKZLm5
ていうか手元にある環境だとぜんぜん問題ないんだけど、
公開したところ、確保した数が増えてくるとCreateSoundBuffrerがINVALID_CALLを返す
環境もあるようで、いったいなんなんだこれはと困惑してる次第で。
一般に公開してるゲームを作ってる人は効果音のキャッシュ制御とか
セカンダリバッファの確保の仕方とかどうしてるの?
こういう不具合報告が来たことないですか?
>>153,154
問題がでてるのが配布した先の他人の環境なんで、ちょっと試すってわけにもいかないので
何かフラグの指定に問題があることに確信があるなら情報を書いてしまったほうがいいかも
「うまくいかない〜」「○○のオプションを指定してみたら?」「動きました〜ありがとうございます〜(^▽^)」
みたいな流れには残念ですがなりようがないです
俺もDSBCAPS_LOCSOFTWAREオンリーだな。
ファルコムのゲームはオプション設定見る限り真面目にやってそうだ。
158 :
153:2006/01/25(水) 09:39:16 ID:gmXOMyeO
>>155 >問題がでてるのが配布した先の他人の環境なんで、ちょっと試すってわけにもいかないので
>何かフラグの指定に問題があることに確信があるなら情報を書いてしまったほうがいいかも
>「うまくいかない〜」「○○のオプションを指定してみたら?」「動きました〜ありがとうございます〜(^▽^)」
>みたいな流れには残念ですがなりようがないです
その言葉、そっくりそのまま君に返すよ。
159 :
152:2006/01/25(水) 09:48:05 ID:lcoKZLm5
http://gamdev.org/up/img/4473.zip DSBCAPS_LOC* を切り替えてCreateSoundBufferしまくるプログラムをつくってみた
へたれな音チップをもってる人はぜひともためしてみてほしい
ちなみに不具合報告がきたプログラムではLOC関係のフラグは何も指定してなかった
なので、何もチェックしてない状態で数個しかバッファがつくれない人が、
SOFTWAREとかDEFERをチェックすると何個もバッファがつくれるようになった!
という事態が起これば万々歳。
効果音の管理について俺はこうしてるとかいう話も誰かあったらお願いします。
バッファをいくらでも作れるとなると、最初にステージにでてくる全部の音用に
バッファを先に作っちゃうみたいなのがスタンダードなのかな?
DSBCAPS_LOCSOFTWARE : 256以上まで問題なす。それ以降は測定してません。
DSBCAPS_LOCDEFER : 256以上まで問題なす。それ以降は測定してません。
DSBCAPS_LOCHARDWARE : 32個でfailed
OS : WinXP Pro SP2
Chip : ASUS P4P800-X Onboard SOUNDMAX
OS:W2ksp4
-------------------
Creative SB Extigy(USB外付け音源)
DSCAPS.dwFreeHw3DAllBuffers = 63
DSBCAPS_LOCHARDWARE : 63個でfailed
他は256以上で問題なし
-------------------
Realtek AC97 Audio(Intel(R) 82865G オンボード)
DSCAPS.dwFreeHw3DAllBuffers = 16
DSBCAPS_LOCHARDWARE : 16個でfailed
他は256以上で問題なし
-------------------
162 :
161:2006/01/25(水) 11:02:09 ID:LjkjN1ec
※「他」は指定無しも含む
漏れの持ってる本によると特別な事情がない限り
DSBCAPS_LOCDEFER指定すればいいと書いてあるお
HARDWAREで初っぱなから失敗。
どうやらDirectX診断ツールなどでアクセラレータレベルを、
基本以下にしていたらHARDWAREは必ず失敗する模様。
HARDWARE以外は特に問題ない模様。
BBX やエロゲPGスレで DSBCAPS_LOCSOFTWARE でないと
不具合が起きるボードがあるという書き込みがあったので
デフォルトではソフトウェアにしてる。
今時は CPU >>> PCI/ISA なので単純なストリーム再生程度ならソフトウェアでも
十分ではなのかな、と思ったり。ハードウェアアクセラレーションを使用する
場合はそうはいかないでしょうけども。
166 :
165:2006/01/26(木) 07:01:33 ID:1Kh9mvq4
訂正orz
s/ハードウェアアクセラレーション/ハードウェア固有の機能/g
話が変わって申し訳ないんが、DirectX9のDec2005でD3DXFONT周りがかなり変わってるんで、どこかにサンプルないですか?英語のヘルプじゃ使い方がよくわからん。
BeginとかEndとかなくなってるっぽいんだが…
仕様がころころ変わる上に使いにくいので、普通にテクスチャ使って表示した方がいいよ。
169 :
167:2006/01/31(火) 23:14:26 ID:oLECRlbc
>>168 やっぱそうですか…ほんと仕様変わりすぎですわ。
とりあえずデバッグ用なんでGetDCとかでやっときます。
D3DFont回りが速くなったと聞いたんで使ってみたかった…
170 :
名前は開発中のものです。:2006/02/02(木) 20:02:36 ID:ffj/czdZ
Direct3Dのプログラムで作った3Dオブジェクトを
Xファイルとして書き出すにはどうしたらいいのでしょうか?
リファ読んでも本屋で立ち読みしても分かりません。
まず読み込みを自前でやって仕様を確認し、その後出力プログラムを組む。
ファイル構造抑えたらいいんじゃね
ID3DXFile系(旧IDirectXFile系)
2004Summerで変わったらしいけど、何が良くなったんだろう
175 :
170:2006/02/03(金) 01:16:27 ID:ufykKusN
マップエディタか
ID3DXBaseEffect::SetArrayRangeってまだ使いものにならねーのか
もう何ヶ月もゴミメソッドを放置なんて、あいつら本当にテストしてんか??
DirectX8.1で質問があります
ポリゴンを半透明で表示しているのですが、
半透明レートを動的に変える場合はどうすればいいでしょうか?
テクスチャアルファや頂点アルファ以外で半透明レートを制御したいのです
マテリアルかシェーダを利用する。
質問です。
全画面でムービーを描画したいのですが、どうすれば良いでしょうか?
サンプルソース、参考書籍等ありましたらお願いします。
DirectX 9.0 SDK Update (April 2005)
VC++ .NET 2003
Windows 2000 , XP (←2箇所で作業している為)
VMR9
>>182 まてまて、アレだけで分かったんなら
SDKのサンプル眺めてれば分かったんじゃ・・・
ってDirectShow関係のサンプルって相当前のヤツじゃないと入ってないんだっけ?
VMR9のサンプルのためだけに古いSDKをMS英語サイトから落とした気がする。
あんな質問する奴が、ヘルプやサンプルを見てるわけ無いだろw
恐らく入ってないと思われ。
DirectX8のときってフルスクリーン時にムービーの再生って普通には出来なかった気がするけど
その辺りは関係なし?
DirectX9の最初期のサンプルにはDirectShowのサンプルが入っていた。
その後3D関係しか更新されなくなってからはDirect3Dのサンプルしか入ってない気がする。
>>187 同期の問題で少々はまりました。
D3DFrmのWinMain直下のDXUTMainLoopの外で再生しないと、タイミングにより表示されない(?)みたいです。
ムービーをテクスチャにしてモデル描画するとかじゃないなら
素直にムービーだけのシーンを作っちまえばいいかと。
ぷにょっ!!
にょみゅ!
れるめろるめろんっ
うぅりゅぃりゃ!?
結局何が困るって初心者は初心者スレ行っちゃうし
それ以外は鬱スレのほうを好む事だよな
GPUの負荷を知りたいのですが、
何の値を参照すれば良いのでしょう?
プリミティブの数で行こうと思っているのですが。。。
DirectX8しか経験がないんですが、
DirectX9に乗り換えたほうがいいでしょうか?
勝手にしろ
トンクス
7と8or9なら迷うが
8と9なら迷わず9を使うな。
俺だったら。
昔作った7のエンジンと8or9で迷うのは分かるな。
今から7はありえない
DirectX8→9乗り換えにおいて、
特に罠は設置されていないようですね。
今度機会をみてエンジンの9化にトライしてみようと思います。
トンクス>ALL
IDirect3DSurface9にGetDevice()が無いのがちょっと困るのですが。
困るなら9を使わなければいい
PIXとかNVPerfHud使いこなしてる?
Directx8でのフォント表示ですが
DrawTextだと処理重いです、これってどうにかならないのでしょうか?
使用する文字をすべてテクスチャ化しておくとか
画面に描画するとき1フレームだけメッセージをテクスチャバッファに出力し2フレーム目以降は
そのテクスチャから描画するとかそういう方法を使うしかないですか?
散々既出
土曜日の昼下がり、こんな閑散としたスレに書き込んだ1分後に散々既出というレスを貰い
過去ログを見るもDAT落ちしていて読めない世間の風が身にしみる今日この頃です
あるあるw
自分で調べろよ
お前みたいなやつはたくさんいるぞ。
age
DirectX9を使うといいよ
工学社のDirectX8本で、既にフォントの重さ問題が取り上げられていたような気がした。
何がいいたいのかというと、それくらい既出ってこと。
今度から質問するときは情報を小出しにしないようにしてね
既出以前の質問が多いこのスレで
>>210が叩かれるのも酷い話だけどな
221 :
名前は開発中のものです。:2006/03/05(日) 13:41:58 ID:QJ1yWQf0
リアルタイムで文字が変化するような物じゃないなら、
更新の瞬間だけテクスチャに描画してたな・・・。
ひとつの大きな文字列書き込み用テクスチャ作って、
更新のタイミングで、文字列とフォント、サイズ指定でテクスチャの空きエリアに描画、
帰ってきたハンドルを描画関数に渡したら、そのUVに合わせて画面上に描画。
テクスチャが満タンになるのを避けるため、
在る程度のタイミングでテクスチャをクリア。
あと、数字、英語関係はあらかじめ用意したテクスチャで描画。
そういえばCマガは今月出る奴で最後なんだよなあ。
223 :
名前は開発中のものです。:2006/03/05(日) 19:07:28 ID:1Lc3DEWZ
directxをつかって3Dゲームをつくりたいんだけど、
directx初心者が一番最初につくるとしたらどういったジャンルのゲームがいいのかなぁ?
つかdirectx初心者ならどういったゲームを最初につくるのが一般的?
そんなの決まってない。
作りたい物から作れ。
三次元テトリスでいいんじゃね
作りたいモノから作るというのは正解。
ツマランゲームじゃ長続きしないっしょ。
習作としてならなんでもいいわけだし。
あえて言えば音無し&凝った入力無しの
DirectDrawだけで済むテーマが御勧め。
テクスチャーや頂点バッファを保持するタイミングで、
全体のデータの持ち方やアルゴリズムが決まるので、
練習のつもりでやってみると良いと思います。
一方SoudやInputは後付けが楽。
>DirectDrawだけで済むテーマが御勧め。
>テクスチャーや頂点バッファを保持するタイミングで、
言いたい事は分かるが矛盾してるってば
228 :
223:2006/03/05(日) 20:57:08 ID:1Lc3DEWZ
>>225 ジャンルはアクション・レース・シューティングとか動きに爽快感のあるようなゲーム
という方向で考えてる。とりあえず何か作ってみようという考えだけなんで
最悪の場合、どっかのゲームのパクリでも結構なんだけど・・・
そこまで決まってて、他人の助言は却下・・・
いちいち人に聞くようなことか?
230 :
223:2006/03/05(日) 21:17:08 ID:1Lc3DEWZ
>>229 そこまでといってもジャンルしか決まっていないのにゲームがつくれるはずがないだろ。
誰も一から企画を立てろといってるわけじゃないんだよ。
「おれは最初はこんなゲームつくった」程度のことでいいから参考までに聞きたかっただけ。おk?
アドバイスして損した。
>>230 N88BASICでBIG&SMALLだった>おれは最初はこんなゲームつくった
3Dプログラミングとゲームプログラミングを切り分けられてない時点で
アルカノイドかテトリスがお似合い
乱数当て→インベーダー→テトリス→2Dシューティング→3D戦略シミュレーション
最後のやつは途中で止まってるが・・・・。
235 :
223:2006/03/06(月) 01:10:50 ID:2h1PHnyu
>3Dプログラミングとゲームプログラミングを切り分けられてない時点で
悪いがどういう意味か教えてくれ。
directX以前にプログラミングはどの程度できるの?
数学の知識は?
223ごときには○×ゲームで十分だろwww
238 :
223:2006/03/06(月) 01:49:47 ID:2h1PHnyu
>>237 w
>>236 directx自体が今回初で今まではAPIでゲームをつくってた。
つくってたといっても2つだけ。ひとつが2D縦スクロールシューティング、もうひとつが
オフライン型ポトリス風ゲーム。数学は高校の数I数II数III数C程度。
初心者は2D弾幕STGを作り始め、
そのまま弾幕STGを極め、
弾幕STGで終わるのが日本男児です。
>>238 おまえね それを最初に言わないとこの流れになるのは当然だろ どうしたってゲーム自体が初心者に読める
「つくってた」というのは「完成させた」という意味でいいんだよな?
あと煽りはスルーしとけ
241 :
223:2006/03/06(月) 02:23:14 ID:2h1PHnyu
>>240 そんな風に思われてたのかw
>「つくってた」というのは「完成させた」という意味でいいんだよな?
ああ、一応は。
もうすぐ春休みですね
李君、香港に帰っちゃうのかな。
過疎化した隙に質問
2D格ゲー作りたいと思った。
DirectX8.1b+Dev-CPPで色々勉強してみた。
そこで気になったんだが、
DrawPrimitiveよりもUPのが格ゲー向きってことでいいんだろうか。
頂点情報が変化しやすいモノにはUP系を使うんだよね?
あと、アニメーションについて。
テクスチャの座標を切り替えるってのは分かった。
しかし、いざプログラムを組もうとするとこれが出来ない。
サンプルを探しても、一定周期で画像が変わるSTGのサンプルばかりだ。
頂点情報を置く場所が
DrawPrimitiveならVRAM、DrawPrimitiveUPならシステムメモリという事だろう
VRAMに置いた方が早いが、VRAMの容量が少ない場合はシステムメモリに置くしかない
2Dならどちらを使おうが大して差はない
>テクスチャの座標を切り替えるってのは分かった
そこまで分かっててなんで分からないんだよ
テクスチャの縦横が2のべき乗サイズにしなければならないのは分かるよな
アニメーションパターンが一枚の画像に納められているとしたら
x/テクスチャの横幅、y/テクスチャの縦幅でテクスチャ座標を求める
>>245 なるほど。すげえ分かりやすい。
VRAMウンコなんでUP系で行きます
>そこまで分かっててなんで分からないんだよ
なんていうか、アルゴリズムがよく分からないのですよ。
時間を計測してテクスチャの座標指定で絵を切り替えるのは出来るんだけど、
技をどうやって実現するのか、っていうのが分からない。
技毎に関数化して処理するべきなんだろうか
それはDirectX関係ないし。
プログラマの腕の見せ所でしょ。
>>247 確かにそうだ。
いっちょ頑張ってきます
>頂点情報が変化しやすいモノにはUP系を使うんだよね?
勘違いが横行しているが、動的に変更されるものは、
D3DPOOL_DEFAULTとD3DUSAGE_DYNAMICでAGPメモリに置かれるように書くべき。
これだけでメインメモリに対するアクセス速度と、
ハードウエアによる頂点処理の美味しいところどりが可能。
UP系は扱いが楽だと言うだけで、それ以外の使い道は無い。
切り分けは、速度を考えるならD3DPOOL_DEFAULTとD3DUSAGE_DYNAMICで非UP系、
復元作業などが面倒で速度を犠牲にするならUP系。
単なる2Dだと、頂点バッファに入れてトランスフォームで動かすより、
トランスフォーム済みをUPで書き込んだ方が直感的で楽だからな。
2Dスプライトで使う枚数なら問題ないかもしれないけど3D上の煙とかのビルボードを
行列変えながら1枚ずつ描いたりしたらオーバーヘッドが大きすぎる。
ソフトウェアで頂点処理してバッファリングする以外になんか方法あるのか?
C#からDirect3Dやら叩くDirectXのライブラリって、いいのある?
その例の2D格闘の煙くらい、それでもオーバーヘッドなんて取るに足らない
さっさと今できる方法で作り始めろ
まぁ100や200程度のDrawPrimitiveなら大して問題ないな。
パーティクルなんかで数千とか呼び出す場合はバッファリング必須だけど。
255 :
名前は開発中のものです。:2006/03/09(木) 03:44:44 ID:sBPrFRob
DirectMusicで3Dサウンドのためのデフォルトオーディオパスを作った状態で
普通のステレオサウンドは可能ですか?
3Dとステレオって排他じゃなかったっけ?
3Dでなおかつステレオのサウンドバッファは作れない、ていうか物理的にありえない。
ただ3Dのサウンドバッファとステレオのサウンドバッファを併用する事はできる
ハーフライフ2の誰かのつくったマップで部屋においてあるラジオからちゃんと
ステレオで音楽が鳴るというギミックがあった。
やつらが使ってるのはDirectSoundじゃないけど、よくできてるなーと思った。
それはそれとしてBGMをプレイヤーの頭の中でステレオで再生しながら
他の効果音は3Dてのは普通にできるよね?
ただのEAXじゃないの。
260 :
名前は開発中のものです。:2006/03/12(日) 00:30:47 ID:nl1C9jUk
私、DirectXでゲーム製作してるんですけど、
LightWaveでつくったモデルをDirectX export Ver.1.3.2でXファイルにしてみたんです。
でも、Xファイルのほうにはテクスチャの透過処理の情報が伝えられないみたいなんです。
だれか、同じような経験した人居ません?
261 :
名前は開発中のものです。:2006/03/12(日) 23:54:29 ID:IHcM16r8
Xファイルの読み込みをダイアログでファイルを開いて読み込むのを作ったんです。
でも成功しません。ダイアログを開かずに読み込んだら成功します。何かのデバイス
が消失したりするのでしょうか?
>>261 言語は何?
C/C++?
WINAPIでやってるのなら
ダイアログでファイル名を受け取る文字列のポインタがローカルで宣言されてるんじゃないの。
グローバル変数として宣言しないと無理な気がする。
と、エスパー的回答を試してみる。
>>261 俺もエスパー挑戦w
情報少なくてわからんけど、GetOpenFileName使ってるんだったら
デフォルトの設定だとパスが、相対パスから絶対パスに変わるから
OFN_NOCHANGEDIRを指定すれば直るよ。
>>261 んじゃ俺もエスパーやってみよう。
UNICODEが原因。
警告4995が出てるからすぐ確認した方が良い。
環境はVS2003か。。。
プロジェクト->プロパティ->全般の文字セット項目を「Unicode文字セットを使用する」にするんだ。
265 :
名前は開発中のものです。:2006/03/13(月) 02:10:45 ID:FSwsN/nn
Xファイルの拡張子がファイルの指定の時に.Xだとだめで.xだと通った
こんなことで5時間近く悩んでたよ。はっはは
266 :
263:2006/03/13(月) 04:16:30 ID:RnnCIcMf
('A`)
おまえらエスパー能力低いよ
タイマーはどこにあるデすか?
>>269 君の胸の中で死ぬまでの時間をカウントしてるよ。
ここは質問大丈夫ですか?
Directxの各バージョンに対応しているチップセットなりビデオカードは
どう見分ければ良いのでしょうか?
今まであまり気にせず最新のものを入れていたのですが、対応していないPCに
最新のバージョンを入れると不具合があるというのを他スレで見まして…
アンインストールも出来ない様ですし困っております
ビデオカード等の型番だけでは判断出来ず、診断ツールを使わないとわからないのでしょうか?
ご存知の方いらっしゃいましたらご回答宜しくお願いいたします。
自分のアプリがDirectXのいくつを前提にしているか明記しておくだけ。
対応してないDirectXを入れての不具合は、
ドライバを古いのに戻してもらうか、最悪OSを再インストールだが、それはそういうものだ。
自分のアプリが使えなくても諦めてもらう。
金は返す必要はない。
市販ソフトでもそんな対応だ。
だいたい、そんな糞ハードを使ってるのは、普段DirectXが必要なアプリやゲームをやらない人だからな。
良い顧客じゃないんだよ。世間並み以上にかまうことはない。
気になるならDirectDrawで全部やれ
以上
>だいたい、そんな糞ハードを使ってるのは、普段DirectXが必要なアプリやゲームをやらない人だからな。
あるある。ぶっちゃけPCの知識が無い・金かけない人にかまいたくない
276 :
名前は開発中のものです。:2006/03/17(金) 01:47:48 ID:XfX24j9b
Xファイルについて質問です。
頂点フォーマットのFVFはXファイルには入っていないのでしょうか?
その前に何故入れる必用があるのか明確に説明せよ。
278 :
名前は開発中のものです。:2006/03/17(金) 02:27:57 ID:XfX24j9b
Xファイルを複数読み込んでそれをまとめて描画しようと思ったときに
頂点フォーマットが違うと描画がされないからです。
頂点フォーマットは描画時に好きなように切り替えられるから、
フォーマットが違うから描画されないというのはあり得ないし、
フォーマットはファイル中のデータの構成から、
無駄が出ないように最適なものを判断すればいいだけ。
複数のモデルを1つにまとめて1回のDrawPrimitiveで描画ってこと?
いわゆるセグメントバッファリング?
なら大前提として”同じ頂点フォーマットのファイルしか纏められない”
ボーンの有無程度ならウェイトに0入れときゃいいだけだが。
つSetFVF
俺はDirectXのバージョンがサマー2004で止まってるから、変わってたらスマソ。
一応
>>281は
>>278への回答ね。
つかそもそも頂点フォーマットのFVFは、
Xファイルの最初のテンプレート見ればわかるんじゃね?
GetFVFで読めば良いし
283 :
名前は開発中のものです。:2006/03/18(土) 22:53:11 ID:4kSs+7jL
407・409です。
オブジェクト(モデル)に対してグレアとかを使えるようにしたいんですが
複数のオブジェクトに使おうとした時にテクスチャにモデルかいてそのうえから
テクスチャはっつけてみたいなことをしてたらパフォーマンスがグレアを使用する
モデルの数分落ちるんですがそこらへんで何か対策やいい組み方ありませんでしょうか?
そのやりかたのグレアはオブジェクト数に比例して重くなりから
あんまりオブジェクトが出るようなものにはオススメできないなぁ。
レンダリングターゲットのテクスチャをARGB8888にしてアルファ値に
HDR用の輝度突っ込むようにしてポストエフェクトで一括でやる方がいいかも。
285 :
名前は開発中のものです。:2006/03/21(火) 22:29:10 ID:SgGXyrLH
Xファイルに対してアルファ値を1.0~0.0でもてますか?
それとその反映のさせ方なんですがどうすればいいでしょうか?
A.もてます。
A.シェーダーでどうぞ。
287 :
名前は開発中のものです。:2006/03/25(土) 12:46:31 ID:Ci8auZQo
/*
32BitのBITMAPにアルファ仕込んでおくとD3DXCreateTextureFromFileで
読んだときにちゃんとA8R8G8Bとして読んでくれるのね
知らなかったからちょっと得した気分
*/
32BitのBMPも一応仕様上ではアリなんだっけ・・?
どっちにしろ対応してるツールを見たことないけど。
>288
>32BitのBMPも一応仕様上ではアリなんだっけ・・?
当然定義されてる。
ただ、VC4のヘルプだったかもしれんが、32bitのBI_RGBなBITMAPの
最上位8bitはゼロじゃなきゃいけないような事が書いてあった記憶が…(あやふや)
そもそもBITMAPINFOHEADER構造体にアルファ情報定義するメンバなんて
無いんだけどな。
>どっちにしろ対応してるツールを見たことないけど。
グラフィック・ペイントツールでは見たこと無いけど、DirectX SDK付属の
DxTex.exeは対応してる。んで何故かアルファ情報も読んでくれる。
普通の32BitBitmapを読めばX8R8G8B8として扱うけど、アルファ情報を入れて
おくと何故か自動的にA8R8G8B8として扱ってくれるのよね。
290 :
名前は開発中のものです。:2006/03/27(月) 21:15:45 ID:9C+qhWww
マップを2*2*2の大きさのXファイルや作った正方形を並べて作っています。
シュミレーションRPGみたいにキャラ選択して移動範囲を半透明とかで表示
させたいのですが正方形の場所はその上にテクスチャを貼り付けるだけでい
いですが正方形じゃない場合にその場所のXファイルに合わせてテクスチャを
張りたいのですがどんな方法がありますでしょうか?どなたか教えて頂ければ
幸いです。
./: . : . : . : . : . : . : . :ヽ、
/: . : . : . : . : . : . : .,>‐'.、 ヽ
__/: . : . : . : . : . : . : .7.: . : .}: . ゙,
/: ィハヘノレ^l: . ト 、/ . : . ハ: . : .',
//l. lハ イ ./: . : /.: : . : . | お願い!もうやめて・・!
: /ヘ ' ,リ .li : . /., -、 . : l
>>290は悪くないの!全部私が悪いの!
゙,\__ '' .l! : .バ.〈;: } . ,'
. iー、' `ー=-'l!: .| ノ./: /
l:: , ゙ ̄`ぅ。: .| / ̄`ヽ、
ヽ、、__ - 、:::;;l.:.l l ヽ、
`7ー-, イ`l:ハ:ヾ、._ , f:. `、
>>290 ただの半透明なら、シャドウボリュームでいいわね。
ユーザ環境にステンシルバッファを要求するけど。
模様とかを投影するのは難しいかしらね。
293 :
名前は開発中のものです。:2006/03/29(水) 01:44:32 ID:ugVUYxjd
2Dゲームを作っているのですが、
640×480の画面に32×32の画像をしきつめようとすると、
右端と下端がきれいにそろわず、ちょっとはみだしたりしまいます。
これって例えば何が原因で起こるのでしょうか。
もし、
×:0〜32,32〜64,64〜…〜416,416〜480
○:0〜31,32〜63,64〜…〜415,416〜479
だとしたら、DirectX以前の問題。
それかあれだ、
>>293の作るウィンドウが640X480では無いとかいうオチもあれり。
AdjustWindowRectExでサイズ測って作ってないとか・・・
クライアント領域が640X480で無いかもってことな。
296 :
名前は開発中のものです。:2006/03/29(水) 06:40:59 ID:Yhbgqq/F
DirectMusicに関してなんですが、waveファイルを再生したいんですが、
SetLengthしてSetRepeats(DMUS_SEG_REPEAT_INFINITE)にして
SetLoopPointsでループ開始点と終了点を設定して特定範囲のみループ演奏させたいんですが、
思いっきり全曲長最初から最後まで再生しやがります。
一応エラーは返ってきて無いですし、どうなってるんでしょう?
DirectSound使った方が楽じゃね?
298 :
293:2006/03/29(水) 21:49:14 ID:ugVUYxjd
300 :
名前は開発中のものです。:2006/04/08(土) 21:15:17 ID:Hm+cVeke
すみません、助言をいただきたいのですが
Xファイルで読み込んだオブジェクトを半透明にしたいのですが何か良い方法は在りませんか?
α値を適切に設定する。
どこにあるんでしょうか?マテリアルとかライトのDiffuseをいじったりしても無駄ですか?
ライトは違うけど、マテリアルは合ってる。
色々いじってみ
304 :
名前は開発中のものです。:2006/04/08(土) 22:28:35 ID:Hm+cVeke
了解しました。ありがとうございます。
初心者スレのほうがはるかに盛り上がってる上に
全然初心者向けの話じゃなくなってるな。
フルスクリーンでゲームを製作しているのですが、WindowsキーやALT+TABで切替えると
画面が真っ黒になってしまいます。
DirectX Programmers page のサンプルを元に製作しているのですが、何か良い方法はないでしょうか?
>DirectX Programmers page
が、なんだか知らないし興味も無いが、
フルスクリーン時にALT+TAB
頂点バッファ&テクスチャーを開放
ALT+TABでフルスクリーンに復帰
頂点バッファ&テクスチャーを再取得
で、同じ症状が治った。
DirectX Programmers page みたいな
独自ライブラリを使ったサンプルで学習するのはやめとけ。
とりあえずテクスチャもVBもManagedで作っておけばだいたい問題ない。
>>310 ブラウザの文字サイズを最大にして見てたら、えらいことになってた
312 :
310:2006/04/16(日) 00:27:51 ID:CoH/GF3w
ほんとだw
気が向いたと気にでも直しますw
>>312 CSSで文字サイズ固定にしとけばいいやん
そんなアクセシビリティ皆無のページやだ
絶対座標で位置指定するなよw
316 :
310:2006/04/17(月) 15:53:24 ID:DNsC8JT0
つい作ってしまった。
後悔はしていない
市販ゲームでDirectMusic使ってるのはありますか?
319 :
マウスカーソル:2006/04/21(金) 04:26:13 ID:gSFpx9vQ
マウスカーソルについて質問です。
3Dゲームなどでマウスカーソルはどうやって表示されているかがわかりません。
SetCursor()の呼び出しを調べたところ、SetCursor(0)で呼ばれていました。
つまり、カーソルを非表示にしてカーソル位置に自前で描画していると推測
したのですが、PrintScreenでキャプチャした画像にはカーソルが写って
ないのです。
これはいったいどういうことなのでしょうか?
ご教授いただけないでしょうか。よろしくおねがいします。
SetCursorProperties
319じゃないが、今まで自前で描いてたわ…
まあ、サイズが 32*32 以上のは基本的に自前じゃないと。
323 :
マウスカーソル:2006/04/21(金) 12:50:48 ID:gSFpx9vQ
SetCursorPropertiesだったのですねえ〜
実はマウスカーソルの変化を検知して動作するソフトを作りたかったのですが、
SetCursorPropertiesでやってるのならばどうしようもないですね。。
大変ありがとうございました
>>310 もっとヒロインの女の子の胸が大きいほうがよかった!
胸なんてポリゴンの塊なのに
>>310 >自機のレベルが上がると敵の攻撃も激しくなります
自分のレベル上げないほうがいいじゃん・・・
327 :
310:2006/04/22(土) 10:23:29 ID:7PPsmiKt
>>324 大きすぎず小さすぎずがいいんですyo!
>>326 よほど極端に上げなければ、大して気にならないです。(たぶん)
Lvを上げる人=上級者(稼ぎ重視) だと思っているので腕にあった難易度になるよう調整しています
頑張ると難易度上がるってのは上達する気がそがれるからあんまり好きじゃないな。
同じ意味でも下手だと難易度が下がる方がいいw
329 :
310:2006/04/23(日) 02:39:30 ID:+RD9C6o0
頑張れば頑張るほど点数に反映されるので、それが上達の目安になると思います。
難易度が上がっても、それを超えていけば点数に現れますしね
自機だけ強くなると、単純に簡単なゲームになってしまいますし・・・
難易度減少もちゃんとあります
(自機は強く難易度は下がるって言うのはないですが)
ここはDirectXのスレです
スルーすれば良かったんだけどね。。。
332 :
310:2006/04/23(日) 13:29:25 ID:+RD9C6o0
333 :
名前は開発中のものです。:2006/04/25(火) 22:02:07 ID:musFLRxm
バッファが3つないとこんな処理はできないってのを教えて下さい。
ハノイの塔
バッファを3つ使うような処理。
画面にフィードバックブラーをかけたいが、インジケータ類は普通に表示したい場合とか。
337 :
名前は開発中のものです。:2006/04/25(火) 22:20:09 ID:/LlPyGwl
(゚ Д゚ ) ハァ?
DirectX9でゲームを作ってみようと思ったのですが、SDKのドーナッツゲームはソース
が複雑すぎて良くわかりません。
なので、本屋でサンプルゲームが載っている解説本を探してみたのですが、
グラフィックやサウンド、それぞれ別のプログラムで解説しているものしか見当たりませんでした。
ゲームになっている比較的簡単なサンプルプログラムを掲載しているHPや書籍とかって
どこか無いでしょうか?
全体のサンプルとグラフィックとサウンド別々に解説してるサンプルがあるのにわからないって
そんなんでゲーム作れるの?
素直に既存のライブラリを使いなさい。
DirectXを0から始めるのは仕事でやる時か勉学の時だけにしとけ。
ゲームを作るのが目的でDirectXを0からやるのは時間がもったいない。
既存のライブラリを使っていると、なんだこの糞ライブラリと思えるときがくる。
そうして君は大人の階段を登ってゆく。
ゲームを作るよりライブラリを作るのが楽しい日々の中、
いつの日か振り向く日が来る。
和製だとEasyLinkLibraryとかDXライブラリあたりかねぇ
やねSDK
やねSDKというのは、HPが怖いので止めました
>>346 危機を回避するその直感、これからも大切にネ。
あぁ、ちなみに3Dやるなら上に出てるライブラリじゃ厳しいかもね。
349 :
名前は開発中のものです。:2006/04/27(木) 23:49:05 ID:2DPRcGHT
2Dポリゴンとかを表示させようとおもっています。
Shaderを使うほうがいいかどうか悩んでいます。
今までShaderを使わない方法でやってたのですが2DをShaderでやることでの
利点はどういう部分にありますでしょうか?
つまり、なんとなくShaderを使うとカッコよさそうだったり、スゴイことができそうな気がするものの、
自分がなにをやりたいのか分かっていないということですね。
351 :
名前は開発中のものです。:2006/04/28(金) 01:17:14 ID:ZbrclnAL
というより2DだけでいうとShader使うほどの効果があるのかというところが疑問です。
>>351 Shader(?)で何ができるかわかってるなら自ずと答えが出るだろ。
何のShaderだか知らんが、できることが必要だと思うなら使えば?
なんで人に聞くのかまるでわからん。
2D/3D問わずにシェーダーが使えるライブラリってフリーであったっけ?
D3DXライブラリ
それライブラリだけどライブラリ違だろw
Irrlicht
どさくさに紛れて・・・・。
FPS作るのにとってもいいライブラリありますか。海外のも含めて。
フリーのゲームエンジンならいろいろある。そういうのはFPSもTPSもどちらも作れる。
「FPSの」にこだわるのが分からん。簡単にパクって自分のFPSが作れるような
汎用のFPSライブラリなんて存在しないだろう。
359 :
名前は開発中のものです。:2006/05/01(月) 03:11:01 ID:jtX1/TQj
Shaderで2Dのものを表示しようとしたら表示したい数だけCreateVertexBufferをしないといけないのでしょうか?
あと2Dの幅とかを変えたい時はLockを使わないといけないの?
教えてクンは氏ね
>>358 >簡単にパクって自分のFPSが作れるような
>汎用のFPSライブラリなんて存在しないだろう。
至言
それって、MODじゃ・・
ogre使ってみようぜ?
364 :
名前は開発中のものです。:2006/05/01(月) 22:28:49 ID:7k2Kx15Y
オクレ兄さん・・・・
365 :
357:2006/05/02(火) 13:18:40 ID:cZ45wW5S
「ちょっと」なのに、一日も返事がないのは過疎だからか・・・・
「見てきました。〜ですねー」とか言われたらもっとウザいってば
368 :
357:2006/05/03(水) 03:19:09 ID:1BLDX0gu
見てきました〜。
Ogreってオーガって読むんですねー。
オウガバトルのサイトでオウガ史のしちゃいましたよー。
つか、普通にいじくって勉強してました。
インストーラもあるし、Blenderのスクリプトもあるし、チュートリアルも充実してるし申し分ないですよ。
英語あんま解らない俺でもフィーリングでいけます。
世界は広いですねー。
うむ
370 :
名前は開発中のものです。:2006/05/04(木) 15:49:42 ID:/i6pJ31q
ウィンドウモードからフルスクリーンの切り替えをしようと思っているんですが
うまくいきません。
ShowWindow( hwnd, in_snCmdShow );
UpdateWindow( hwnd );
この命令を通す前だとResetがエラーを通さずいくんですが
2つの命令を通った後だとうまくいきません。
ウィンドウの何が原因でうまくいかないのでしょうか?
エラーの内容や、そのエラーについて検証したことを一切書かない理由を、
明確かつ簡潔に答えよ。
372 :
名前は開発中のものです。:2006/05/04(木) 16:12:36 ID:/i6pJ31q
すいませんでした。
もっと細かく見てみましたところバッファを3つ持ってるんですが
バックバッファの取得をしたあとにResetをしたらINVALID_ERRORが返ってきます。
起動時にウィンドウ・フルスクリーン固定ならどちらも成功するのでD3DPPにはちゃんと値は入っていること
は確認しています。
IDirect3DDevice9::Resetの返すエラーにINVALID_ERRORは存在しない。
374 :
名前は開発中のものです。:2006/05/04(木) 16:38:12 ID:/i6pJ31q
D3DERR_INVALIDCALLでした
DXの前にデバッグの方法勉強したら?
この問題を自力で解決すれば終わる頃には
DXの初期化もデバッグの方法も身に付いてる。
全部自分でやればALLOKだな。
>372
よく分からんが、Reset()する前に、貰ったものをちゃんと解放してないんじゃないの?
378 :
名前は開発中のものです。:2006/05/04(木) 21:21:01 ID:Ry0ekd8+
377ありがとうございました。
解放できるものを全部解放したらエラーなくなりました。
しかしもうひとつ問題がでてきました。
作った深度バッファを使ってるんですが切り替え時に作り直さないといけないんですか?
379 :
名前は開発中のものです。:2006/05/04(木) 23:07:08 ID:Ry0ekd8+
またまた解決しました。
しかし今度はフルスクリーンからウィンドウに切り替えた時に最小化ボタンなど
がない状態でウィンドウができてしまいます。
SetWindowLongで初期化時のウィンドウモードで動くスタイル(WS_OVERLAPPED | WS_SYSMENU | WS_MINIMIZEBOX | WS_VISIBLE)
を渡した後、ウィンドウサイズの再計算をしていますがなくなったまんまです。
>379
::SetWindowPos(hwnd,HWND_NOTOPMOST,0,0,0,0,
SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOREDRAW | SWP_NOSIZE | SWP_DRAWFRAME);
381 :
名前は開発中のものです。:2006/05/05(金) 00:46:46 ID:cniV6pma
解決しませんね〜。
上げっぱなしでそんな口の聞き方じゃすぐに誰も答えてくれなくなるぞ
干されて学ぶマナーもあるさ。
>>381 親切なオレ様が答えてやろう。
と思ったが、MSDNライブラリのSetWindowLong()の部分に
回答そのものが書いてあるじゃねぇか。
おまえ、分かってて聞いてるだろ。
バカにしてるのか?
失礼しました。皆様の馬鹿さ加減を試そうとしていた私が馬鹿でした。
386 :
名前は開発中のものです。:2006/05/05(金) 16:56:55 ID:09BMMNGg
すいません、MSDNライブラリ読んでおりますがいまだにわかりません。
SetWindowPosも呼び出しているし値もSWP_FRAMECHANGEDも設定していますし、
もうかれこれ5時間ぐらい迷ってる
たった5時間・・・
一ヶ月ぐらいであきらめろ
389 :
名前は開発中のものです。:2006/05/07(日) 12:59:05 ID:a20ZuMhc
皆さんありがとうございました。
度々の失礼な発言にも関わらずアドバイス頂いて本当にありがとうございます。
解決しました。皆様のおかげで聞く側の姿勢みたいなものを学ばさせて頂きました。
そんな態度すんじゃねえよ
ここの奴らがいよいよ冗長する
傲慢振りが目に余るんだ。だから過疎なんだよ
「資格のある人間には必要が無い」ってマーフィーの法則にあったっけ?
冗長って増長の間違い?日本人?
目に余るなら無視すればいいんじゃね?
過疎で誰か困るの?ひろゆき?
>>392 俺はとりあえず困るな
君は困らないのか?
なら君が無視してくれないか?
>>393 しかし、過疎の要因になるのは392より390のようなカスなのも事実なんだがな
この殺伐具合が味なのかとオモッテマシタ
とりあえず(・∀・)オモスレーぐらい狭量なのは判る
なんで常駐メンツがこんななんだろうか
アフォが来過ぎたのか?
2chは本来こういう殺伐煽り愛プレイが基本。
や、それは判ってるんだけど鬱スレと初心者スレはそれなりーなのになと
嫌いじゃないんだけど、このスレだけ出る情報が少ねーもんで
>>397 鬱は5月になって未だに書き込みがないがな
>>398 だって春先は鬱の発生時期ですから、2chする精神的余裕なんてありません
400 :
名前は開発中のものです。:2006/05/11(木) 02:10:52 ID:LdL/laCf
うむ
納得するのかよw
404 :
名前は開発中のものです。:2006/05/14(日) 15:03:57 ID:0P444cyo
typedef struct {
floatx,y,z;
D3DCOLORcolor;
} V3D;
#define V3D_FVF D3DFVF_XYZ | D3DFVF_DIFFUSE
lpD3DDevice->SetTexture(0, NULL);
lpD3DDevice->SetFVF( V3D_FVF );
lpD3DDevice->SetTransform( D3DTS_WORLD, &IdentityMat );
V3D Data[2];
// 適当に値を設定
lpD3DDevice->DrawPrimitiveUP( D3DPT_LINELIST, 1, Data, sizeof(V3D) );
これで線を引きたいのですが色がうまいこと反映されません。
このこーどではエラーはないと思うのですがどうでしょう?
407 :
名前は開発中のものです。:2006/05/14(日) 15:23:48 ID:0P444cyo
はい、ライトはきってます。
408 :
名前は開発中のものです。:2006/05/14(日) 15:39:36 ID:0P444cyo
失礼いたしました。ライトの設定をきる命令を間違ってましたライトきったら色がでました。
そこでひとつ質問なんですが普段ライトを使って描画していてデバッグ用に線を出したいのですが
ライトの設定をいれたかつ線を出す方法ありますか?
??
そのときに応じてON・OFFすればいいだろ
1モデル、1ライン引く毎に、render state変えるなんて当たり前な感じよ
もちろん変更は少ない方が良いというのが前提で
>>408 ライトの方向に対して逆ベクトルの法線入れれば良いんじゃね?
サンプルのSkinnedMeshを参考にスキンアニメーションさせているのですが、
解放した後にメモリリークが起きています。
リークしたアドレスを見るとボーンの名前が入っています。
その名前自体は領域はそこまでリークしていないのですが他のものが結構大きかったりします。
リークしているアドレスの感覚から恐らく構造体だと思います。
ボーンの生成時にAllocateNameで名前の領域を確保しているのでそこだと思ったのですが、全部解放していました。
そこで名前の生成をしないで、NULLを入れてみたらリークが起きませんでした。
ですが、アニメーションコントローラー(?)の中やメッシュコンテナの中で使われていてNULLだとアニメーションができません。
解放のところのプログラムはサンプルと同じにしてあります。
どなたかこのメモリリークに心当たりありませんでしょうか?
お、俺は心当たりないよ?
414 :
412:2006/05/18(木) 01:09:43 ID:+AeRqX73
なんとなく今、D3DXLoadMeshHierarchyFromXでアニメーションコントローラーを渡さないで生成しなかったら
メモリリークしませんでした。原因はアニメーションコントローラーみたいですorz
415 :
412:2006/05/18(木) 01:13:07 ID:+AeRqX73
>>413 あうあうあー
もしよろしければ聞きたいのですが、
アニメーションコントローラーをD3DXLoadMeshHierarchyFromXに渡す前に何か設定などあるのでしょうか?
D3DXCreateAnimationController等設定した方がいいのかな・・・サンプルが特に設定なかったのでいいと思ったのですが。
416 :
412:2006/05/18(木) 01:47:15 ID:+AeRqX73
すみません、1週間ぐらい原因が解らなかったのですが、
なんかここにきて確信にかなり近づいて原因が解りました・・・。
アニメーションセットの取得をしているのが原因でした。
GetAnimationSetで取得していて、てっきりポインタ渡しのみが行われていると思ってました。
生成されるんですねorz
取得した分解放したらメモリリークしませんでした。すみませんでした。
そういや自問自答で紙に書いて、バグを見つけるデバッグ方が昔はあったな
とある心療内科では、熊のぬいぐるみがカウンセラーになっているんだそうだ。
初診の患者さんはまず熊さんに真剣に相談させる。
すると、何割かは熊さんに相談するうちに、解決してしまうという。
そんな話を思い出した。
机の上にデバッガーの熊さんを用意すればいいんじゃなかろうか?
>>417 俺よくそれするよ。
疑問点がうかんだら、まず、2chに書き込む。
それから、googleに聞くw
解決したら、もちろん解決法を書き込む。
2chが一種のデータベースとしても機能するようにもなる。
まあ、スレ主にはいい迷惑かもしれんが、燃料投下の意味もある。
・寝る
・一から作り直す
・同じ動作をする別の人の作ったソースに変える
・ヤバい場所をtry-catchでくくり、エラーが出ても見なかったことにして続行
>>418 あるあるww
どっかの大学のコンピュータルームという話できいた。
まず、質問する前に、熊ののぬいぐるみに話してみるんだと。
俺もちょっと熊さんのぬいぐるみ買ってくる。
俺も行ってくる。
426 :
名前は開発中のものです。:2006/05/18(木) 21:45:42 ID:wd3tamDz
皆でPCでDirectX使ってゲーム出してる会社でも使えそうなぐらい完成度の高いシステム作りませんか?
どっか上げる場所決めて自分がここ作るよって時はここに書き込んでから作って書き込みを見た人はそこ
を作らなくていいのでほかの場所作ったりとかして、皆でその出来上がっていくソースのチェックもして
エラーチェックとかここはもっと早くなりそうとかいろいろ議論して作りませんか?
書き込み1000までに完成させるのを目標に。
まずおまいがやれ。
皆が乗るなら自然と付いて来る。
他力本願なら(・∀・)カエレ!!
皆で作りませんか?=俺はできんけどおまえらがんがれ。
>>426 まずちゃんとしたゲームを作ってみると良い。
>皆でPCでDirectX使ってゲーム出してる会社でも使えそうなぐらい完成度の高いシステム作りませんか?
どう考えてもDirectX以外の部分の方が占める割合が多くなるわけだが…
>>426 一応Lunaの作者はSubversionでライブラリのリポジトリ公開してるな。
しませんか?->しましょう。
にかえると少しは印象良くなる。
まずは言い出しっぺが率先してものを出さないと、その時点で終わる。
そして
>>426の書き込みを見るとただの無能なのは明らか。
リアルの世界でもただの役立たずで、口先だけしか手段がないのに、口先すらまともに動かせない。
だからものが出せるわけもなく、つまり既に終わることは確定している。
いい加減426がカワイソス
俺だったら自殺してるね
心がピュアなのは分かるんだが、辛さが分かって1番に消えていなくなります。
大して辛くない方は世話してやれ。
437 :
名前は開発中のものです。:2006/05/19(金) 23:24:51 ID:q/URv+sX
どうも426です。
言いだしっぺが率先して出さないとその時点で終わるってのはその通りですね。
まぁそのつもりで書いたんですが伝わらなかったみたいですね。
さっそくいろいろ作ったんですがソースをアップできる場所ありませんか?
ゲーム製作技術@2ch掲示板>避難所>公式アプロダ
ライセンスを明記してくれよ
GPLだったら誰も使わんw
最低でも、MPL、BSDキボン。
NYSLとかプブリックドメインならベスト。
コソーリGPLのソースを埋め込んでおく。
後からソースいっぱい見れて(゚д゚)ウマー?
それなんてプロジェクト荒らし
釣りだろ
445 :
名前は開発中のものです。:2006/05/26(金) 03:58:35 ID:RSd9MgwG
空ってどうやって表現すればいいの?
巨大な円柱の内側にテクスチャ張ってみたけど大きく引き伸ばされる
からか、ぼけまくって鮮明な空にならない
画質と叙情性では一枚絵に勝るものはないよ。
ちゃんと絵を勉強した絵師に空を描いてもらう。
マジレスすると、どの程度の空を求めているのか聞きたい。
既存の3Dゲームの空で、これくらいのをやりたいってのを挙げてみて。
あとはskyboxでgoogleイメージ検索
ゼルダの伝説風のタクト
ただ今
>>446はGCの買出しに奔走しております。今しばらくお待ちください。
任天堂で動画は見つけたけど、
真上のほうがよく判らないので何とも言えんな。
地平線近くは円筒に貼り付けたテクスチャーで、
近くの雲はアルファブレンディングで出来そうなもんだが。
451 :
449:2006/05/27(土) 01:15:17 ID:+s2Wg2Ip
ああちなみに俺は446じゃないよw
間違えた。445じゃないんだ。
454 :
名前は開発中のものです。:2006/05/27(土) 20:05:40 ID:JphwvndF
Visual C# 2005 .NET + Managed DirectXは良くないのでしょうか?
MDXの実装にバグが多いという話を聞くのですが、
Vistaも出てくるし、.NET Frameworkに移行しないと先がないですよね?
Visual C# 2005.NET + Managed DirectXと、
Visual C++ + DirectX + Win32 APIの
どちらを学ぶべきでしょうか?
3Dの派手なゲームなど目標にしてないのですが、
640x480の画面にスプライト数百枚は表示したいと思ってます。
最近skyboxについての質問がちょくちょくこの板にあるけど同一人物?
どのような空にするかによってskyboxの扱いは変わってくるので、
最終的には自分でskyboxの形状とテクスチャーを何度も何度も微調整して、
不自然さが許容できる範囲になるまで頑張るしかないと思うんだけどね。
インスタントに現実を模倣する方法無いよ。
>>454 マネージドじゃないものも引き継がれるでしょ。
AMD64が次世代主流と決まった今では、.NETはうまみがないから
Microsoftもアンマネージドメインに戻るかもよ?
>>454 そういう理由ならネイティブをお勧めするよ
458 :
名前は開発中のものです。:2006/05/28(日) 03:03:57 ID:Vb28rQ4A
どこに書けばいいのか
判らないのでここに書きます。
XBOX360の開発って、
WindowsXPで出来るんですか?
459 :
名前は開発中のものです。:2006/05/28(日) 03:46:39 ID:Vb28rQ4A
PowerPCのハードを
インテルで出来るわけないか
ギャフン!
( ゚д゚)ポカーン
錬金3級まじかる
>>458 今の家庭用機は全部WindowsXPで開発してる。
>>458 XNA Frameworkが一般にでたらC#&Managed DirectXでPCと同じように
開発できる。
464 :
名前は開発中のものです。:2006/05/28(日) 13:59:41 ID:ttxKadEL
おおっ、
知らなかった。。。
466 :
名前は開発中のものです。:2006/05/28(日) 19:41:32 ID:DC/yNLgZ
製作中のゲーでVRAM上でメモリーリークが起きます。
CreateDevice()直後に、GetAvailableTextureMem()でVRAM容量をチェックして
いるんですが、ゲー立ち上げ毎に、512*1024バイトづつ減っていきます。
トレースする限りでは、すべてのリソースはリリースされています。
DirectX debug outputでも、(INFO):MemFini! とでて、リソースのリークは検出されません。
いくつかのビデオカード(Radeon X1900, Radeon X1600, Radeon9800, Radeon9600)
でテストしましたが、結果は同じです。
何かヒントありましたらお願いします。
467 :
454:2006/05/29(月) 12:46:09 ID:rgf0g5Qd
>>456-457 ネイティブがいいですか。
C#のアンセーフコードを使ってもネイティブにはなりませんよね。
C++を使うしかないのか…。
>>466 そのプログラムCreateDeviceしてすぐに終了処理に移った場合はどうなの?
リソース減るの?
469 :
466:2006/05/30(火) 03:22:37 ID:n2aX87ux
>>468 テクスチャーをロードしなければリソースは減りません。
テクスチャーをリリースしているんですが、何らかの理由でちゃんとできてないようです。
キューブテクスチャーや、ミップマップを使用してますが、フェースやミップレベル毎に
リリースしなきゃいけないとかいうことはないですよね?
470 :
名前は開発中のものです。:2006/06/01(木) 01:34:32 ID:yOcReUx1
例えば、Xbox360の開発
をしたかったら、パソコンは
どの程度の性能が必要なのでしょうか??
自分、日本HPのモニターセットの10万
位の物を狙っているのですが。
やっぱりグラフィックボードは最高性能の物が
必須なのかなぁ。。。
>Xbox360の開発をしたかったら
いや、パソコンの問題じゃないから。
472 :
名前は開発中のものです。:2006/06/01(木) 01:51:47 ID:n8erxXWC
?
ワークステーションですか??
473 :
名前は開発中のものです。:2006/06/01(木) 01:56:27 ID:n8erxXWC
それとも専用の
開発ボードかなにか使うのかな。。
>>470 ちょっと無謀すぎやしないかな…
パソコンでゲーム作るなら「パソコン用ゲーム」から始めるのがいいよ
どうしてもパソコン以外がいいならiアプリとかどうですか?
xbox360ってもうハックされたん?
477 :
名前は開発中のものです。:2006/06/01(木) 02:15:46 ID:n8erxXWC
そうか・・・確かに無謀かも。。。
じゃあ俺はまず今持ってる
非力パソからコツコツやってみるか。。。
同人感覚のバカがいるな
いやxbox360、ゆくゆくは、かなり開発の垣根が低くなるんじゃなかったっけ
結構楽しみなんだが
480 :
名前は開発中のものです。:2006/06/01(木) 14:15:44 ID:pOZQY72o
すまん、正直開発する気はないです。だってC#とか物理数理計算で提供を受けずに
アメリカのマイクロソフトにかなう分けないもん。。。
自分は、32歳で昔のセガとか完全な日本のアングラゲーム世代。
昔から技術を上から提供したのは、いつもアメリカだった。
でも、それに遊び心を与えたのは間違いなく最初は草の根の日本の技術者。
日本のゲームはプレステが出て終わったこれはゲームが一般化されてしまったからだ。
でもビル・ゲイツは今度は本気で日本受けするゲームを世界で作ろうとしているようだ。
Xbox360を買い、Dead or Alive4のこころの舞をみてぶっとんだ!!
それを作った人間に武者ぶるいした。子供の頃はいつか鈴木裕を越えるゲーム製作者に
なるのが俺の現実的な夢だった。(そういう人多いのでは・・・)
ネットも世界化され日本人も、本物だけが世界の舞台で活躍するのがイチローを初めとした
いまの世界の流れ。日本人はもうメローにはもどれない。アメリカと
(Easy?)Englishで面等向かって
さしでやりあうのがあたりまえ。
日本もアメリカも良い部分譲り合って分かり合えたら、
これからのゲーム世界は、いままで俺も創造できないような素晴らしい世界になるんだろう。
本当の物を知っている人は、みな謙虚。ゲームもそう。
俺を育てたのは20年前にシャープが出したX68000EXPERT。
行くところまでいった人の尊厳は解るけど、そんなあごりを捨て、相撲のように裸で
目の肥えたゲーマーとガチンコ勝負したら巨大市場を手に入れたプレステ、PS3なんか
目もくれない成功が待っているだろう。俺はビル・ゲイツの本気に乗った。
長文スマン。
そんな事を俺はXbox360のコントローラーを握りながらワクワクテカテカしてるのだ。。
電波がビリビリ来てますね
482 :
名前は開発中のものです。:2006/06/01(木) 14:53:02 ID:GP+cRwBQ
>>480 あえてツッコミ入れておくとDOA4は駄作だぞ。
あんなものは技術も何もないMCで記録したモーションを
ただ再生してるだけ。
しかもモデリングもレンダラーも大して進化してないときたもんだ。
483 :
名前は開発中のものです。:2006/06/01(木) 14:54:53 ID:pOZQY72o
でも日本受けしたし。。
>>480、
>>482 wanabeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!!!!
485 :
名前は開発中のものです。:2006/06/01(木) 15:10:26 ID:pOZQY72o
いやDoA4は見せ方がウマイ。
技術は二の次。映像でもそう
これけっこう大事。。
480:「働いたら負けかなと思っている」
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| 技術も何もないMCで記録したモーションをただ再生s
ヽ ._____________________
| ./ r;ァ'N;:::::::::::::,ィ/ >::::::::::ヽ
| /. 〃 ヽル1'´ ∠:::::::::::::::::i
| ./ i′ ___, - ,. = -一  ̄l:::::::::::::::l
|/ ! , -==、´r' l::::::/,ニ.ヽ
l _,, -‐''二ゝ l::::l f゙ヽ |、 ここはお前の日記帳じゃねえんだ
レー-- 、ヽヾニ-ァ,ニ;=、_ !:::l ) } ト
ヾ¨'7"ry、` ー゙='ニ,,,` }::ヽ(ノ チラシの裏にでも書いてろ
:ーゝヽ、 !´ " ̄ 'l,;;;;,,,.、 ,i:::::::ミ
::::::::::::::::ヽ.-‐ ト、 r'_{ __)`ニゝ、 ,,iリ::::::::ミ
::::::::::::::::::::Vi/l:::V'´;ッ`ニ´ー-ッ-,、:::::`"::::::::::::::;゙ , な!
:::::::::::::::::::::::::N. ゙、::::ヾ,.`二ニ´∠,,.i::::::::::::::::::::///
:::::::::::::::::::::::::::::l ヽ;:::::::::::::::::::::::::::::::::::::::::::/ /
>>482::::::::::::::::::! :|.\;::::::::::::::::::::::::::::::/ /
>>470以降、チラ裏でない書き込みがどこにあるんだ
チラ裏って書いておけば万能な突っ込みが可能と安易に頼るな、な?
気持ち悪いことばっか書き込んでないで
黙々とプログラムを組みましょう
DirectXよりProjectXが似合いそうな32歳だな
EXPERTごときで喜んでる小僧はスルーでいい。…と、ACEは言った。
>>488 「ここよりチラシの裏」とか書いておいてどうでもいい日記垂れ流す奴が増えてきた
このご時勢でそんな事を言うのかお前は
バーチャファイターが登場した頃が、ゲームのピークだった気がする
バーチャを超える傑作なんてもう現れないんじゃないかな
496 :
名前は開発中のものです。:2006/06/02(金) 03:33:10 ID:xkwKJyqg
497 :
名前は開発中のものです。:2006/06/02(金) 11:22:04 ID:vr706RSu
いやまだ
デイトナUSAがあった。。
SSのデイトナUSAサーキットエディションがまだうちに残ってるなぁ。
SSE2使えないからSSFが動かなくて残念。
499 :
コピペ:2006/06/02(金) 18:14:10 ID:0vjCkAYb
500 :
名前は開発中のものです。:2006/06/02(金) 18:45:25 ID:MQ3qxD+g
なんかえらい長文書いちゃったナァ
いまごろ反省。。。
501 :
名前は開発中のものです。:2006/06/03(土) 01:40:32 ID:SVCOmYgV
ファンタジーゾーンもイイ!(・∀・)/
ファミコンのロムどこでてにはいる?
外国のサイトじゃないと無理?調べたけどよくわからんかったorz
だれかロムください
∧∧
(,,゚Д゚)
>>504 / つつ
〜(__)
>>502 それダウンロードするだけで犯罪なんですけど・・・
ここはいい釣堀ですね
ざいじょう ひでき
510 :
名前は開発中のものです。:2006/06/03(土) 20:33:23 ID:vmQq8ay+
:D
爆釣!爆釣!
DirectXに無関係すぎだろ
DirectXでまともなスレって無いのか?
ここもム板もろくなもんじゃねえし
質問
↓
ドキュメント見た方がいいよ?
↓
そうですね♪
↓
過疎
過疎はともかく技術的なことより昔話的なことにすぐ反応するから
技術に興味ある人は離れて行っちゃうんでしょ。
まともな奴ならここで聞くより自分で調べた方が早い
質問
↓
ドキュメント見た方がいいよ?
↓
逆切れで荒らす
↓
過疎
>>515を解読してみた。
「もともと、このスレに興味を持って訪れてくる人間が少ないのに加えて、
自称古参が頻繁に昔話をするので技術的な話をしたい人が離れていってしまう。」
くだんねー
522 :
名前は開発中のものです。:2006/06/08(木) 18:21:33 ID:EIJbVqiv
うむ
523 :
名前は開発中のものです。:2006/06/08(木) 20:19:18 ID:qclSYuzB
//ワールドトランスフォーム(ローカル座標→ワールド座標への変換)
pDevice->SetTransform( D3DTS_WORLD, &pThing->matWorld )
この一文を詳しく解説して頂けませんか?
D3DTS_WORLDという座標に、pThingの座標を入れて、
matWorldという、新しい座標(D3DTS_WORLDの座標とpThingの座標を合わせたNEW座標)
という意味なんでしょうか?
どなたかご教授下さいm(_ _)m
トランスフォーマーってアニメあったよね
525 :
名前は開発中のものです。:2006/06/08(木) 20:43:53 ID:uLl6KaCb
>>523 ローカル座標→ワールド座標への変換行列に&pThing->matWorldをセット
で、ギャラクシーフォースの次が来ない無いわけだが。
北朝鮮を大量に移住させる法案なんか自民はおろか民主だって
認めるわけないだろ。いくらアメリカの民主はマイノリティの支持が主体とはいえ・・
記事を読むと日本は難民認定が難しいそうだから日本にいたくないと
いって韓国かアメリカあたりへ行くだろうよ。
おま、在日つー日本最大の押しかけ難民をしらんのか
半島人の図々しさは世界一だぞ
3レス自演とはさすがにやる事が違うな
またばれた! やろうども ずらかるぞ
532 :
名前は開発中のものです。:2006/06/10(土) 17:40:14 ID:dd8DyVfB
あかりやした!
>>529 一千万人移民受け入れたら、10人に一人は移民ってことか。
移民なんて職を持つのが大変だろうに、どうやって生活させるんだ。
>>533 所謂3Kの職場は圧倒的に人が足りんらしいです。
違法も含め外国人労働者で成り立ってるといえなくないとか。
確かに現状では流石に1000万人はやりすぎたと思うし、それに板違いだし。
3K?
きつい・汚い・危険
Korea・Korea・Korea
なぜか俺の頭の中ではkのひとつが給料安いだと勘違いしてた
539 :
名前は開発中のものです。:2006/06/12(月) 20:09:19 ID:4TYnLwP0
臭いまんこ、黒いちくび、黄色いせいえき
540 :
名前は開発中のものです。:2006/06/16(金) 19:52:02 ID:UfR8eQW+
ダイレクトセックス!!!
541 :
名前は開発中のものです。:2006/06/16(金) 19:53:56 ID:UfR8eQW+
↑センスあるね。思い出し笑いしそうだ。グッジョブ!!!
今儚い自演を見た
>>UfR8eQW+
544 :
名前は開発中のものです。:2006/06/17(土) 02:17:28 ID:uRUTATch
2Dのテクスチャの表示をしたんですがきれいにでません。
2のべき乗のサイズにしてテクスチャ座標で調整するときれいにでました。
グラボによって2のべき乗じゃないサイズのテクスチャでも読み込み時に
ちゃんと表示されるみたいですが皆さんはどうなさっているのでしょうか?
つ D3DPTEXTURECAPS_NONPOW2CONDITIONAL
546 :
名前は開発中のものです。:2006/06/17(土) 08:51:39 ID:2QwMNSOB
>545
help見たんですが条件付でサポートするみたいなことですがこれは読みこみ時に条件を満たせば
サポートされるのかそれともテクスチャを使う時全てに満たさなければいけないのかどっちでしょうか?
あとこれだとミップマップで縮小フィルタを使えないので結局限られたかんじがするのは
私の勘違いですかね。
で?
548 :
名前は開発中のものです。:2006/06/17(土) 12:11:38 ID:amUgB710
だから結局2のべき乗にテクスチャはなるのかなと。
調べたほうが早い
試してみたほうが早い。
USBパッドの入力取りこぼしが起きてるっぽいんですけど
回避方法はないんでしょうか?
>>550 聞いたことないなー
どこのパッド使ってる?
SEGAの復刻サターンパッドです。
ボタンをずーっと押しっぱなしにしてるのに
稀にボタンが離されたと認識されるフレームが発生します。
俺はSEGAのUSBパッドを2つ仕事場と家で使ってるが、そんなことないなー。
不良品じゃね?
パッドが原因だと特定できればそれで安心できるからいいんですけどね。
確かめる方法考えなくちゃ。
別の製品を買ってくれば?
コントロールパネルでジョイステックの入力が確認できないか?
コントロールパネルを使って試した感じでは
ほんのわずかに力が抜けただけでボタンが離されたことになるときがあったので
パッドが原因のような気がしてきました。
というより何故パッドを最初に疑わなかったのか不思議だ
561 :
名前は開発中のものです。:2006/06/19(月) 01:04:22 ID:wWkdTzkL
>545
いろいろ試してみました。
2のべき乗でないテクスチャをきれいに表示させることはできたのですが
テクスチャの読みこみを行うとフィルターの指定をしなくても2のべき乗
になってしまうのでしょうか?そういう場合には元のテクスチャサイズを
プログラムで調べる方法はありますでしょうか?
元々のイメージをテクスチャにどう展開するかは、自分次第だろ。
何を言っているんだ?
ゆとり教育は底辺層が一番影響受けるらしいからな
564 :
名前は開発中のものです。:2006/06/19(月) 18:59:36 ID:4BoTk5Z+
なんだとてめぇ・・・
勉強できてやる気のある人:授業と自宅で予習復習自習
勉強できてやる気のない人:限られた授業で学習
勉強できずやる気のある人:放課後塾へ
勉強できずやる気のない人:流れるままに
パッドよりプログラムを疑うべきかと思ったんで。
そもそもゆとり教育で子供を責めるのはよくない。
作った大人を責めろ。
568 :
名前は開発中のものです。:2006/06/19(月) 23:25:01 ID:1nbVItJz
子供に合わせて教育制度を作ってるんだから
子供のせいだろう
エスパーの俺がどんな質問でも答えます
>子供に合わせて教育制度を作ってる
ってのが大人の言い分だが、結局は押し付けてるだけ。
スレ違いの議論が白熱するのはみんな当事者だからか
子供にとってはありがた迷惑。
どうせ非難先が回ってくるだけ。
しゃぁらっ!!
574 :
名前は開発中のものです。:2006/06/20(火) 21:11:05 ID:pMzVMxv8
テクスチャの読みこみ時にミップマップを作るかどうかの引数がありますが
作成されたミップマップのテクスチャはsettextureで勝手にしようされるの?
何かを指定してsettextureすると反映されるの?
あのさー、それ実際に描画してみりゃすぐ分かる話だよね。
なんで自分で試してみないのかなー?脳味噌スポンジ君。
576 :
名前は開発中のものです。:2006/06/23(金) 01:27:02 ID:pbp1EO+j
シングルトンパターンを使うとしたらDirectXだとどういったものが当てはまりますか?
意味が解らん。
デザインパターンは手段であって目的じゃないぞ。
学習のために目的にすることだってあるでしょうに。
DirectXライブラリ自作時のためのデザインパターン講座 その8 シングルトンパターン
とか。
あってもそんな事を語る場はない、ってことだな
こんなとき、やねうらお先生ならきっと答えてくれる
若きパダワン・やねうらおは、シスのGL卿に諭され、暗黒面に落ちた
3Dが出来ないうらおでは、今のDirectXについて語れない。
あのライブラリって3Dのこと考えてあるの?
>>583 それこそ何年も前から3D対応だとか何とか言っていたが、
3次のベクトル型クラスすら用意されてない。
2DエロゲSDKだと思えば良いよ
>>576 Sound関係のManagerをシングルとンにするとか?
○。・。○。・。○。・。○。・。○。・。○。・。○。・。○。・。○
このレスをみたあなたは・・・3日から7日に
ラッキーなことが起きるでしょう。片思いの人と両思いになったり
成績や順位が上ったりetc...でもこのレスをコピペして別々のスレに
5個貼り付けてください。貼り付けなかったら今あなたが1番起きてほしくないことが起きてしまうでしょう。
コピペするかしないかはあなた次第...
○。・。○。・。○。・。○。・。○。・。○。・。○。・。○。・。○
588 :
名前は開発中のものです。:2006/06/28(水) 20:57:32 ID:2SZ1IFb/
はじめまして。
私は、今、DirectXを使って3Dに挑戦しているんですが、
3Dのオブジェクトデータを表示するプログラムがわかりません。
すいませんが、ご存知の方、教えてください。
SDKのサンプル。
>>588 Direct3DのSDKに入ってるチュートリアルのサンプルは結構よく出来てると思うけどなぁ
とりあえず一度表示できたら、3Dの基礎(数学とかね)に戻って勉強しなおすのがいいと思うよ
だがSkinnedMeshで一気にわけわかんなくなる罠
スキンメッシュはDirect3Dが一通り扱えるようになってから挑むほうがいいだろ。
593 :
名前は開発中のものです。:2006/06/29(木) 14:00:02 ID:t2Q6tIeD
スキンメッシュってXファイルを使うから
わけが分からないんじゃないかとつくづく思うのだが…
そもそもD3DXの高レベルAPIに頼るから、わけが分からなくなるんだよ。
地道に学習しながら実装していかないかぎり、いつまで経ってもわけが分からないまま。
しかしモデル読み込みから自前で全部やるとXファイル使う以上に( ゚Д゚)マンドクセー。
そもそもXファイルもろくに出せない香具師が自前フォーマットもメッシュ/モーションファイルなんて使えるわけがない。
またD3DX叩きか
正直なところ、モデルの表示なんて文字の表示と同じレベルの
定型処理と思っていいのだろうから、高レベルAPIだけで完結するのは
一向構わないとは思うんだが、その高レベルAPIの設計がズタズタなのは
どうにかならないものかと。
ドキュメントも乏しいし、サンプルも取りあえず動かしてみますた的なもので
使い方のイロハを学べる様な手合いのものじゃないし。
そもそもAPI自体がころころ変わるし。
アニメーションコントローラとか最初扱いに困ったよ。
599 :
名前は開発中のものです。:2006/07/03(月) 04:23:05 ID:Q/xAtXJO
しつもーん。
3DのRPGを作っているとして、ある鎧があって
ドラえもんとケンシロウに同じ鎧を着せるような場合、楽する方法ありますか?
鎧の数が少なければ、各鎧装備中のドラえもんとケンシロウをそれぞれ
必要なだけ別のXファイルとして用意しちゃえばいいってのは考え付きますけど
鎧の数が多くなってくると、全パターンのXファイル作成(3DCG編集)となると
どう考えても挫折しそうなので・・・・
>>599 ありません。だから商用ゲームは作るのに金と時間が掛かるんです。
鎧をスキンメッシュにして、ボーンの位置に対応させて、ビヨヨーンと伸ばす。
当然鎧というよりタイツみたいになって不自然だけど。
止め絵ならそれでも良いが、
アニメが入るとどうしようも無いな。
ケンシロウの体格のドラえもん作れ。
603 :
名前は開発中のものです。:2006/07/03(月) 11:47:38 ID:Qd6uG2jg
スキンメッシュが難しい。
だが、複数のXファイルを読み込んでアニメーションさせることには成功した。
2Dゲームのアニメーション手法と同じである。
ユーザー側としてこの手法に何かデメリットはあるか?
メモリ、ディスク容量を食う。
管理が激しく面倒。
最初はそれでも良いと思う。
あとでスキンメッシュと差し替えることが出来るように
作っておけば、さらにOK。
質問です。
今の3Dゲームのプログラミングというのは、2Dゲームの要領で、ただ3Dモデルを表示させてるだけなのでしょうか。
これだとホントウに擬似3D過ぎて、当たり判定とかがまるっきり抜けてるような。
市販の3D格闘ゲームなどの細かい当たり判定とかはどのように行っているんでしょう・・・
表示とは別に、3Dデータから細かい座標を割り出して衝突計算などをしているのでしょうか。
つバウンディングボックス、スフィア
アタリ用のモデルを作る
>>608 DirectXでは当たり判定はサポートしていない。
つまり当たり判定を実装する時点でDirectXは卒業だ。
卒業オメ。
俺は表示用のポリゴンデータを、自作のクラスで参照して判定している。
まだ開発中なので、負荷が大きかったら別の方法にするかも試練。
DirectXでゲームを作ろうと思っているのですが
おすすめの参考サイトなどありますか?
サイトだけで習得は難しいならおすすめの本など教えていただけると幸いです。
613 :
608:2006/07/05(水) 12:03:49 ID:9fHgYvfm
>>609 2Dシューティングの使う矩形の重なりの3Dばんですね。
これは考えていたのですが名称しらなくて、それでググってみると少し参考になるサイトが見つかったです。
ありがとうございます。
>>610 ローポリとかで作って同時に動かすって事でしょうか。
簡単なゲーム構成だと簡略処理で済ませるのがいいんでしょうけど、
アクション格闘などの、細かい接触判定が必要なものだとそうなるしかないのかな。
>>611 そんな卒業嬉しくないです・・・;;
今はゲームやシミュレータ等に汎用できるエンジンを探しているんですが、
メジャーといえるものが無いですね。不思議なぐらい。
自作出来るのはすごい羨ましいです。
どんな感じなのか見てみたいかも。
>>610だけど、アクションに関わらず、今まで開発に携わったことのある3Dゲームはあたりモデル作ってたよ。
3次元で作る場合もあれば床に線引いたりして作る場合もあり。
当然ローポリ。
DirectDrawの質問があるっす。32bitのDirectDraw サーフェスに24bitのビットマップを表示するにはどうすればいいんでしょうか?まさか1 ピクセルごと24
>>32ビットへ変換をかけてからサーフェスに書き込むの...?
それで何か問題があるのか?
いやもっと効率のいい方法があると信じたい...ないの?
>>619 というか、DirectDrawが勝手にやってくれるから気にしなくていいんじゃね?
別にそんな変換したって現行のCPUやGPUだったらどうって事ねえよ。
ナニ?Drawで1600x1200とかの高解像度ゲームでも作る気?
レスども。変換しないでメモリーコピーすると表示されたビットマップの幅が3/4に縮む。CreateSurfaceで24ビットを指定してるのにどうして32ビットサーフェスを作ってしまうんだ DirectDraw ?
DirectDraw に限らず24ビットの絵を32ビット設定のプログラム上で表示する場合自前のコードで変換するのが普通?
初期化時に変換するって用途ならSurfaceに対しGetDCでデバイスコンテキストを
取得してBitBltで書き込めばいいよ。
>>622 レスども。ダメでした。ビットマップとDCのビット数が違うので以前と同じような問題が起きます。
自分で変換するのが嫌なのに、24bit固定でCreateSurfaceやCreateBitmapって…
世の中には不思議な人も居るんだよ。
626 :
名前は開発中のものです。:2006/07/09(日) 11:45:15 ID:q2AtlDQS
アンチエイリアスとダブルバッファはどちらかしか無理って聞きましたがどうなんでしょう?
DirectXとは直接関係ないが、
紐の端をもって振り回すような動きを動的に作りたいんだが、
こいうのってどういう計算するの?
そりゃ物理計算の話だろ
紐というか鞭かもしれない
ごく直接的にアプローチするなら、
紐をいくつもの接続点にバラして、
接続点の座標を配列でダダ持ちして、
末尾をテキトウに動かして、
その末尾から、接続された点の距離が一定になる様無理矢理補正して、
それは反対側の端っこまで繰り返す、
を毎フレーム繰り返す程度で、それっぽい動きになる。
重力とか欲しければ、各点の補正前に入れるか、
補正後に鉛直との成す角から求めて振り子すれば
さらにそれっぽくなる。
DirectX全然関係ないな。
>>630 根元の定点だけ決めて後は高校物理の「バネの公式」使っちゃうけどな。
振り子じゃないから角度がいらない。F=-kx(xは距離:つまり距離に応じて強い力が働く)
例えば鞭だったとして
↓定点
○―○―○―○―○―○―○―○―○―○―○―○―○―○―○
A B C D・・・
って感じでやってA→B→C→D・・・の順番で計算。
式はF=maを使って運動方程式を使う。
バネなんで
ma = -kx
ってなって加速度がaだから
a = -(k/m)*x
で式たてる(k/m)は定数になるのでテキトーに少数いれとく。
あとは速度は一定時間ごとに加速が足されて、座標は一定時間毎に速度が足される式で近似。
なんで1フレームの座標sの計算は
v += a
s += v
(vは速度、aは加速度)って感じ。ってやったら変になったw
あ、重量入れ忘れたw
まあ、
F = F1 + F2 + F3 + F4 + ・・・
だから、勘弁してよw
LunaLibraryとかを見ると
IDirect3DDevice9の管理、生成を行うクラスを作って
他のクラスからはGetメソッドを使ってデバイスへの参照を返すっていう形になっていますが
関数呼び出しのオーバーヘッド分無駄が多い気がします。
速度重視の場合、デバイスはグローバル変数で宣言し直接参照するほうがいいんでしょうか。
ヒント:インライン展開
>速度重視
いつも思うんだが、ゲームプログラムは最速目指さなきゃならんって信仰は
いったい誰が植えつけてるんだ?
しかもコスト的にどーでもいいところからこそ攻めようとするし。
>>633 関数呼び出しのオーバーヘッドなんて、stdcallでもたかが知れてるぞ。
ループの中でバリバリ呼び出す関数なら別だが、更新フレーム中
ほんの数回しか呼び出さない関数でそんなの気にしても無駄。
それにGetterメソッドなんて
>>634の言うとおり大抵インライン展開されてゼロコスト。
毛髪の心配した方がまだ建設的。
あきらめてユニセフに募金しろ。
>>633 関数呼び出しのオーバーヘッドなんて問題になるわけねーだろw
しねよw
「気がします」とか直感にしても感性腐り過ぎだろw
>>633 試しにGetメソッドとグローバル変数とでどのぐらい差があるか調べてみればいい
>635も>635で大事な話をいくつか聞き逃してそうだけどな
日本ユニセフって、ユニセフと別組織なんだよな。
>>640 多数のビルボードを表示するような重いゲームでは、
それらの描画にかかるGPUの負荷だけでなく、
管理にかかるCPUの負担も大きくなります。
ゲームプログラミングにおける速度信仰はそう一般化して否定できるほど
バカバカしいものではないと思います。
まだSTG作るの?
いい加減他のゲームも作れよw
>>641 多数のビルボードって何十万枚も描画するつもりなのか?
レンダリングのコストに比べればはっきり言って馬鹿にして無視できるコストにしかならない。
マジレスするとGet()メソッドなんかよりDrawPrimitive()のコールの方が圧倒的に重い。
ビルボードなんて毎フレームバッファ再生成してDrawPrimitiveは数コールしかしないだろうから関係ないが。
いくつかの変数だけLPSTR型なのは嫌がらせでつか
新しいSDKだと変わってるのかな
ぶっちゃけDirectXって放ったらかしになってるメッソドとか
誰が管理してるんだかわからなくなってる機能とか
ごろごろしてるよね。
お前らどうやって勉強してやがるんですか。
勉強か
まーがんばって
>>643 エフェクトで贅沢したら普通に何万は行くぞ
それを別々のビルボードにバラバラに描くつもりなのか?
アホにも程がある。
そもそも贅沢しようというエフェクトをビルボードだけでやるという前提が無能の極み。
まぁカッカすんな。
少し頭冷やせや。
何をどう実装しようと勝手だけど、負荷の重い処理に挙げられてるのが
線形負荷のロジックって時点で釣り確定だな。
衝突判定の類でも持ち出してくれてれば、まだ食いつき甲斐があるものを。
たくさんビルボード使う場合には、描画以外の部分の
速度も重要になりうる、ということは確かなわけだな。
たくさんビルボード使う場合そのものを回避することが
できるか否かはまた別の話として。
線形負荷でもデータが10倍ならかかる時間も10倍ですよ
キャッシュの問題とかもあるから10倍じゃすまない事も多々あるけどな
655 :
名前は開発中のものです。:2006/07/15(土) 02:28:56 ID:TR3vL5Wt
>>652 >たくさんビルボード使う場合には、描画以外の部分の速度も重要になりうる、ということは確かなわけだな。
なにそれ。
数字だしてよ。
>たくさんビルボード使う場合そのものを回避することが
>できるか否かはまた別の話として。
この考えが間違っているんだよ。
誤差程度にしか影響のない部分を直すより、ビルボードの数を減らす事を考えた方が速度的に圧倒的に優位。
それを別の話にしようとする時点で、問題解決能力の欠如が如実に表れている。
>>655 ビルボードの管理で処理速度が問題になるのはどんくらいの
オーダーでの話なのかとかその処理時間とか、ちゃんと計算
してみせろ、到底問題になるとは思えんぞ、という話だな。
>>656 引用部は、単に話が二つあるってだけの意味なんだよ。
> 誤差程度にしか影響のない
かどうかが問題となってるところ(>643と>648)なんで、
その話を先にきっちり済ませたほうがいいと思うよ。
片付けないまま話をどんどん転がしてくのは悪い癖だと思う。
レッテル貼りより、「実際問題になるのかどうか数字だしてみそ」
とか、簡単な指摘をしてやった方が健全な話し合いだと思うなあ。
話が早く済むし。
と自分で数字を出せない
>>657がのたまっております
659 :
名前は開発中のものです。:2006/07/15(土) 08:06:53 ID:TR3vL5Wt
>>658 なぁ。
どう考えたって関数呼び出しのコストなんてウンコみたいなもんの削減に力入れてるのなんて
馬鹿にしかみえないもんなぁ。
しかも、たった数万でこの騒ぎw
>>657←ウンコはお前だし、はじめに言い出したのもお前なんだから、お前が数字出して問題あるコストである証明をしてみせろよ。
でなけりゃ
>>657は嘘吐き&ホラ吹き野郎決定。
660 :
名前は開発中のものです。:2006/07/15(土) 08:08:13 ID:TR3vL5Wt
何種類か作ってみればいいじゃん。それで一番軽いの採用すれば?
実験体作るのいやだから、どんな種類がいいか人に意見聞いといて
自分と意見違うからごねるって??なら、最初から自分の信じた道を進めばいいじゃん。
誰がどう見ても効率の悪い話なのに、それしか信じられない人なんてほっとけばいいじゃん。
プログラム書けても、中身小学生ですか?
と、フルスクリーン切り替えウィンドウが出ただけで大喜びの暇人が申しております。
662 :
名前は開発中のものです。:2006/07/15(土) 11:47:56 ID:JNRTuJ2n
多対一で袋叩きにしてるときの揚げ足取り、
レッテル貼りがいつでも通用すると思ってるあたりが
フルスクリーン切り替えも真面目にやると、普通にDirectXのサンプルになってくね。
いやまあ、サンプルがそう作ってあるのは当然なんだし、そうじゃなきゃサンプルとして困るわけだけど、
全画面化切り替えとデバイスのロスト->復元に、あんなにいっぱいフックかまさなきゃいけないだなんて
思っても見なかったんだ。
これも勉強だと思って真面目に書いたら2日くらい使った。
もうぬるぽ。
>>656 重いなら減らせばいいって考えは一番低脳。
そんなことは考えるまでもなくわかってる事だし、
ビルボードのエフェクトが重いというなら
何処が実際にボトルネックになっているかをきちんと調べることが大切。
重いからポリゴン減らせばいいとかアホでもできる。
ポリゴン数を減らしてつつフェクトの質を落とさないように考える部分なのに、
ビルボードに限定していることとい、まともに3Dを扱えていない事が丸分かりになってるな。
質を落とさないように工夫して、って言ったところで結局はごまかしなんだから
ポリゴン数やビルボードの枚数減らせば不自然な状況ができるわな。
昔は爆発とかは一枚の大きなビルボードで表現されていたが、
今は複数枚重ね合わせるのが一般的。
ビルボードの処理で負荷かかるのは大抵CPUかPSだろう。
フィルレートが足りないなら縮小バッファを使うとか出来るし、
CPUが厳しいなら最適化できる場所があるかどうかまずは調べるだろ。
ビルボードでエフェクト出した>重かった>じゃぁ減らせばいいや
これじゃ進歩がない。
最近のGPUでVSが吊るなんて事はそうそうないしポリゴン数
減らして軽くなるって状況はあまりないとは思うけどね。
多数を重ねる必要のある処理をビルボードでやろうとする時点で選択が間違っている。
馬鹿の一つ覚えは結構だが、UVを適切に設定してまとめて描くだけで、
ビルボードでごちゃごちゃやるより遥かに速度が改善する。
いくらなんでもビルボード1枚描く毎にDrawPrimitiveするヤツは今さら居ないだろ。
普通はデカイ頂点バッファをDYNAMIC|WRITEONLYで作成して
DISCARDロックして一括で転送してからDrawPrimitiveするだろ。
1枚ずつDrawPrimitive呼んでたらあっちゅーまにCPUが吊る。
それじゃ奥行きがないから壁際で不自然になるだろ。
>>672 えっ?冗談?ネタ?なんで全ての深度を同じに考えるわけ?
ビルボード一枚ならZ値全部同じになりますよね
念のため訂正。ピクセルシェーダ使えば場所によってZ値変えられるな。
でもペラペラの板一枚なことにはかわりない
てかZ値はいくらでも変えられるだろ・・・
ビルボードだから変えられないってのもおかしかろう。
大爆発を小爆発の重ね合わせで表現する時に、
テクスチャに小爆発を重ね合わせたあと一枚のビルボードとして
表示って話だろ?これで一個一個の小爆発の奥行きの違いを考慮した
描画ができるっていうんなら本気で教えてほしい
志村ー書き込み時間書き込み時間!
ビルボードを常に投影面と平行にしておくとか。
さすがに用途が限られすぎるか。
672は671へのレスだと思ってたら
6秒でレスすんのは無理あるなw
ビルボードに法線マップ適応して、凸面表現してるゲームがあったな。
ディスプレイメントマップ使えばできるんじゃないのか?
法線突っ込んでライト適用するだけでも
煙とかならかなりそれっぽく見えるよ。
ワンダがやってた奴だな。
実際に入れてみたら気持ち悪いほど立体感が出て吹いた。
爆発の中心にライトを置いたりすると、とてもいい感じ。
>>615 いまさらコレ読んでるけどすげーなあw
理屈は分かるけど俺には到底実装できねえ
と言うかマンパワーだな、擬似HDRのところとか
確かにシーン分けてHDRって考えは思いつかなかったな。
PS2でHDRやったときは高輝度部分をαに仕込んでポストエフェクトで実装してた。
普通そんなもんじゃね?
ワンダのはちゃんと明暗順応までやってんのが偉い。
効果的だったかは微妙だと思うけど…。
688 :
603:2006/07/17(月) 11:02:29 ID:dKyqZEBl
本当にありがとうございます。
690 :
名前は開発中のものです。:2006/07/17(月) 13:31:52 ID:Ew1uKIXv
warning LNK4089: 'd3dx9_30.dll' へのすべての参照は /OPT:REF によって廃棄されます。
と警告がでました。どうすれば消せますか?
ほっといておk
692 :
名前は開発中のものです。:2006/07/17(月) 21:01:12 ID:yqyDWK9Y
xファイルを,テキスト,バイナリ,圧縮それぞれ相互変換させるプログラムを作成してます.
DirectXのAPI使ってます.
テキスト,バイナリファイルの書き出しは可能なのですが,圧縮ファイルの書き出しがうまくいきませぬ.
APIリファレンスによると,
CreateSaveObject(LPCSTR szFileName,DXFILEFORMAT dwFileFormat,LPDIRECTXFILESAVEOBJECT* ppSaveObj)
関数を使用して,第2引数をァイルフォーマットの値を論理和,つまり,テキスト圧縮なら3, バイナリ圧縮なら2を与えているのですが,
通常のテキストファイル,バイナリファイルが書き出されてしまいます.原因がまったくわかりません.
D3DXF_FILEFORMAT_COMPRESSED | D3DXF_FILEFORMAT_TEXT
ってやってみたら?
694 :
692:2006/07/17(月) 21:17:10 ID:yqyDWK9Y
D3DXF_FILEFORMAT_COMPRESSED | D3DXF_FILEFORMAT_TEXT
これでも,無理です.
原因は知っているが、マルチが酷いので教えない。
今すごいマルチを見た。
699 :
694:2006/07/17(月) 21:46:15 ID:yqyDWK9Y
すんません.普通にせっぱつまって‥‥
マルチの意味調べました.ほんとうにすんません.
700 :
sage:2006/07/18(火) 13:26:22 ID:UjB+shQk
いいよ。俺が許す。君が許さないなら俺が許すさ。
701 :
699:2006/07/18(火) 18:26:53 ID:VaTIewRP
どうもです・・・
Aero Glassって…orz
703 :
名前は開発中のものです。:2006/07/20(木) 00:02:15 ID:GCIK/EH+
struct COLOR_POINT
{
D3DXVECTOR3 vecCoord;
DWORD dwColor;
};
COLOR_POINT ColorPoint[2]=
{
D3DXVECTOR3(-0.5,0.3,0),D3DCOLOR_ARGB(255,255,0,0),
D3DXVECTOR3(0.5,0.2,0),D3DCOLOR_ARGB(255,0,255,0)
};
g_CGraphic.GetD3DDevice()->SetFVF(D3DFVF_XYZ | D3DFVF_DIFFUSE );
g_CGraphic.GetD3DDevice()->DrawPrimitiveUP(D3DPT_LINELIST,1, ColorPoint, sizeof(COLOR_POINT));
で色つきのラインを描画しようとしています。
ですが黒色のラインがでてしまいmす、原因をして何が考えられますでしょうか?
深度バッファとかをしようしていますが特に関係ないですよね。
>>703 とりあえずライティングオフにしてみなさいよ。
705 :
名前は開発中のものです。:2006/07/20(木) 00:15:10 ID:GCIK/EH+
なおた、ありがと
706 :
名前は開発のものです:2006/07/23(日) 16:22:09 ID:CcOloUuB
ふぅ、やっとこさID3DXMeshを使って表示できました。
「よし次は、当り判定だぁぁ」と思ったのですが、ちと行き詰りました。
頂点バッファに格納されている局所座標の座標値が、ワールド座標へ
座標変換された値は、どうやってとりだすのだぁぁとなってしまいました。
もふかして、頂点バッファから頂点データを取り出し、自前で、
ワールド座標座標変換を行う必要がいるのでしょうか?
お手数ですが、何卒ご教授して頂きたくお願い致します。
>>706 メッシュとメッシュで当り判定しようとしてんの?
普通は当り判定用の球(中心と半径)とか箱(縦横高)とかを
モデルとは別に用意、もしくはモデルから算出して、それ同士でヒットチェックを行う。
ポリゴン単位の判定では局所でデータを持っているはずだから、
当たり判定の座標データを局所に変換してやればいい。
局所→ワールドに変換する行列があるはずだ。
それの逆行列を求める関数もある用意されているはずだ。
あとは当たり判定の座標データを、
逆行列を用いてワールド→局所に変換すればいい。
当たり判定で決定される座標データは局所だから、
必要に応じてワールドに変換する。
ベクトルは直には変換できないから、専用の変換をするか、
始点終点を変換してからベクトルを求めるといい。
709 :
名前は開発のものです:2006/07/23(日) 18:06:47 ID:CcOloUuB
707,708様、回答ありがとうございます。
ふむふむ、バウンディングでの当り判定は、別値として持って演算し、判定するのですね。
つぎに、ポリゴン同士の当り判定になった場合は、一方の構成している局所座標から
局所座標への座標変換を考えればいいのですね。
と、なると、
一方の局所座標へ変換を行うのであれば、構成している頂点データ全て座標変換処理が必要になるのですね。
ふむふむ、少し光が見えてきましたぁぁ。(これは、DirectX側で
処理する関数は、ないんでしょうか?)
Xファイルから立方体を読み込み、頂点の数、位置を取得したところ
頂点の数は24個だったのですが、これだと1面あたり頂点の数は
4個ということになりますよね。
しかし、三角形のポリゴンで立方体を作ると頂点の数は36個、
1面あたりの頂点の数は6個になりますよね。こうなるように
頂点の情報を取得したいのです。
要は、Xファイルの頂点の情報を三角形のポリゴン単位で取得したいのですが
どのようにすればいいでしょうか?
ご教授お願いします。
インデックスバッファをきちんと理解すれば分かると思う
712 :
名前は開発中のものです。:2006/07/23(日) 19:11:32 ID:qcAtV1Kn
>>709 >ポリゴン同士の当り判定になった場合は
そううまくいかねーぞ。
ポリ同士の当り判定はかなり無駄に時間がかかる。
ポリ同士の当り判定だったとしても簡易モデルを用意するんじゃなかろうか?
さらにヒットした後にどんな情報がほしいかでもデータ構造を代える必要が出てくるかもしれんし。
描画に使う頂点データを当り判定でもそのまま使うこと自体稀な話だ。
ちなみにポリ同士の場合、ヒットした後にヒットした箇所を割り出すのはヒットする物にもよるがかなり困難だと思う。
例え、ライブラリにポリ同士の当り判定がサポートされていたとしても俺はゲームでは使ったことが無いな。
それとお前、話に自分用語を入れるくせがあるようだけど、プログラマとして正直うまくねーぞ。
だれにでもわかる言葉で、今、抱えてる問題を表現できる能力がなきゃ未来はねーぞ。
それと「ふむふむ」とか理解できてるのかできないとかよくわからねーけど、正直、不愉快だ。やめろ。普段でもでてきちまうぞ。
「ふむ」は一回で十分。OK?
714 :
名前は開発中のものです。:2006/07/23(日) 19:35:03 ID:ef/2POTi
うむ
よもやゲームでポリゴンvsポリゴンで当たり判定するとは思わなかったw
(せいぜい地形やターゲットとベクトルの判定を予想
非常に負荷が高い事が予想される処理だが、
格闘ゲーとか、1フレームに数回とかならなんとかなるんじゃね?
3DSTGなら、そもそもポリゴンvsポリゴンの判定する前に決着つくし。
まぁ俺は「なんとかなる」レベルの処理なんて、なるべくやりたくないし、
幸い今のところやらずにすんでいる。興味はあるけどね。
というわけで、
>>709は実装完了したらレポートよろw
>ふむふむ、少し光が見えてきましたぁぁ。(これは、DirectX側で
>処理する関数は、ないんでしょうか?)
どの処理の事はよくわからんが、
逆行列を求めるならD3DXMatrixInverseでいいんじゃないか?
>>715 >格闘ゲーとか
逆に使わないっしょ。
このアクション中は当りがこんだけとか調節したいだろうし、
モデルでやっちゃうとデザイナの見た目でゲーム性が変わっちゃうじゃん。
フムッ フムフム、フムッ!!
ふむ?
>>706 つヒント:IDirect3DDevice9::ProcessVertices
720 :
名前は開発のものです:2006/07/24(月) 02:42:00 ID:PJKtgYsl
ふむふふむ、の言葉が不愉快に思われたのは、ごめんさない。
うんと、うんと、これも、不愉快?うークセかなー
皆様ご教授ありがとう、ございます。
いま、ヒントとしてあげて頂いた事、一生懸命、自分なりに考えております。
皆様、ご教授ありがとうございます。
>>720 そういうくだらん態度をとることにメリットを感じるならプログラマには向いてないだろう。
んな目くじらたてるようなことかねw
不思議系スーパープログラマーってのはアリだなぁ
ほえ〜とか言ってんのに何故か爆速コード書けるの
スーパープログラマという名称には悪いイメージしか残されていない。
クリエイトのカードでどんなプログラムも作っちゃうよ
Xファイルを使わずに独自形式を読み込んでDrawPrimitiveで
描画しているのですが、やめたほうがいいのでしょうか?
ポリゴンが描画されるときの順番って、
アドレスの小さい方のトライアングルから、
って保証されてないよね?
DrawPrimitiveならそれはされてる。
というかされてないと話にならない。
DrawIndexedPrimitiveはIndexBuffer次第。
732 :
名前は開発中のものです。:2006/07/25(火) 17:56:37 ID:h2Hl25Xm
>>731 あ、そうなんだ。サンクス。
ちょっと謎が氷解。
>>726 他のフォーマットからの変換ツールやらエクスポーターとか
用意できてX形式でできることがだいたいできてるなら
むしろそっちのほうが理想。
Xが特別洗練されてるわけじゃないしなー。
方言も多いし、安い3Dソフトだと吐き出すのが大変だったりもするし。
735 :
726:2006/07/26(水) 18:52:27 ID:B6EDph30
返答ありがとうございます。
Xファイルで出来ることを完全に把握していないので理想かは判りませんがこのまま直進します。
また、初心者な質問をすることもあると思いますがその時もよろしくお願いします。
VRML
ファイルから読み込んだ1文字をLPD3DXFONTのDrawText()で表示させるにはどうすればいいでしょうか?
ぐぐっても
DrawText( ... , "hogehoge", ... , ... , ... , ...);
のように文字を直接与えてるサンプルばかりなので。
私の場合、まずchar c; と定義して c に 「h」という一文字を入れ
DrawText(... , &c, ...);
としても文字化けしてしまうようです。
要するに、第二引数の与え方がよくわからんとです。
どなたかご教授お願いします。
Cの勉強からしなおしたほうがいいような・・・
char str[2];
str[0] = c;
str[1] = '\0';
ありがとうございます。
すみません、日本語表示はどうすればいいでしょうか?
Cの勉強をしなおしたほうがよさそうですね・・・。
740 :
737:2006/07/29(土) 11:09:54 ID:qeOyte4n
いろいろといじっていたら解決しました。
迷惑かけてすみませんでした。
>>740 同じところで詰まった後世の人がわかるように
どこをどういじったか書いておくと吉。
742 :
737:2006/07/29(土) 11:53:54 ID:qeOyte4n
string c;
ifstream file("test.txt");
//ファイルが終わるまで
while(!file.eof()){
file >> test[0];
c += '\0';
draw();
Sleep(100);
}
string型に変えてみただけです。
でも、これだとtest[0]に『1文字』ではなく『文字列』が入ってしまって、1文字ずつ表示することはできないみたいです・・・。解決したという手前で、質問ばかりは悪いので、もう少しいじってみます。
743 :
737:2006/07/29(土) 11:55:36 ID:qeOyte4n
× file>>test[0];
○ file>>c[0]
× これだとtest[0]に
○ これだとc[0]に
まさかサウンドノベルみたいに1文字ずつピロピロ出す奴を
DrawTextでやろうとしているのではないか… 先は長いぞ
ピロピロ飲みぃー
>>744 「サウンドノベルみたいに1文字ずつピロピロ出す奴」は、
DrawTextでやるのは間違いなんですか?
ピロリ菌
>>744 お察しのとおりです。
ぴろぴろ表示できるようになりました。
今は改行と改ページやってます。
>>746 や、間違いとは言わないけど。
満足の行く速度が出てるならいいんじゃない?
市販のテキストアドベンチャーもテクスチャに文字レンダリングとかやってんのかな?
Direct3Dなんて使ってないかもしれないが・・・。
君望はDirectDraw
君望に限らずageのrUGPはDirectX使ってないはず。
不要とあった。DIBだろうか。
テキストの話しているところに割り込んで書き込み
DirectXとはあまり関係ないですが
3Dゲームの遠景ってどうやっていますでしょうか?
超遠景は空と一緒に天空球に貼り付け
立体感が必要な部分(地形や巨大なオブジェクト)はLOD
茂みや木々はポリゴン落としきった後はビルボードに切り替えてる
Preyっていうゲームだとミニチュアサイズの背景を、ゲームプレイに支障の無い別の場所でレンダリングした後
実際のカメラ視点で合成する手法使ってて感心した。
あれってレンダリング手法ってよりは
レベルエディットの手法じゃないのか
天空球の生成方法を・・・
どうしてもゆがんでしまう
っキューブマップ
DirectMusic8に詳しい方はおられますでしょうか
・LoadObjectFromFileでSMF(或いはsgp)読み込み
・IDirectMusicSegment8_DownloadにIDirectMusicPerformance8とセグメントのポインタを渡す
・PlaySegmentExで再生
上記のような事が出来ました
カスタムDLSを使いたいのですが、必要な手順が分かりません
GUID_ConnectToDLSCollectionやらGUID_Downloadやらかとは思うのですが……
なんかLoadObjectFromFileでdlsも読めるっぽいし、ワケが分からなくなりました
初歩的な質問すいませんが、画像の表示でrect構造体を使う時のの質問です。
例えば画像の中から48×48を表示する時、右とボトムはそれぞれ左+47、トップ+47だと思ったのですが、
ttp://www.plustarnet.com/aspil/Programming/の2D編、「画像ファイルの読み込み」の下のほうで、
// テクスチャの範囲を指定する
m_Rect.left = 0;
m_Rect.top = 0;
m_Rect.right = 48;
m_Rect.bottom = 32;
こんな感じになってます。
でも実行してみるとちゃんとなってて訳がわかりません
実際に描画する時の
// 座標変換してから、スプライト描画
g_pSprite->SetTransform(&m_Matrix);
g_pSprite->Draw(m_Texture, NULL, NULL, NULL, 0xffffffff);
が何かしてるってことでしょうか?
そこでは何もしていない。
>右とボトムはそれぞれ左+47、トップ+47
という前提自体が間違いで、そこは+48、+8で正解。
納得いかなければ、「左上と右下を指定している」ことを強く意識すること。
範囲を (0, 0)-(1, 1) で指定したときに書かれるのは1ピクセル平方。
範囲を (0, 0)-(0, 0) で指定したときには、通常何も書かれない。
>>763 早い返答ありがとうございます。
それぞれの指定はドットじゃなくて
座標的な位置を指定してるということがわかりました
>>764 興味があるなら、DirectXの描画のラスタライズルールを調べてみると一層理解が深まるよ。
アクションゲーム総合から来ました、よろしくお願いします
DirectXとC++でゲームを開発しているのですが質問がございます。
表示を320×240に変えて、フルスクリーンにしたところ
縮小、ウインドウモードに変えると強制終了になってしまいます。
当方、 DirectX超初心者です、ご教授お願いいたします。
ttp://gamdev.org/up/img/6944.lzh
>>766 デバイスロストしてるだけじゃね?
Presentの返値をチェックして、失敗していたらデバイスをResetしてみたら?
xファイル読み込み成功したと思ったら、やけにでかかったんだが・・・
これどうにかならないの?
小人を作ったつもりが巨人にorz
thx!!
あっちのスレでも言いたかったんだが
そのxファイルを作ったモデラーで縮小することはできないのかな?
そりゃそうだw
766です
さっそく検索して調べてみました。
原因らしいのは分かったのですが
実はdirectXはいじった経験がないのです
そこでこのまま先延ばしにして
フルスクリーンのまま製作を続行してみようと
思うのですが、他のビデオカードとの互換性等
何らかの影響が考慮されるでしょうか?
超超初心者で申し訳ございません。
よろしくお願いいたします
全画面化周辺は真面目にやるとそれなりに手間だよ。
他に目的があるなら、いっそ放置しちまうのも手といえば手。
フルスクリーンは、本来ならビデオカードが対応している画面モードをリストアップして
その中から解像度やピクセルフォーマットを選ばなければならないので、
中途半端な対応だと互換性の問題は起きる。
ウインドウモードの場合、DirectXがフォーマット変換&ウインドウ上へのコピー処理をはさむので
処理の負荷は若干増えるし、厳密な意味での垂直同期待ちとかは機能しなくなるが、
フォーマット類については気にする必要がなくなる。
真面目にやりたければ、DXUTを頑張ってばらすしかない。
自前で実装するにしても、大体アレと同じ形に収まることになる。
見て面倒だと思うなら、後回しにしちまえ。
例外処理 (初回) は ffp.exe (DSOUND.DLL) にあります: 0xC0000005: Access Violation。
ってのが同じことしてるのに出るときと出ないときがあるのですが・・・
放置しちゃまずいですよね・・・やっぱり・・・
変なタイミングでサウンド関係の開放してるとか、単純にメモリ破壊とか、その辺じゃね?
呼び出し履歴とかから追っかけられねえかい?
777 :
名前は開発中のものです。:2006/08/08(火) 09:58:50 ID:rm1wVx8R
3dsmaxで作成したファイルをxファイルに変換するにはどうしたら良いのか
教えてください。directx8の頃はconv3dsというツールが付いてきましたが
directx9になってからはどこにあるのか解りません。
>>777 >directx8の頃はconv3dsというツールが付いてきましたが
そのdirectx8のconv3dsを使えば良いんちゃう?
directx9になって古いxファイルが使えなくなるほどの仕様変更があったとは聞いてないよ。
779 :
名前は開発中のものです。:2006/08/08(火) 10:36:02 ID:rm1wVx8R
777の質問をしたものです。現在conv3dsを持っていない状況です。microsoftに
聞いても、conv3dsをダウンロードすることはできなくなっているとのこと
「何か変わりのものはないか」とメールしても返事がきません。どうしたら
よいか教えてください。
>>779 DirectXのSDKにXファイル出力用のプラグインが入っていたはずだが。
平面でウォータービューのブロック崩しを作りたいのですが
ボールは円柱と球のどちらがいいですか?
ウォータービュー?
ウォーター=ヘレンケラー=メクラ
つまり風のリグレット
785 :
名前は開発中のものです。:2006/08/09(水) 23:45:16 ID:UMYhJemY
質問です。
トリプルバッファで深度バッファを使いまわすのとそれぞれのバッファごとに
作成した場合、どういった違いがあるのでしょうか?
深度バッファの概念を知りたいです。
ウ
ク
レ
レ
レ
の
>>785 深度バッファのことは一度忘れて、ダブル以上のバッファリングに何の効果があるかを考えるんだ。
ダブルバッファは、1枚は描画用に画面に出しっぱなしにしておき、その隙にもう一枚の裏バッファに
必死こいて絵を書き、書きあがった時点で見せ用バッファと書き用バッファを入れ替える仕掛け。
なぜこうするのかと言うと、必死こいて書いてる最中の画面を表示してしまっては
描画中の不完全な絵がユーザーの目にさらされてしまうことになるから。
で、一方の深度バッファ。これは必死こいて絵を書く際の奥行き情報を控えるために使われる
一時作業用のバッファであって、通常この中に書かれた結果がユーザーの目に触れることはない。
なので、描画用には見せ&書きで2枚のバッファが必要だけど、深度バッファは見せ&書きバッファの
入れ替えのときに中身をクリアして使い回せばいいだけなので、通常1枚持てば十分という勘定になる。
それぞれのバッファに持つ必要は無いわけだ。
ただ、これも深度バッファの内容を描画に反映させようとすると話が異なってくる。
一度完成した深度情報を元に、いろんな追加エフェクトを作成する(たとえば遠景をぼかす等)なら、
これを別途控えておくという選択肢も出てくる。
こんな感じでいいかな?
トリプルってどういう利点があるんだ?
裏画面描画するだけならダブルで良いような気が・・・。
描画が軽い時に、さらに次の画面も描画しておくって事?
フレームレートが安定するんじゃなかったっけ?
>>790 1/3イント未満で処理できるならばトリプルのほうが速い
793 :
名前は開発中のものです。:2006/08/10(木) 21:06:23 ID:fZXO6hyP
789さんめっちゃありがとうございます。
斜めから見るなら円柱はダメだろ
795 :
リネー:2006/08/11(金) 11:50:16 ID:H8FR+wJU
最近リネ2始めたんですけどマン喫代がすごくかかるのでPC買おうと思ってるんですけど一番安くていくらぐらいで買えますかね?PC関係初心者で無知なので教えてくださいm(__)m
イントなんてひさびさに見たな。どこのローカル用語かと。
DirectX9 (April 2006)で3Dの描画を試しているのですが、
Zバッファがどうしても有効になりません。
デバイス作成のパラメータは以下で、
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory(&d3dpp, sizeof(d3dpp));
d3dpp.Windowed = TRUE;
d3dpp.SwapEffect = D3DSWAPEFFECT_COPY;
d3dpp.BackBufferFormat = dmode.Format;
d3dpp.BackBufferCount = 1;
d3dpp.EnableAutoDepthStencil = TRUE;
d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
作成後、
_pd3dDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
としています。Capsを確認して、このパラメータが受理されることは確認したのですが。。
どなたか原因のわかる方がいましたらどうかお願いします。
D3DRS_ZFUNC
799 :
796:2006/08/11(金) 22:20:49 ID:S7Zlddmh
>D3DRS_ZFUNC
ありがとうございます!試してみたところ、
どうやら、描画している物体が同じ深度として扱われているようで、
D3DCMP_EQUAL に設定するとすべて表示されて、D3DCMP_NOTEQUAL
に設定すると何も表示されませんでした。
深度って、勝手に計算してくれるものと思っていましたが。。
じゃあ、疑わしいのはビューポートだな。
パラメータ晒してみ?
801 :
796:2006/08/12(土) 08:11:43 ID:eb+dualV
ビューポート。と聞いて射影行列を
D3DXMatrixPerspectiveFovLH(&m_matProj, D3DX_PI/4, 1.0f, 0.0f, 1.0f);
となっていたのを、
D3DXMatrixPerspectiveFovLH(&m_matProj, D3DX_PI/4, 1.0f, 1.0f, 100.0f);
としたらうまくいきました。本当にいろいろありがとうございます!
僕もはやく勉強して、答える側になりたい!
DirectX 8 で DrawPrimitiveUP の 2D 描画を行っています。テクスチャを用いた描画と
テクスチャを用いない描画が混在しているのですが、テクスチャを用いずに描画を行う
処理だけがなぜか重くなります。ここでは、SetTexture(0, NULL); でテクスチャを解除して
シェーダ D3DFVF_XYZRHW|D3DFVF_DIFFUSE により描画しています。ためしに、
SetTexture(0, NULL); は残したままシェーダ D3DFVF_XYZRHW|D3DFVF_DIFFUSE|D3DFVF_TEX1
で UV すべて (0.0f, 0.0f) を指定して描画してみたところ、同じ結果でかなり速くなりました。
QueryPerformanceFrequency で速度を調べたので間違いないと思います。
テクスチャなしの方が遅くなるというのはおかしい気がしますが、なぜでしょうか。
さらに、フルスクリーンモードの方が差が顕著に現れます。
OS XP、GeForce4 MX 440 を使っています。
どなたか原因等に心当たりがありましたらご教授願えますでしょうか。
どの程度重くなったのかしらんが、普通にFVF変更のペナルティだろ。
MXなんてゴミを使ってるのが悪い
今稀に見る馬鹿を見た
806 :
802:2006/08/13(日) 21:59:04 ID:vOpq6b3Z
このビデオカードって DirectX 7 の世代なんですね…。
別のマシンでは Intel のオンボードでも普通に動きました。
多少古いってもこんな性能とは思いませんでした…。
スレ汚してすまん
807 :
名前は開発中のものです。:2006/08/15(火) 19:48:18 ID:5Yi4mkIW
HLSLを使用してモデルを表示させることができたんですが描画コードを通ってから
1フレーム目はなぜかテクスチャの設定がおこなわれず2フレーム目からテクスチャの
設定が反映されました。シェーダ使うとそういった現象あるんでしょうか?
設定してないだけだろ
Frapsみたいに他プロセスのサーフェイスに描画しちゃうにはどうすればいい?
DLLをフック。
811 :
名前は開発中のものです。:2006/08/16(水) 18:40:13 ID:Gj5XmaVx
だれか、ogreのインストールで質問が
sdkをダウンし、インストールしてincludeフォルダをvc8のinclude設定して
libフォルダをvc8のlibに設定しただけでは使えないんですか?
813 :
◆zSSzMiD.Fo :2006/08/16(水) 20:59:41 ID:aPX6ha4f
てすと
>>812 エラーが大量に出るのはdllとかちゃんとしないといけないんですかね?
>>814 実行ファイルと同じディレクトリには必要なDLLをつっこむ必要があるが
具体的にどんなエラーが出るのか書いてくれないと分からん
画像めどいから見てないがDLLが無いなら実行時のエラーにならないか?
>>816 単純にヘッダの読み込みに失敗してるだけのように見えるが…
エラーの中に「Ogre.hが見つかりませんでした」のようなものは出てないか?
(おそらく)VC2003用に書かれたと思しきソースを
2005に突っ込んでるわけだから、書き直しは必要そうだよな。
宣言している場所を検索かけて調べて、
宣言が先行できるように書き直すしかなさげ。
ぶっちゃけここでもスレ違いだし開発環境ごとのスレ行っても
話が特殊すぎるし公式BBS言ったほうがよくないか
おもしろそうだったので俺も入れてみた
Samples_vc8.slnをビルドしてみたがエラーも出ないし実行もできた
ワーニングはいくつか出てる
設定はincludeとlibのパス以外触ってない
環境はVC++express、DirectX SDK2004Oct、Microsoft Platform SDK
空のWindowsアプリケーションに BspCollision.cpp だけコピーして
一応ビルドできたわよ。(VC++2005Express+Platform SDK)
気づいたとこだけ書いとくわね。
・サンプルの各プロジェクトは ReferenceAppLayer という
サブライブラリを利用してるから、流用するならこれをビルドして、
include,libパスを通してリンクする。
ライブラリプロジェクト C:\OgreSDK\samples\refapp\scripts\ReferenceAppLayer_vc8.vcproj
インクルードパス C:\OgreSDK\samples\refapp\include
ライブラリパス C:\OgreSDK\samples\lib\debug
リンク ReferenceAppLayer.lib (OgreMain_d.libも)
・文字セットをマルチバイト文字セットにする。
・デバッグは C:\OgreSDK\bin\debug を作業ディレクトリにしないとうまく動かない。
>>824 うわ・・・stlport下のほうにしたらできた
>>810 調べてみたらなんとかなりそうです。thx!
C#のDirectInputのGetCurrentKeyboardState()で
キーが押されたか離されたか分かる?
>>828 わからん
自前で前回のキー状態を取っておくか
GetBufferedDataしる
マネージドじゃないのはバッファしなくてもわかるお
Direct3DのFPSはどうやって設定するの?
QueryPerformanceCounterとかRDTSCとか何かで時間を取得して(ry
手動ですか?
>>833 「手動」ってw
お前プログラマだろ?
違うのか?
FPSの設定って。。。
XNAツールにならそういった機能もあるのかな?
そこのは去年読んだけど
今はもっと便利な機能ができてるのかなと。
俺は、関数を2〜3回呼び出すだけで、
仕事が終わって定時に帰れるのに残業代がつく機能が欲しいな。
関数一発でFPSが固定される機能のことなら、無い。
DXUTにはあるけどDXUTは(ry
841 :
名前は開発中のものです。:2006/08/19(土) 08:02:47 ID:NrNZREyo
Presentで垂直同期を待っていたらだいたい一定になるべ
ここ的にXNAってどうなん
わかりやすく解説してあるサイトとか見つからないけど
(翻訳)
XNAについて詳しく教えてくれ。
わかりやすく解説してあるサイトとかあったら教えてくれ。
俺は調べる気なんて全くないからそのへんヨロシク。
さっさと教えろクズ野郎。
君の人生つまらなそうだね
典型的な2chメンタリティの奴って人生損してるよな。
「太った豚より(ry」って言葉もあるが
>841
ウインドウモード
XNAってなんて読むんだ?日本語で説明してくれ。
えっきすえぬえー
ばつな
ゼナ
んあ
2次元のライブラリは「DXライブラリ置き場」のところのが定番だと思うけど
3次元のはこれといったのがないな
Lunaは?
OGREは?
ELかYJだな
>>853 Lunaが定番
他は オ ワ ッ ト ル
DirectXSDKのバージョン古いのがなんかな、って気はするけど>>Luna
今新しいの作ってるんだっけ?
なんか問題あるの
>>659 いや、意味もなく本当になんかな、ってだけ。
気になったなら悪い。
861 :
858:2006/08/23(水) 00:06:50 ID:wxMVbQ1J
LunaはDirectx9なんだよなぁ
9はちょっと古いマシンだと9をダウンロードしたところで
ビデオカード自体で無理だからオンボードユーザーや
ノートユーザーへの対応が辛い
そろそろ8ユーザー切っても良い頃かもしれんけど
3Dデバイスとして動作するのなら、どんなに古いビデオカードでも、
DirectX9の元で動作するが、なにが無理なんだ?
単に機能の制約を受けるだけで動作するし、その制約は8だろうが9だろうが変わらない。
>>862はビデオカードの機能に合わせた
デバイスオブジェクトの生成をしない人ですか?
>>863 dxdiagのDirect3D 9 テストが動かなかった気がする。
あと、なんか9必須のゲームが起動できんかった気が。
数年前のことなのでかなり怪しい記憶だが
ちょっと手元にそのマシンないからすぐには確認できんけど
うーん、この誤解って結構あるみたいだね。
プログラマーっぽい書き込みで間違えているのは、初めて見るけど。
つーか、
>>862の話が分かる人は滅多にいないと思う。
VRAM8M位のオンボードだと、DirectX9のランタイム入れた途端に
今までD3DDEVTYPE_HALで動いてたDirectX8製のゲームも、D3DDEVTYPE_REFでしか起動しなくなったりする。
って書いてる間にレスがキタ
何のビデオカードか知らないけど、それはドライバがおかしいだけじゃない?
ドライバを最新にしてみたらいいと思うよ。
うん、それでドライバをメーカーに探しに行ったら、DirectX8までのしかなかったw
ちなみにメーカーは牛さんw
つーか、ちょっと古いマシンって、俺はげふぉ5200位だと思ってるんだけど皆違うんかな・・・
って書いてる最中に巨大な黒い虫がデタ・・orz
同人ゲームとかに興味ある人は基本的にスペックは気を使しねぇ・・・
DirectX9だって公式にWin98以降のOSは全部サポートしてるんだし環境としては悪くない。
Lunaは確かVC6とWin2000の対応を切らないから古いSDKなんだよな。
こないだ会社でD3D使ったツールが起動しねぇって苦情きて調べたら
GeForce2だった・・・気にしない人はほんと動けばいいやレベルだぞ。
3Dゲーム作ろうとしてるんだが、最初ってskinnedmeshを改造していく程度で良いよな
萎えるくらい入り組んでるが・・・
GeForce2かぁ・・・
2Dゲームとか、スキンアニメしないメカ物とかだと結構いけるんだけどなぁ。
>>871 最初はインデックス付き頂点ブレンディングとか、いらん描画部分を消すと良いかも
>>869 マザーは具体的にどこのメーカー?
Intel?VIA?SIS?
マザーのメーカーサイトにいけばドライバあるよ。
>>863は正しいはずなのだけど、どうも面倒なカードって有るんだよな。
うちで不具合報告が多いのは、PenIII 1Gくらいの世代の、ノートのオンボード。
もう買い換えろと言いたくなるくらい、わけのわからない挙動してくれる。
capsで間違った値返しているとしか思えないぜ…。
>>873 あ、ごめん
>>869のマシンは俺のじゃない上に昔の話だから、
あんまり気にしないで・・・
今あったらいろいろ試してみたいけど
じゃあ、なんか漏れレスしすぎなんでそろそろ消えまつ。
>>863 ソフトウェアでエミュレートするって話か?
それってどのマシンでもそんなに実用に耐えうる?
どのマシンでも対応できるってのは
あくまでも理屈の上での話しだからなぁ。
それが通るならWin9x系のOSは落ちないよw
旧マシン使用ユーザーにもやってもらいたいゲームを作るなら
その辺を充分に考慮しないとダメだぁって思った。
>>876 863じゃないけど、基本的にはDirectXを使うのとハードウェアを使うのは別なんだ。
DirectXのバージョンを上げても、DirectX9ハードウェアの機能を使わなければ
エミュレートするまでもなくそのまま使える。
例えるなら、Win95をWin98に上げた。
メモ帳でテキストを書いて保存するという機能は変わらない、って所。
うちのDirectX6相当のビデオカードでも、DirectX9ランタイムで普通に動くよ。
>>875 悪いけど、そんな答えが返ってくると思ってた。
エミュレーション云々ではなく、対応していない機能を使わければ3Dデバイスとして機能するという話。
ステンシルバッファが作れないのにデバイス作成時に指定していたり、
32bitカラーに対応していないのに32ビット決めうちにしたり、
そこで使えないんだと勝手に勘違しているだけ。
3Dが扱えた最古のノートPCのオンボードSavageIVでさえきっちりDirectX9の元で動く。
で、動かない動かない言っている奴に、動かなかった具体的な製品名を聞くと答えられない。
その程度の内容を答えられないレベルだから、自分のプログラムミスをハードのせいだと勝手に勘違いする。
ちなみに何故そういう勘違いが横行するかというと、
各種サイトにある古いバージョン用に書かれたソースは、
当然古いビデオカードが前提で組まれているが、
DirectX9用のソースは、ほとんど古いビデオカードを考慮しないで書かれている。
それを何も考えずに丸写しにしかしていなければ、デバイスが作成できないのは当たり前なのに、
ビデオカードの能力と作成時のオプションを照合しない、原因追及もしない、
何にもしないのに動かなかったと騒ぐだけだから。
>>877 おk、把握。
DirectX9対応のビデオボードの機能使って
何かすると勘違いしてた。
>>877 一応、勘違いさせちゃったかも知れないのでレス。
もちろんSISのサイト行ってみたけどD3DDEVTYPE_REFでしか動かなかった。
今も確認してきたけど、2002-11-14のが最後っぽい。
ドライバがあれば、ちゃんと動作するというのは勿論同意です。
スレ汚しスマソ。
プログラマが頑張ればいいんやね
FFオンラインは…
ピクセルシェーダも使えないビデオカードなんて何の価値もないが・・・
あと古いDirectXも使うべきではない。
DX10に完全対応してないビデオカードなんて何の価値もないよな、確かに
885 :
名前は開発中のものです。:2006/08/26(土) 16:25:08 ID:vn8c9Lao
非常に初歩的な質問で申し訳ないですが
Direct3Dで、今は単色で塗りつぶしているだけの背景に
新たに画像を貼りたいと思っています。
星空とか夕焼け空とか、それ以上"奥"が必要ない極めて遠いところを想定してるんですが
単に巨大なテクスチャを上方に置くだけなんでしょうか?
あるいは単色の代わりにビットマップを指定したりできるんでしょうか
テクスチャマッピングを知らんとな。
DirectXドキュメントのチュートリアル5を見てみそ
?
「投視変換済みFVF」のことなんじゃないの?
890 :
名前は開発中のものです。:2006/08/27(日) 12:07:07 ID:X+6yWPse
誰か知っている人がいたら教えてほしいのですが、
最新版のDirectXをインストールしてサンプルを読みまくっているんですが
その前のバージョンのDirectXをインストールした時には入っているFEditとか
Sampleとかがないのはどういうことなんでしょうか?
これは技術として推奨していなかったり、いずれ消えるからみたいなニュアンスなのか、
それとも以前のバージョンのサンプルで入っているからよりコアなサンプルだけでいいか
というニュアンスなのか知りたいです。
>>885 基本的にそう、内側(カメラ側)を向いた三角形なり平面なりに
背景用のテクスチャをつけて全方向分配置してるだけ。
スカイボックスとかスカイドームで検索するとよろし
>>890 そのバージョンでアピールしたい機能を使ったサンプルが添付されてる。
当たり前になった機能とか枯れた機能は、よほど基本的でもないかぎりいちいちサンプルにしないよ。
スプライトを消すにはどうすればいいですか?
895 :
名前は開発中のものです。:2006/08/27(日) 14:21:30 ID:FSDqLTxg
表示するための処理をしなければ勝手に消えるだろう
画面をクリアのは最初だけなんですが
消さずに移動させると((((((((((((((((((((((((^_^;)みたいになるし
>消さずに移動させると
答えでてるじゃんw
XORで書き込んでおいて、消す時はもう一度同じ位置に描けばよい
と提言してみる
今時のマシンなら毎回クリアーして全部描き直してもいいんじゃないの
空気嫁
背景と同じテクスチャから物と同じ領域切り抜いてスプライト表示。
それは逐一VRAMからサーフェスを取らないといけないね。ドライバを
直接叩かないとDirectX経由じゃむずかしいかな。
DirectX 9.0と9.0cの違いってどっかにない?
あと、最新のSDKで9.0で動くアプリ作るのに必要なこととか教えてくれー。
DXUTとか使っても大丈夫なんかな。
公式のchange histryはだめ?
>あと、最新のSDKで9.0で動くアプリ作るのに必要なこと
質問の意味がよくわからないがなんだか笑ってしまった。
むう、やっぱり笑われるような質問なのか。だって9.0と9.0cでランタイム違うみたいじゃん。
てか本気でよくわからんのですが。ずっと8.1だったのでオイルショックというか。
>>オイルショック
不覚にもワロタ。意味がよくわからんw
カルチャーショックの間違いか?
>>903は何となく分かるんだがオイルショックは全く分からないw
>>903 超能力を駆使してレスすると
最新のSDK使って古いバージョン(9.0)でも動くソフトを
作るにはどういう点に留意したらいいの?
この機能は○○以降じゃないと動かない みたいな一覧とかないの?
ずっと8.1使ってたから9.0cは米騒動?みたいな
ってことであってる?
Pーか、そんなことって出来たっけ?
動く動かない以前にDLLがないとか言われそうなオカン
訂正
○つーか
×Pーか
最近DirectX9のプログラムを始めたんだが、DirectPlayは廃止されるって本当?
9.0 2004Decemberにサンプル付いてないし、BBXにもPlayの質問が無いし。。
廃止される理由がわからん。誰か教えて貰えないか??
必要がないから。
DirectPlayじゃなくても良いけど、
D3DXの通信版見たいに、winsockのラッパーはほしいな。
一からwinsockで書くの面倒すぎ。
>>916 既に自前で用意しちゃってる場合が多くて、
あまりラッパーの需要がないような気がする。
>>916 DirectXはXbox360との連携が強化される
よって軸足が.NETに移る
.NETには通信ライブラリが豊富
DirectXと.NETで重複するものは削除
ん?
360の開発って.NETなん?
一般向けのXNAはC#だが、普通の開発はC/C++だと思うけど。
921 :
名前は開発中のものです。:2006/08/31(木) 11:50:11 ID:AUN8rAIg
複数のLPD3DXMESH型のメッシュを一つにするのはCloneMesh()で可能でしょうか?
不可能
attribute tableとvertex bufferとindex bufferを自分で作り直してあげないと
多分やりたがってるだろうことはできないと思うよ
D3DXMeshが何やってるのか分かるとDirect3Dの8割くらい分かったことになると思うのだけど
ちゃんと章立てして説明してる本とかある?あったらそれは良い本だろうからそれを買うべきだ
>突っ込んだ使い道になるとD3DXMesh、AnimControllerが使いづらくなる
>結局自前で実装する
>でも何となくD3DXMesh::Optimizeが気になる
が正しい道だな
>でも何となくD3DXMesh::Optimizeが気になる
改造しながらもまだ使ってる俺が勝ち組
sdkのサンプルいじってみたけどかなり特殊なモデルでないと効果ないな頂点キャッシュ向けの最適化は
しかもそれも結局は隣接した面を順番に並べるようなアルゴリズムを重箱のスミをつつくような
改善をしてるだけみたいだし大体そんなふうになってればだいじょぶでしょ
ちなみに俺のローポリ人形はD3DXMESHOPT_VERTEXCACHEを指定したら
標準出力に表示されるcache miss rateが下がるどころか上がったぞ
ライブラリープログラマーのスレですよね。
間違ってもゲーム作ろうと思ってこのスレに来てる人いない
ですよね。
ここ。
ある洋ゲーのスキンを作ってるんだけど、
ハイポリから法線マップを作ってローポリに割り当てる作業を予定して、
今はハイポリでモデリングしてるんだけど、
肝心の法線マップを作る方法とソフトがまだ不明のまま。
ソフトはZ Brush2を買うか、nVIDIAのMelodyを使うか迷ってる。
あと、法線マップを出力できたとしても普通のカラーのテクスチャはどの段階で塗っていけばいいんだ?
今まではモデリングし終えたらBodyPaintってポリゴンに直塗りしてたけど
法線マップの具体的な結果が出るまで色は塗れないってことですよね?
Doom3あたりから当たり前にノーマルマップ使われてるけどどんな風に作られてるのか知ってる人いたら教えて。
>>928 ZBrush2には標準で法線マップを書き出す機能があるし、
通常のテクスチャをハイポリにペイントしてもそのままローポリに転写されるから心配は要らない。
最近の3Dソフトには、だいたいハイポリをローポリに転写する機能や、
(XSIのUltimapperやMayaのSurfaceSamplerなどなど)
それに類似したプラグインが存在するから、好みのものを使えばいい。
ATIがフリーで公開しているものもあるけれど、少々使い勝手が悪い。
>>927 お前は、ここに必要ない人間だ
声に出してここの板名を言って見ろ
932 :
名前は開発中のものです。:2006/09/04(月) 09:45:10 ID:7n05M1Sj
>>922 本は持っていないんです。
今、vertex bufferとindex bufferに2つのメッシュ情報をつなぎ合わせてみました。
しかし、頂点座標と面情報が正しく設定されていなく現在調査チュウっす。。
本探してみます〜〜!!
934 :
928:2006/09/04(月) 22:44:39 ID:veKeJzq/
936 :
928:2006/09/04(月) 23:06:44 ID:veKeJzq/
いや、画像を加工するんじゃなくてね
ハイポリの凹凸から作成するんだよ
937 :
名前は開発中のものです。:2006/09/04(月) 23:45:04 ID:MeF4x6AC
オーバーレイのスクリーンキャプチャってさ、良く聞くのは
HALをOFFにすれば可能とか言うじゃん?
つまり、HELなら可能って事なんだろうけど、
オーバーレイをサポートしてないビデオカードで
DVDとか表示して(たぶんオーバーレイ)キャプチャしようとしても
普通に無理なんだけど、オレって解釈間違ってたのかな。
>>936 そしたら、単純な平行投影としか思えないんだけど?
レイ飛ばして高さ(凸凹)を保存しておきゃいいんじゃないの?
>>933,935,938
知らないなら無理に答えなくていいよ
レンダーバンプ
>>933 モデラーやプラグインでハイポリのモデルの法線情報をテクスチャで出せるのよん。
それをローポリのモデルに張ってバンプいれれば見た目はハイポリと変わらないクオリティになる、と。
MAYAあたりならサポートしてるんでね?
ちょwwwMayaでこんなの作ってゲームで使えるのか!!!!!!!!!1
>>941 なんだぁ・・・
じゃあ、別にPG的にどうって問題じゃなくてツールの使い方がわかんねってことなんかぁ。
できた法線マップは普通にバンプで貼ればいいんだよね?
そういや、俺、環境マップのときも法線マップのときもデザイナさんがもってくるの
そのまま貼ってるだけでどうやってるのか知らないんだよね。
キューブマップとかってどうやって作るんだか知らないしw
Maya欲しくなってぐぐったら高杉・・・orz
XSIならいい値段で買えるっぽいよ。
>>942 今のFPSだと普通
全てのメッシュに使ってるといっても過言じゃないから
それなりに必要スペック高いけど
OpenGLだけどDoom3の壁とか、ほんと一枚のポリゴンだとは思えない凹凸が表現できてるのが多々ある
クリーチャーは928の言ってるやり方で作られてて筋肉の凹凸で影が落ちてたりする
普通のバンプマッピングとはぜんぜん違うね
>>948 バンプの凸凹の設定値が大きくなったようにしかみえんのだけどちがうんか?w
ZBrushっていうツールを使って吐き出してくれた法線マップ使ってバンプすりゃいいって話じゃなくて
なんか違う計算しなきゃ駄目なん?
>>952 Parallax Mappingでググれ
>>950 ディスプレイスメントマップはバンプマップとは違う
ポリゴン表面がテクスチャの起伏情報にあわせて実際にデコボコに変化する
バンプマップはデコボコしてるように見えるだけ
表面が実際にでこぼこしていないのは、バンプマップで良いの?
>>947 やべーXSIっていつのまにこんなに安くなったんだw
LWとかより安いじゃん。なに、投売り?w
これなら買えるな…
957 :
名前は開発中のものです。:2006/09/05(火) 16:05:28 ID:InJoaq6m
助けてください。
Xファイルに頂点2点設定して
SDKのサンプルViewerでその線分を見ることは可能ですか?
マルチウザ
はわわわわわ
>>958 まーそういうなよw
>>957 すぐに返答が欲しくてマルチしてるんだろうけど、自分の都合で判断すんなよ。
とゆーかこの板人すくねーから即答なんて期待すんなw
質問には答えんよ。
ID:yomfeWNe
なにこの無能者
961 :
名前は開発中のものです。:2006/09/05(火) 18:01:16 ID:InJoaq6m
マルチすんません・・・。
皆目つかなくてマジ探しまくってるんですけど、
分からなく書き込みしてしまいました。。
今、以下のテンプレートで作成可能なのか探しています。
FVFData
Mesh
MeshFace
Vector
よかったらY/N だけでも教えてくれませんか??
962 :
名前は開発中のものです。:2006/09/05(火) 18:36:06 ID:InJoaq6m
できました〜!お騒がせしました〜!
964 :
名前は開発中のものです。:2006/09/05(火) 19:01:49 ID:n2aZcxSP
初代 Bio100%掲示板
次 BBX
今は?
光画堂
ちげーよ!工画堂だったよ!tgyひこlp;
967 :
名前は開発中のものです。:2006/09/05(火) 23:45:07 ID:B/eRlfFw
質問です。
DirectXを色々触ってるんですが、読み込んだテクスチャがVRAMの容量をどれだけ使うかって、どうやって計算すればいいんですか?
968 :
967:
うわ、質問スレと間違いました。すいません…