トップページgamedev
987コメント315KB

鬱だ氏のう DirectX (Part 5)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものですた。02/07/23 00:32ID:DsnWt/i.
DirectXについてマターリと技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。

■旧スレ(プログラム板)
http://piza.2ch.net/tech/kako/966/966655286.html  (Part 1)
http://pc.2ch.net/test/read.cgi/tech/997101556/   (Part 2)
http://game.2ch.net/test/read.cgi/gamedev/1005119775/ (Part 3)
http://game.2ch.net/test/read.cgi/gamedev/1016276254/ (Part 4)

コピペスマソ
049649402/08/29 11:30ID:???
結局上手くいったのですが一つ気になったことがあります…。
ディフューズ色がある頂点バッファはマテリアルのアルファが反映されないんですが、
ディフューズ色がないほうは反映されました。これはこういうもんなんでしょうか?
0497 02/08/29 13:00ID:???
TextureStatgeState,RenderStateあたりは
キッチリ理解してちゃんと設定しといたほうがイイと思われ...
こんなもんかな?でうまくいったからそのまま開発を進めると、
他のグラフィックカードでは変な動作になったりしてデバグが大変になる罠
0498名前は開発中のものです。02/08/29 16:12ID:???
>>496
ヘルプ「ライティングにおける数学的計算」で検索。
色の決定に関する全ての事項が一つの数式にまとめられています。
これさえイメージできてれば自由自在に色を扱えます。
  「「「Π   
  ((((´ー`)/"
<<<( ヨメヨ.)
.ノノノ  ゞ
049949402/08/30 12:15ID:???
>>497 >>498
レスありがとうございます〜。
確かにTextureStageState、ライティングの計算ともに、あまり理解してませんでした。
まだまだ勉強すること沢山だ〜… 頑張ります。
050050002/08/31 00:16ID:???
500
0501名前は開発中のものです。02/08/31 12:13ID:???
sdkのスキンメッシュのサンプルの
SetTimeのMatrixKeyって補完のところは手抜き?
行列の補完てどうするの?
0502 02/08/31 18:23ID:???
たしかマトリックスキーの時は補完無しで
位置・スケール・回転の時には補完ありになるんだったよね?

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

速度優先でやりたかったら、各フレームごとにサンプリングして
マトリックスキーをいっぱい作る。
0503名前は開発中のものです。02/08/31 18:28ID:???
行列をQuaternionに変換するやり方を知らんのか?
0504名前は開発中のものです。02/08/31 18:35ID:???
x補完
o補間

MatrixKeyとはスケールと平行移動も込み?
0505名前は開発中のものです。02/08/31 23:33ID:???
Xファイルから読み込んだメッシュのバウンディングボックスを
作るために、D3DXComputeBoundingBoxを使おうと思ったんですが
数値がおかしく、うまく作れません。
第一引数に渡す頂点データのバッファへのポインタってD3DXLoadMeshFromXの
第四引数じゃだめなんでしょうか?
0506名前は開発中のものです。02/08/31 23:47ID:???
>>505
サンプルはLockしてそのポインタを渡しているから俺もそうしているが、
それ試して上手くいかなかったらソースの一部を書いてくれ。
0507名前は開発中のものです。02/09/01 15:06ID:xIdjFJT5
>>503
やって見たんですがスケールが変になります。
うまくやる方法ないでしょうか。

キーフレームが細かければ全メンバの線形補間の方が再現性たかいです・・・
m._11 = lerp( t, m1._11, m2._11);
m._12 = lerp( t, m1._12, m2._12);
m._13 = lerp( t, m1._13, m2._13);
m._14 = lerp( t, m1._14, m2._14);
m._21 = lerp( t, m1._21, m2._21);
m._22 = lerp( t, m1._22, m2._22);
・・・・
0508オレー ◆Kvyv1OZU 02/09/01 16:07ID:???
>507
マトリクス→クォータにオン→D3DXQuaternionSlerp→マトリクス
じゃ駄目なのか?
050950702/09/01 16:16ID:???
こうやってます・・・
 D3DXVECTOR3 pos;
 D3DXQUATERNION q, q1, q2;
 D3DXMATRIX r, t;
 D3DXVec3Lerp(&pos, (const VEC3*)&m_pMatrixKeys[dwp2].mat._41,
   (const VEC3*)&m_pMatrixKeys[dwp3].mat._41, fLerpValue);
 D3DXQuaternionRotationMatrix(&q1, &m_pMatrixKeys[dwp2]);
 D3DXQuaternionRotationMatrix(&q2, &m_pMatrixKeys[dwp3]);
 D3DXQuaternionSlerp(&q, &q1, &q2, fLerpValue);
 D3DXMatrixRotationQuaternion(&r, &q);
 D3DXMatrixTranslation(&t, p.x, p.y, p.z);
 pframeToAnimate->matRot = r * t;
0510名前は開発中のものです。02/09/02 01:57ID:5xwxSg5f
Directx8を使っています。
Zバッファを有効にしながらアルファチャンネル(カラーキー)で抜けを作ったポリゴンの
描画はどうすれば良いのでしょうか?
今は、抜けの部分にもzバッファが適用されてしまいます。
0511名前は開発中のものです。02/09/02 02:07ID:???
>>510
一般的には、アルファテストで抜けの部分を描画しないようにする。

アルファの微妙な濃度が重要な場合は、どこまでやるかによる。
Z書き込みなしで オブジェクト単位/ポリゴン単位 でZソートとか。
051251002/09/02 02:23ID:???
>>511
ありがとうございます。
アルファテストでD3DCMP_GREATERを設定することで解決しました。
0513名前は開発中のものです。02/09/02 09:15ID:???
一般的、ねぇ。。。
0514名前は開発中のものです。02/09/02 09:46ID:???
Dx8以降なら一般的と言えそう
051551002/09/02 11:13ID:???
>>513
他にも方法があるのでしたら教えてくれないでしょうか?
0516名前は開発中のものです。02/09/02 21:28ID:???
箱の中に水を張って水面の反射と屈折をシミュレートするプログラムを作成しています。
水面にマルチテクスチャで反射と屈折のテクスチャを合成して張っています。

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

そういうような底面以外で交わった場合には、底面のテクスチャだけではどうしようもなくなってしまうのですが、
どうすればいいのでしょうか?
0517名前は開発中のものです。02/09/02 22:06ID:???
>>516
で、何の市販ゲー?
タイトル教えてよ。
0518名前は開発中のものです。02/09/02 23:26ID:???
水中に物体を沈めるとキビシイけど
底面と側面だけならなんとかなりそうな気がするよ
0519名前は開発中のものです。02/09/03 00:54ID:???
PixelShaderが動いてくれません。誰か教えてください。
D3DCapsで確認してPixelShader1.0未満だったので
D3DDeviceはSOFTWAREで初期化しました。
カードはGeForce2GTS
OSはWinXP Pro ,DirectX8.0SDK
鬱です。オナガイします
0520名前は開発中のものです。02/09/03 00:58ID:???
SOFTWAREで初期化ってなんだ?
SoftwareVertexProcessingの事?
HEL(REF)の事?
0521名前は開発中のものです。02/09/03 01:06ID:???
>520
長かったので勝手に省略しました(^^;
SOFTWARE = SoftwareVertexProcessing

現在はこんな感じで初期化です
pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL,hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING, ...
0522名前は開発中のものです。02/09/03 01:12ID:???
リファレンスラスタライザでやってみろ
つか、GF2なんて糞カード捨てろ
0523名前は開発中のものです。02/09/03 01:20ID:???
...
D3DDEVTYPE_REF,hWnd,
D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_PUREDEVICE, ...
でも動かないし、
サンプルであるMFCPixelShaderでも真っ黒のまま動かない、、
あきらめてGF2からRadeon9000に変えますw
0524名前は開発中のものです。02/09/03 01:43ID:???
>>516
水中の物体は自力で屈折線が物体と交わってるか調べるしかないんじゃないかなぁ…。

壁の方は、屈折線が壁にぶつかったら、底面を延長させた平面にぶつかるまで延長させて、
そこに対応するテクスチャを貼る感じになるんじゃないだろうか。
これはGemsにもやり方が載っているので参考にしてみるといいかも。。
052552402/09/03 01:47ID:???
あ、つまり屈折用のテクスチャは1枚だけでよい、ってことです。
回って漢字の内外正方形の四隅を繋いだ感じなんだけど分かりますかね
052652402/09/03 01:58ID:???
>壁の方は、屈折線が壁にぶつかったら、底面を延長させた平面にぶつかるまで延長させて、

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

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

自己レスでスレ汚してしまってスマン
0527名前は開発中のものです。02/09/03 04:22ID:???
変な現象に困ってます
なぜかD3DXFONTの描画をやめるとアプリが劇重になります
lpFont->DrawText("test", -1, &rc, DT_NOCLIP, D3DCOLOR_RGBA(255,255,255,255));
↑をコメントアウトすると40〜50秒くらい固まって、その後終了キーの入力を受け取って、
終了するといった具合です
固まっている間は、カーソルもほとんど動きません(動いてもかくかく)
デバイスの作成や、レンダリングステートなどいろいろいじってみましたが、どうもフォントが原因のようなのです
DX8.1,Win2Kです(WinMeだと起こらなかったです)
どなたかこんな現象に遭遇された方いますか?
0528名前は開発中のものです。02/09/03 08:12ID:???
>>509
俺は行列の補間やったことないから自信ないけど、それスケーリングどう見ても無視してない?
最初は遅くなってもいいから、行列を一旦スケール、回転、移動の3つに分解してみては…。
速度の最適化は動いてからでもいいですから。

>>508
オレーたん発見ー… 明らかにスレ違いですがレースゲー頑張ってください。
あそこのスレでは書き込むと自演っぽく見えるので(汗
052952802/09/03 08:17ID:???
今書いてて思ったんだが、行列を全てアフィン変換へ分解できるのなら、
ロード時に拡大回転移動の3つのキーへ変換してしまえば、
SetTimeのMatrixKeyの補間は不必要なのかな? これって間違ってる?
053051602/09/03 11:25ID:???
>>524
レスどうもです。
底面と側面を一枚のテクスチャで扱うわけですね。
なんとなく側面の水面の上と下の部分を上手く合わすのが大変そうな
気がしたりもするんですが、なるほどやってみます。
0531名前は開発中のものです。02/09/03 13:37ID:eoJAGzi4
DirectAudioで普通にwavを再生すると、
自動的にストリーミング再生にしてくれるようなのですが、
このあたりの設定ってどこで指定するのでしょうか?
バッファサイズとかの設定はDirectSound使わないとだめ?
LoaderさえあればDSound使うのですが。DSUTILってのもありますがね。
0532名前は開発中のものです。02/09/03 15:55ID:???
>>531
パフォーマンスのバッファ管理に何か不満があるの?
何故バッファサイズを設定したいのか教えて欲しいかも。

もしDirectSoundで再生するにしても、WAVE FORMATは簡単だから読み込みは楽だ。
ただ、このスレのちょっと前にもあったように、
今更DirectSoundを使う必要性もないんじゃないかと思う。
0533名前は開発中のものです。02/09/03 17:00ID:???
>532
特に不満はないんですけどね。
ストリーミングか否かを明確にできればいいかなぁと。内部ではそんな区別は無いのかな?

ところでボリュームを個々に設定するのにAudioPathをそれぞれ作るのでいいのですかね。
セグメントとAudioPathは一まとめに扱うか。。。むずいな。。。
0534名前は開発中のものです。02/09/03 17:57ID:???
>>533
不満がないならDXAudioでいいと思う。
折角内部を隠蔽してくれてるんだし深く追求しなくても…

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

AudioPathも、LoadObjectFromFileとセットでCreateAudioPathするだけだし。
それほど難しくないと思う。
053551602/09/03 18:18ID:???
>>524
やってみますた。
この方法、あらかじめ陰のかかったテクスチャ用意しないとダメっぽいっすね…
あと水面の上下で箱の角がうまいこと一致しないっす。
これは俺のテクスチャ座標の求め方間違ってるからなのかな。見直そう。
0536名前は開発中のものです。02/09/03 18:22ID:???
>533
難しいのはいろんな概念が一気に出てきたためで、扱いは簡単ですね。
詳しい解説どうもです
053752402/09/03 21:33ID:???
>>535
確かに水面の近くでテクスチャがずれそうですな。
この辺どうなってるのかは俺もよく分からんです… 役立たずでごめん。

陰についてはDXならシェーダで何とかならんかなぁ。
底面にぶつかった座標値からだせそうな気も…
これまたシェーダやり始めたばかりでよくわからんです(涙
0538名前は開発中のものです。02/09/04 02:50ID:xIbAbvD0
Directx8で質問です。
ラグナロクオンラインのように背景ポリゴン、キャラ2Dみたいにする場合、
2Dキャラ表示用のマトリクスはどう作ればよいのでしょうか?
0539名前は開発中のものです。02/09/04 03:43ID:???
一般的ビルボード行列は、
_11〜_34まで逆ビュー行列。_41からはx,y,z,1

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

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

はっきりいってビルボードはうんざり。
次のプロジェクトからは使いたくない。
054053902/09/04 03:44ID:???
あくまでビルボードがメインのゲームってことね
054153802/09/04 04:13ID:???
>>539
>>_11〜_34まで逆ビュー行列。_41からはx,y,z,1
できました。ありがとうございます。

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



0542名前は開発中のものです。02/09/04 04:29ID:???
>>541
D3DRS_ZBIAS だけど
どれくらいの効果かはやってみないとわからん
0543名前は開発中のものです。02/09/04 04:30ID:???
ZBIASって効果ないよ。同一平面の前後(壁と弾痕とか)位しか効果がない
0544名前は開発中のものです。02/09/04 05:37ID:???
最近D3Dやって思うんだけどOpenGLの方がクウォリティー高くない?
0545名前は開発中のものです。02/09/04 05:52ID:???
>>最近D3Dやって思うんだけどOpenGLの方がクウォリティー高くない?
いまいち抽象的すぎて言いたいこと分からんが、
今となってはドライバの対応状況の万全さでD3Dかな。

結局ね、ゲーム屋に言わせればAPI(インターフェイス)なんて
なんだっていいのよ。どうせラップせねばならぬし。
0546名前は開発中のものです。02/09/04 07:12ID:???
>>544
動作環境が広い面ではOpenGLだが結局は545の通り。
英語圏ではOpenGLでゲーム製作は多いし、
使えるライブラリではこっちの方が多いかな?
OpenGLのメジャー作といえばQuake3
0547名前は開発中のものです。02/09/04 12:59ID:???
ID3DXSprite::Begin
ID3DXSprite::Draw
ID3DXSprite::END

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

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

こうしてやるとスプライトを表示できました。
でも前者のやり方でスプライトを表示できている人もいる
みたいなんですが、うちの環境が変なんでしょうか?
ソフトはVC.NETで、OSはWin2k、
DirectX SDK のバージョンは8.1なんですけど。
0548名前は開発中のものです。02/09/04 17:56ID:???
>>547
ID3DXSpriteの説明に、ID3DXSprite::BeginはIDirect3DDevice8::BeginSceneの代わりには使えないと書いてある。
もしそうやってるソフトウェアがあったとしてもそんなの気にしない。SDKのとおりにしる
0549名前は開発中のものです。02/09/04 19:10ID:???
>>548
自分のPCがおかしいのかという不安が解消されました。
ありがとうございます。
0550名前は開発中のものです。02/09/05 01:31ID:/DOtiz09
ビルボードで貼り付ける画像の解像度は描画速度に関係してくるのでしょうか?
例えば16×16の画像を2倍に拡大した場合と32×32の画像をそのまま使用した場合で
解像度が低い方が描画が早かったりするんでしょうか?
0551名前は開発中のものです。02/09/05 08:30ID:???
>>550
理屈ではもちろんそうだが、その例では目に見える違いがでないかもしれない。
テクスチャ転送量全体を考えてみるべし。
むやみに低解像度にして画面がしょぼくなったら損だよ
0552名前は開発中のものです。02/09/05 15:24ID:XAnwUSlO
だれかOgg Vorbis形式の再生方法教えて!
ov_openするとアクセス違反になる..なぜじゃー(>_<)
0553名前は開発中のものです。02/09/05 15:36ID:???
>>552
もしかしてDLLのプロジェクトで作ってたりする?
俺も前にやったんだけど同じところでアクセス違反になって不思議だったんだが…
違ったらごめん。ちなみに解決策はコード生成でDLL(マルチスレッド)だ。
なんでそれで動くかはわからん(ぉ
0554名前は開発中のものです。02/09/05 15:40ID:XAnwUSlO
>>553
うおぉぉーーー!あなたは神様です(T-T)
マジでそれでうまく行きました(^^)
ありがとうっす♪
0555名前は開発中のものです。02/09/05 18:31ID:???
>>554
まさか本当にDLLで作っていたとは(笑 まぁ、解決してよかった。
それにしてもOgg Vorbisは本当にいいな。
再生するだけなら扱いも楽だし。ライセンス料かかるMP3は消えてよし。
0556名前は開発中のものです。02/09/06 01:43ID:3M9KUq9c
DirectX7から8へ乗り換え中です。
SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
7のときはこんな感じでアルファブレンドができたのですが、8だと
ただの抜けあり描画になってしまいます。
テクスチャはBMPでカラーキーを使用しています。
他になにか設定が必要なのでしょうか?
0557名前は開発中のものです。02/09/06 01:48ID:???
>>556
試しに↓も入れてみてくれ

SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
0558名前は開発中のものです。02/09/06 01:48ID:???
SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
もな
0559名前は開発中のものです。02/09/06 01:55ID:???
>>556
8からカラーキーの使用は無くなった筈だが…
TGA若しくはDDSでアルファ情報があるテクスチャを使うんじゃ?
因みにDDSはSDKのUtilitiesのTextureToolで作れるよ。
056055602/09/06 02:19ID:3M9KUq9c
>>557
入れてみましたが駄目でした。
SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
これも入ってます。
SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ONE);
SetRenderState(D3DRS_DESTBLEND,D3DBLEND_ONE);
この設定で加算はできています。
>>559
7にあったカラーキーが無くなって今までアルファブレンドだった
設定でカラーキーが使えるようになったと解釈して良いですか?
今までのアルファブレンドはどこに?
TGAのアルファプレーンは反映されるのですが、それだとプログラム側で
アルファ値をコントロールできないので、頂点アルファあたりを使って
アルファブレンドをやりたいのです。なにか良い方法ないでしょうか?
0561名前は開発中のものです。02/09/06 02:25ID:KmTxppnE
なあ、テクスチャの方はαを設定したのか?
056255602/09/06 02:29ID:3M9KUq9c
>>561
テクスチャのアルファって?
0563名前は開発中のものです。02/09/06 02:29ID:KmTxppnE
SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_BLENDDIFFUSEALPHA );
これやらないとテクスチャはαブレンドにならないけど、
こういう話とは違う?>>560
056455602/09/06 02:54ID:3M9KUq9c
すいません。この設定が効いてませんでした。
SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
ちゃんと出るようになりました。カラーキーの部分の抜けを適用したまま
半透明レートを頂点カラーでコントロールできます。
答えてくださったみなさんありがとうございましました。

0565名前は開発中のものです。02/09/06 02:56ID:KmTxppnE
良かったね。おめでたう。
0566名前は開発中のものです。02/09/06 03:02ID:NU3TRrfk
凄く初歩的な質問なんですが。
床などにテクスチャを貼る場合、
テクスチャの画像を大きくして並べる数を少なくするのと、
テクスチャの画像を小さくして並べる数を増やすのではどっちが軽いんでしょうか?
0567名前は開発中のものです。02/09/06 03:05ID:???
速度的には同じ。
メモリ的には小さい方が軽い。
0568名前は開発中のものです。02/09/06 03:06ID:???
テクスチャの画像を大きくして並べる数を少なくするのは歪みが生じない?
今のDirectXは平気になったんか?
0569名前は開発中のものです。02/09/06 03:14ID:???
昔のソフトでよくあった、テクスチャの繋ぎ目に隙間が開いてしまう現象
はなんだったんだろう?

今でもコントロールパネルから調整できるよねぇ?
0570名前は開発中のものです。02/09/06 03:26ID:m11JpBjY
ありがとうございます。
画像を小さくして並べる数を増やす方が良いのですね。
参考になりました。
0571名前は開発中のものです。02/09/06 03:31ID:???
テクスチャ繋ぎ目のすきま。
プログラマが固定小数点信者だったからとかない?(憶測
0572名前は開発中のものです。02/09/06 03:37ID:???
おいおい、ポリ数が多くなりすぎて逆に遅くなるだろ
0573名前は開発中のものです。02/09/06 03:51ID:???
面がでかすぎるとライティングも困る
0574名前は開発中のものです。02/09/06 03:58ID:???
その辺のバラス取りが泣ける。性能UPによって変わっていくし…
0575名前は開発中のものです。02/09/06 04:30ID:???
Gx00系は画面真っ暗。表示されず。
0576名前は開発中のものです。02/09/06 04:49ID:???
Gx00系ってMatroxのアレのことと今知った
0577名前は開発中のものです。02/09/06 05:05ID:???
>>575
Gx00系で何をすると画面真っ暗なんだ。大丈夫なのかお前。
0578名前は開発中のものです。02/09/06 05:10ID:???
Gx00系って、、、G4x0以外は使えねぇだろ…g200とか
0579名前は開発中のものです。02/09/06 05:16ID:???
G400もつかえねーけどな
450は氏欄
0580名前は開発中のものです。02/09/06 05:17ID:???
G400はバンプマップで地球儀だせるよ。それ以上は無理
0581名前は開発中のものです。02/09/06 05:24ID:???
>>579
どうでもいいが、つかえねー理由ぐらい書いとけよ。
0582名前は開発中のものです。02/09/06 05:25ID:???
抜き色がおかしくなる
0583名前は開発中のものです。02/09/06 05:31ID:???
俺はGeForce4Tiが現役マシンだが、G400も過去に使ってた。
具体的にDirect3Dの何を使ったら抜き色が変になったかを
書けば対策方法を教えるが?
0584名前は開発中のものです。02/09/06 05:43ID:???
>>579=>>582
>抜き色がおかしくなる

なぜ抽象的な表現を使う。
具体的に書いてみ。
何をしたら抜き色が変になったんだ。
0585名前は開発中のものです。02/09/06 05:58ID:???
つーか
○×のビデオチップが使えねーとかどうだとか
そういう話以前の問題だろ。
0586名前は開発中のものです。02/09/06 06:44ID:???
RenderState設定をいい加減にしてるだけだろ
0587名前は開発中のものです。02/09/06 11:26ID:2HBzLxJN
Gx00だと半透明の出具合が違うな。
GeForce系やRADEONでは大丈夫な設定でも。
なにか設定抜けてるのかな。
0588名前は開発中のものです。02/09/06 15:51ID:f2V/Iqy/
Ogg vorbisの曲データからPCMデータを抜き出して
DirectSoundに渡して再生するサンプルを誰か作ってー
0589名前は開発中のものです。02/09/06 15:57ID:???
すごいクレクレ君だな。
0590名前は開発中のものです。02/09/06 16:59ID:???
>>588
1)OggVorbisをWAVEファイルへ変換するソフトを作る
2)WAVEをDirectSoundで再生するソフトを作る

1はOggVorbisのSDKに九割方は同じのがあるし、2なんてWeb探せばどこにでもあるだろう?
しかも両方とも100行以内でかけるような簡単なものだ。
1と2ができるなら一緒にしてできないなんてことはありえまい。少しは自力でやってみ。
059153102/09/06 17:13ID:???
DirectMusicのSetVolume×10パス分を毎フレーム呼んだら死んだ。
なんじゃコリャ。激重い。
やっぱゲームの効果音にはDirectSoundなの?
0592名前は開発中のものです。02/09/06 18:15ID:???
>>591
もしかしてSetVolumeって自動でフェードっぽいことしてくれないかなぁ?
ちとわからないんだけど、英語ヘルプにどうもそれっぽいことが書いてある気が…
dwDulationに与える値を設定してみてちょ
059359202/09/06 19:08ID:???
>>591
今実験してみたけど、DirectMusicって自動フェードしてくれるみたいよ。
やっぱDirectMusicマンセーだな(w
0594名前は開発中のものです。02/09/06 19:55ID:???
う〜ん。フェードっつっても超非線形なのでやっぱ毎フレーム指定したいかも。
既にインターフェースそのままでDSoundにごっぞり鞍替え中。
でも自動でフェードしてくれるのは知らなかった。サンクスコ
0595名前は開発中のものです。02/09/06 20:36ID:???
PerformanceのInitAudioでDirectSoundのインターフェイスをとれば、
DMusicとDSoundを共存させられる気も。
0596名前は開発中のものです。02/09/06 22:43ID:/3OZCZxa
DirecDrawで、オフスクリーンサーフェスにTGA形式の画像を読み込みたいんだけど
これって自前でTGA解釈するしか方法ないのかな?
(バイナリとして読み込んでヘッダフッタ削ってDIBにするとかみたいな)

・・・今更DirectDrawとかいうな
■ このスレッドは過去ログ倉庫に格納されています