トップページgamedev
1001コメント305KB

DirectX総合スレ (Part4)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2005/11/26(土) 01:58:58ID:RjcSZKi5
※「鬱だ氏のうスレ」と「DirectX総合スレ」は統合され、
 ゲーム製作技術スレに戻ってきました。

DirectXについて、にいさま達がマターリと
技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。

ちなみに、言語はC++がメイン。
C# / VB.NET 使いは、専用スレの方が話がスムーズに進むと思われ。
0002名前は開発中のものです。2005/11/26(土) 01:59:50ID:RjcSZKi5
■過去スレ
DirectX総合スレ
Part 1: http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/
Part 2: http://pc5.2ch.net/test/read.cgi/gamedev/1095863432/
Part 3: http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/

鬱だ氏のうスレ
Part 1: http://piza2.2ch.net/tech/kako/966/966655286.html
Part 2: http://pc5.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://pc5.2ch.net/gamedev/kako/1027/10273/1027351925.html
Part 6: http://pc5.2ch.net/gamedev/kako/1033/10339/1033920036.html
Part 7: http://pc5.2ch.net/gamedev/kako/1039/10395/1039509250.html
Part 8: http://pc5.2ch.net/gamedev/kako/1046/10466/1046676308.html
Part 9: http://pc5.2ch.net/tech/kako/1054/10545/1054553472.html
Part9.5:http://bbs.gamdev.org/test/read.cgi/gamedev/1054109966/
Part10: http://pc5.2ch.net/tech/kako/1061/10614/1061420660.html
Part11: http://pc5.2ch.net/test/read.cgi/tech/1069376986/
Part12: http://pc5.2ch.net/test/read.cgi/tech/1076651336/
Part13: http://pc5.2ch.net/test/read.cgi/tech/1083313796/
Part14: http://pc5.2ch.net/test/read.cgi/tech/1088594869/
Part15: http://pc8.2ch.net/test/read.cgi/tech/1096649788/
0003名前は開発中のものです。2005/11/26(土) 02:00:22ID:RjcSZKi5
■関連スレ
【C++】 DirectX初心者質問スレ Part7 【C++】
http://pc8.2ch.net/test/read.cgi/tech/1132216611/

C#でDirectX9 初心者の館 2頂点目
http://pc8.2ch.net/test/read.cgi/tech/1103998649/

Managed DirectX vol.2
http://pc8.2ch.net/test/read.cgi/tech/1061285378/


■関連サイト
- MSDN > DirectX
http://www.microsoft.com/japan/msdn/directx/default.asp
- DirectX Home Page
http://www.microsoft.com/japan/windows/directx/default.mspx
- DirectX Info Lib (デバイス情報のデータベース。すばらしい!)
ttp://www.netsphere.jp/dxinfo/
- BBX(掲示板)
ttp://isweb8.infoseek.co.jp/computer/bbx/
0004名前は開発中のものです。2005/11/26(土) 02:45:42ID:RObSYhH1
1otu
0005名前は開発中のものです。2005/11/26(土) 02:46:34ID:RObSYhH1
誰も居ないかな。。。それなら。
0006名前は開発中のものです。2005/11/26(土) 02:47:15ID:RObSYhH1
Direct6
0007名前は開発中のものです。2005/11/26(土) 03:29:07ID:5cuy99Kz
駄irectX
0008名前は開発中のものです。2005/11/26(土) 12:44:43ID:IijTJA7w
>>1
0009名前は開発中のものです。2005/11/26(土) 17:06:28ID:6wWc9aUl
うん。統合してゲ制せに作るのが一番すっきりしてていいと思う。
0010名前は開発中のものです。2005/11/27(日) 09:47:32ID:u8kN80YF
>>1は白雪
0011名前は開発中のものです。2005/11/30(水) 18:03:41ID:v/pvoLFq
どう見ても過疎です。
本当にありがとうございました。
0012名前は開発中のものです。2005/12/01(木) 23:00:33ID:vwsMxStU
最近のパソゲーって草や葉っぱとか、テクスチャで透過したとき
エッジがピクセルの形が出なくて曲線的だけどあれどうやるの?
シェーダとか使わないと無理?
0013名前は開発中のものです。2005/12/01(木) 23:30:35ID:qo65vTDD
バイリニアフィルタが最近の技術だなんて
いくらなんでも浦島すぎだろそりゃ。
0014名前は開発中のものです。2005/12/02(金) 16:50:42ID:mjZUfb4C
バイリニアフィルタってSetSamplerStateでD3DTEXF_LINEAR指定すればいいんだよなぁ。
で、バイリニアフィルタ使ってもエッジがぼやける(半透明)だけなんだが…orz
半透明はZソートするのめんどくさいから、ALPHATESTで半透明を
表示しないようにしたら結局ピクセルの形で透過される罠。
漏れのやり方が悪いのか知らんがヒントきぼんぬ
0015名前は開発中のものです。2005/12/02(金) 17:27:57ID:tnmTZxan
>>14
それは多分DX9で言うところのフルシーン マルチサンプリングかな。
使ったことは無いけど、CreateDeviceで指定するみたい。
0016142005/12/02(金) 17:46:02ID:mjZUfb4C
>>15
ヒントさんくす。
いろいろ調べてみる。
0017142005/12/02(金) 18:38:23ID:mjZUfb4C
やっぱなんかちがうっぽいorz
ttp://rerere.servebeer.com/src/up25518.jpg
比較SSうpしてみた。
普通にやるとテクスチャが画面解像度以上に近づくと、右下のSSみたいにエッジのカクカクが見えてしまうが
これを対象のSSのように曲線的に透過するにはどうしたらいいんだろ。




0018名前は開発中のものです。2005/12/02(金) 19:10:43ID:tnmTZxan
>>14
マルチサンプリングじゃないね。
SSでは、テクスチャの荒さが違うようにしか見えない。
解決策はテクスチャを大きくする、かな。
0019名前は開発中のものです。2005/12/02(金) 21:03:33ID:hu11LCL3
最近のPCゲーはピクセル見えないほどに高解像度なテクスチャ貼りまくりですよ
0020名前は開発中のものです。2005/12/02(金) 22:02:57ID:AAn/wy7T
>>14
アルファテストのしきい値を0.5くらいにすればいいわ。
SetRenderState( D3DRS_ALPHAREF, 128 );
SetRenderState( D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL );
0021名前は開発中のものです。2005/12/02(金) 22:08:08ID:mjZUfb4C
ファイルあさって見たけどテクスチャの解像度でかくて512*512しかない。
しかもそのSSの正面に映ってる葉っぱの部分は128*128にも満たない
仮に高解像度ならもっと葉のすじとか鮮明に映っていいはず。
0022142005/12/02(金) 22:20:39ID:mjZUfb4C
>>20
レスさんくす。
たしかにそんな感じだな。
あとはZ値をどうするかかな。
0023142005/12/02(金) 22:33:53ID:mjZUfb4C
わかった
>>20の状態でアルファブレンドはFALSEで良いみたいだな。
やっとこすっきりした。
0024名前は開発中のものです。2005/12/04(日) 17:14:47ID:+6E7K1gP
SDK Decemberでるのかな?
0025名前は開発中のものです。2005/12/05(月) 16:09:36ID:PfEOaTF0
?
0026名前は開発中のものです。2005/12/05(月) 23:08:57ID:S5woveD9
出ないだろう。
0027名前は開発中のものです。2005/12/05(月) 23:28:56ID:tapDAOyn
え? なんで出ないの?
0028名前は開発中のものです。2005/12/06(火) 00:15:57ID:6ntneLcc
なんだかんだ言ってもうDecember
0029名前は開発中のものです。2005/12/06(火) 03:40:47ID:HjB2oazP
皆でDirectXを使ってPCゲームのベースになるようなシステムを作りませんか?
0030名前は開発中のものです。2005/12/06(火) 03:43:50ID:BHRlaQJ7
>>29
勝手に作れ。
0031名前は開発中のものです。2005/12/06(火) 15:57:00ID:6ntneLcc
>>29
作った後が問題だな…
ただでさえライブラリから引っ張ってきててウジャウジャしてるのに、他人が書いたのなんて加工してらんないよ…
0032名前は開発中のものです。2005/12/06(火) 16:48:40ID:A217SZyW
ゲ製に立てるデメリットとしては自分で作れないからって人に作ってもらおうとする奴が
来ることが挙げられる。
0033名前は開発中のものです。2005/12/06(火) 16:55:01ID:BHRlaQJ7
>>32
>>29のことでは?
0034名前は開発中のものです。2005/12/09(金) 04:31:20ID:sAh7fo66
DirectXSDKは開発システムそのものじゃないか。
ラッパー作りたいの?
0035名前は開発中のものです。2005/12/09(金) 10:51:24ID:N3Ar4wKA
SDKについてくるサンプルフレームワークじゃ駄目なの?
0036名前は開発中のものです。2005/12/09(金) 11:07:57ID:vJZrM2oj
>>34-35はホントに普段そんな状態でゲームを作っているのだろうか。
物凄い大変そうだ
0037名前は開発中のものです。2005/12/09(金) 11:36:10ID:fMEIhRFm
>>36
日本語不自由乙
0038名前は開発中のものです。2005/12/09(金) 11:56:00ID:iyRFcWh4
>>36が使いこなせてないだけに1票。
0039名前は開発中のものです。2005/12/09(金) 17:27:24ID:vJZrM2oj
自作ライブラリとか作らずにいちいち末端からDrawPrimitive呼びだしてんの?
って意味だが。SDKのサンプルフレームワークとかそういう状態
0040名前は開発中のものです。2005/12/11(日) 10:10:01ID:hH1n310P
まあ、結局DirectXは開発システムとしてはかなりピュアな状態だから、自分なりにまとめるも良し、
そのままゴリゴリ書いちゃっても良しって事なのかね。
0041名前は開発中のものです。 2005/12/13(火) 13:34:07ID:fbDdlJk2
うぉおおおおおお
Direct10
0042名前は開発中のものです。2005/12/13(火) 13:57:55ID:5OxDH0Dr
ぬぅああああああ
Direx100
0043名前は開発中のものです。2005/12/13(火) 14:13:47ID:kemLn1rn
ふぉぉおおおおぅ
Dirsex1000
0044名前は開発中のものです。2005/12/18(日) 00:24:16ID:Zq9xWgz1
DMUS_MIDI_PMSG メッセージを送信したいのですが命令は何かわかる方いらっしゃいませんか?
0045名前は開発中のものです。2005/12/18(日) 15:43:38ID:oaKflF5Y
sampleのskinnedmeshフォルダにあるskinnedmesh.fxなんですが、
こいつがソフトウェア頂点処理じゃないと動かなくて参っちまってます。

アセンブラ吐き出させて調べても、vs1_1以上の命令は無いし、
もちろんcapsのD3DDEVCAPS_HWTRANSFORMANDLIGHTも
VertexShaderVersionも、条件を満たしてるんスが・・・・

何か心当たりある方が、もし、いらっしゃったら是非
0046名前は開発中のものです。2005/12/18(日) 17:15:15ID:07laljrv
>>45
グラボは何使ってる?
グラボがゲフォ4(Tiじゃないやつ)でドライバ古いと、
シェーダ対応してないのに1.1とか誤表示されたりするけど・・・
まあ、そんなオチは無いか
0047名前は開発中のものです。2005/12/18(日) 17:22:27ID:oaKflF5Y
>>46
回答ありがとでやんす
使用グラボはラデオン8500ですが、とはいえ貴重な情報どうもっス
一応ドライバは最新だと思います
0048名前は開発中のものです。2005/12/18(日) 17:40:05ID:sJDOGgWt
Radeon9600だと、フォグがD3DFOG_EXPしか効かないみたい。
0049名前は開発中のものです。2005/12/30(金) 17:24:33ID:hWBigLzx
質問っす。描画する時に
LPDIRECT3DDEVICE9 lpDevice = g_lpDevice9;
lpDevice->BeginScene();
////何かの描画/////
lpDevice->EndScene();

/*何かの処理*/

lpDevice->BeginScene();
////何かの描画/////
lpDevice->EndScene();
.
.
lpDevice->Present( NULL, NULL, NULL, NULL );

みたいに何回もBeginScene、EndScene呼んで最後にPresentってまずいですかね。

0050名前は開発中のものです。2005/12/30(金) 17:54:46ID:BBiaJQce
マニュアルにはダメって書いてあるね。
0051名前は開発中のものです。2005/12/30(金) 17:59:48ID:IONTUAjQ
>>50
すまん、どこに書いてあるのか教えてくれないか?
0052名前は開発中のものです。2005/12/30(金) 18:01:05ID:piIDE+OV
そもそも必要性が感じられない
0053名前は開発中のものです。2005/12/30(金) 18:05:17ID:piIDE+OV
>>51

> プレゼンテーション (IDirect3DDevice9::Present または IDirect3DSwapChain9::Present) を連続して呼び出す場合、
> 呼び出しの間に存在できる IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene は最大 1 対です。
> IDirect3DDevice9::BeginScene はレンダリングを実行する前に 1 回、
> IDirect3DDevice9::EndScene は 1 つのフレームに対するすべてのレンダリングをランタイムに発行した後に 1 回、呼び出す必要があります。

これジャマイカ?
IDirect3DDevice9::BeginScene()のところに書いてあるぞ
0054名前は開発中のものです。2005/12/30(金) 18:42:10ID:IONTUAjQ
>>53
手元のヘルプにもMSDNにも無いな。最近のSDKで追加された内容なのか
0055502005/12/30(金) 20:02:42ID:BBiaJQce
日本語版9.0cのドキュメントに載ってる。
ちゅーか日本MSDNって9.0ベースなのかよ・・・。

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/IDirect3DDevice9__BeginScene.asp
0056名前は開発中のものです。2005/12/30(金) 21:05:04ID: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です。お願いします。
0057名前は開発中のものです。2005/12/30(金) 22:29:40ID:Z497FHq3
>>56
>D3DTLVERTEX
変換済み頂点はテクスチャ座標変換できないわよ。
↓の注
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/DirectX9_c/directx/graphics/programmingguide/fixedfunction/textures/coordinates/texturecoordinatetransforms.asp
0058名前は開発中のものです。2005/12/30(金) 22:49:10ID:IFiUlImR
>>57
レス有難うございます。
>トランスフォーム済みライティング済みの頂点
この表現がわからないのですが、、、
実際に何を行うとトランスフォーム済みライティング済みの頂点になるのでしょう?
0059名前は開発中のものです。2005/12/30(金) 22:50:53ID:Z497FHq3
>>58
RHW使うとなるわ
0060名前は開発中のものです。2005/12/30(金) 22:52:21ID:lBuSVkiU
D3DXComputeNormalMapで
高さマップから法線マップ作成できるが、
これによって生成される画像のフォーマットってナンなの?
16ビット浮動小数点の画像フォーマットなのか?
それともRGBカラーのそれぞれに8ビットの数値を突っ込んでるだけなのか?
でも、ピクセルシェーダーでは法線の数値が入ってないと
デコボコの表現が正常に出来ないよね。
自前で画像フォーマット作ればいいのだが、気になって気になって
手淫も出来ません。
誰か知ってる人教えて。
0061名前は開発中のものです。2005/12/30(金) 23:42:45ID:Z497FHq3
>>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を直接書き換えるしかないわね。
0062名前は開発中のものです。2005/12/31(土) 00:37:37ID:YgeevgWP
>>61
rhw抜いたら描画されなくなってしまいましたTT
今日は寝ます。レス有難うございました。
0063名前は開発中のものです。2005/12/31(土) 12:30:34ID:E8NVgyee
最近HLSLからCgに乗り換えた浮気ものです。
0064名前は開発中のものです。2005/12/31(土) 13:04:21ID:TFaMIM4e
>>62
チュートリアルを順番に、自分でコードを入力しつつ動作を確認し、絶対にとばさず全て終わらせること。
質問するのはそれが出来てから。
しかしその頃には、今のような質問をすることは無くなっているだろう。
0065名前は開発中のものです。2006/01/02(月) 23:13:13ID:s+I6Hch/
質問でつ。
DirectX9 SDKには"d3dx8.h"が入っていないけどどうして?
"d3dx9.h"は入っているのに。
0066名前は開発中のものです。2006/01/02(月) 23:15:15ID:LC+BjV4v
ヒント:
d3dx8.h→DirectX8
d3dx9.h→DirectX9
0067名前は開発中のものです。2006/01/02(月) 23:42:52ID:s+I6Hch/
>>66
D9は下位互換があるのでd3dx8.hがなくなるのが良くわからないぽ
0068名前は開発中のものです。2006/01/03(火) 10:25:50ID:gYcG4vzG
D9はD8を内包してる。
ということはヘッダも中に(略
0069名前は開発中のものです。2006/01/03(火) 12:38:19ID:RA+XcytT
>>67
また上位互換と下位互換を混同する馬鹿が。
いつまで経ってもこういうのが撲滅できないのは何故だろう?
DirectXのSDKは上位互換。
下位互換だったら、8のSDKで9の機能が利用できることになる。
0070名前は開発中のものです。2006/01/03(火) 12:42:01ID:gYcG4vzG
使ってほしくない機能は削除してるみたいだけどね。
SDK自体は別のものと考えた方がいいかも。
■ このスレッドは過去ログ倉庫に格納されています