04/08/01 14:10 xMA3M3cR
>>398
//普通の
D3DVERTEXELEMENT9 normal[] = {
0, 0,D3DDECLTYPE_FLOAT3,D3DDECLMETHOD_DEFAULT,D3DDECLUSAGE_POSITION,0,
1, 0,D3DDECLTYPE_FLOAT3,D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL,0,
2, 0,D3DDECLTYPE_FLOAT2,D3DDECLMETHOD_DEFAULT,D3DDECLUSAGE_TEXCOORD,0,
D3DDECL_END()
};
//バンプマップ
D3DVERTEXELEMENT9 bump[] = {
0, 0,D3DDECLTYPE_FLOAT3,D3DDECLMETHOD_DEFAULT,D3DDECLUSAGE_POSITION,0,
1, 0,D3DDECLTYPE_FLOAT3,D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL,0,
2, 0,D3DDECLTYPE_FLOAT2,D3DDECLMETHOD_DEFAULT,D3DDECLUSAGE_TEXCOORD,0,
3, 0,D3DDECLTYPE_FLOAT2,D3DDECLMETHOD_DEFAULT,D3DDECLUSAGE_TEXCOORD,1,
4, 0,D3DDECLTYPE_FLOAT3,D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TANGENT,0,
4,12,D3DDECLTYPE_FLOAT3,D3DDECLMETHOD_DEFAULT,D3DDECLUSAGE_BINORMAL,0,
D3DDECL_END()
};
すいません。こんな感じです。
上はエラーは出ませんが、表示はされません。
下はエラーが出て、表示もされません。
400:344
04/08/01 18:22 KObr4ywu
俺のバンプも表示されなくなっちまったぜ~へっへっへっ…うわ~ん!
D3DVERTEXELEMENT9 declDisplay[] =
{
{0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0},//x,y,z
{0, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL,0},//nx,ny,nz
{0, 24, D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR,0},//color
{0, 28, D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR,1},//specular
{0, 32, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0},//tu0, tv0
{0, 40, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD,1},//tu1,tv1,tw1
{0, 52, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 2},//sx,sy,sz
{0, 64, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 3},//tx,ty,tz
{0, 76, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 4},//xx,xy,xz
D3DDECL_END()
};
401:名前は開発中のものです。
04/08/01 21:38 xMA3M3cR
>>400
実はまだ手をつけていないんですが、
HLSLで組んだもの(自作)は今のところ全滅ですw
今からSDKのサンプル見て違いを探します。
402:名前は開発中のものです。
04/08/02 00:55 Cumi6unV
デバッグしてたら、変なところぶっ壊したらしく
PCがおかしくなりますたw
403:名前は開発中のものです。
04/08/02 06:32 RAsJjWQB
(ノ∀`)アチャー
404:名前は開発中のものです。
04/08/02 12:58 48yMNFmC
RPGツクールXPは、RPGを作るためのソフトです。
非常に高性能・高機能ですので、RPG以外のゲームを作ることもできます。現時点では、最高のツクールソフトと言えるでしょう。
RGSSというスクリプト言語がベースになっており、プログラミング言語に近いことができます。
また、従来のツクールシリーズの作り方も踏襲しており、RGSSを意識しなくても、ゲームを作ることができます。
簡便さと発展性を兼ね備えた、究極のツクールと言って良いでしょう。
と、言ってみる
405:名前は開発中のものです。
04/08/02 17:19 5/vDCotE
C++は、ゲームを作るためのソフトです。
非常に高性能・低機能ですが様々なライブラリを使用できるので、ゲーム以外のソフトを作ることもできます。現時点では、最高の作るソフトと言えるでしょう。
Cというプログラミング言語がベースになっており、スクリプト言語より凄いことができます。
また、従来のCの作り方も踏襲しており、オブジェクト指向を意識しなくても、ゲームを作ることができます。
簡便さと拡張性を兼ね備えた、究極の言語と言って良いでしょう。
でどうだ。
406:名前は開発中のものです。
04/08/02 17:31 V0vfFI6d
>405
C++はソフトじゃありません。
407:名前は開発中のものです。
04/08/02 17:37 UJk791LC
また微妙なとこを突いてきたな
408:名前は開発中のものです。
04/08/02 17:45 2byonaka
「ふたほう」の、
BBXの例の漢字読めない厨房って、
>>333が書いてる「厨房回答者」と同一人物だ・・・。
409:名前は開発中のものです。
04/08/02 18:21 D6TGTUyj
>>399-400
特に問題ないね、なぜ駄目なんだろう。
俺はノートPCに開発環境を移した関係で
ピクセルシェーダー関係は確認していなかったんだが
やっぱりバンプは失敗するのかな。
とりあえず頂点シェーダーのみは無問題だったが。
410:名前は開発中のものです。
04/08/02 19:57 5/vDCotE
ふた:訓読み
ほう:音読み
すごいと思った。
参考にしようと思った。
>>409を書き換えてあげます。
特にといだいないね、なぜだもくなんだろう。
俺はノートPCにひらはつたまきょうを移したせっけいで
ピクセルシェーターせっけいはたしにんしていなかったんだが
やっぱりバンプはうしぱいするのかな。
とりあえずいただきてんシェーダーのみはなといだいだったが。
411:名前は開発中のものです。
04/08/02 22:02 Cumi6unV
>>409
ご迷惑おかけしました。
SDKのソースと見比べてみたところ、
実はエフェクトの設定を下のように設定しなければいけなかったみたいです。
これで表示されるようになりました。
お付き合い頂き誠にありがとうございました。
effect->Begin(&tem,0);
effect->BeginPass(mPass);
//描画処理
effect->EndPass();
effect->End();
412:名前は開発中のものです。
04/08/02 22:29 07o4uf2l
俺もPassをBeginPassに変更した点以外同じ。
でも駄目だった。
何が悪いのか考えるのも、めんどっちーから前のバージョンに戻した。
時が解決してくれるだろうw
413:名前は開発中のものです。
04/08/02 22:33 Cumi6unV
>>412
前のバージョンではBeginとEndが無くても動いたわけですがその辺は大丈夫でしょうか?
つまり、私の場合はeffectのBegin関数とEnd関数が無かったわけですが。
414:名前は開発中のものです。
04/08/03 09:57 FP35Pks2
>>412
オレの場合、EndPass()を忘れていた所があって、9bでは動いていたけど、9cではエラーになったよ。
Begin( numPass, 0 );
BeginPass(0);
draw();
EndPass(); ←これを忘れていたら9cでは×だった。
End();
もし、VC++使っているんだったら、DirectXコントロールパネルでDirect3DをDebugモードに切り替えると、VCの"output"ウィンドウにDirectXのエラーメッセージがでるよ。
メッシュをちゃんと描いているのに画像が出ないとかDirectX内部でエラー処理されて無視されているわけわかんないバグ取りに役立つ。
415:名前は開発中のものです。
04/08/03 10:07 b+weJY54
エフェクトは挙動がおかしいところがちょっとあるな。
ID3DXEffect::SetTechniqueの直後に
ID3DXEffect::GetCurrentTechniqueを呼び出すと
同じテクニックが返ってきたり返ってこなかったり。
416:名前は開発中のものです。
04/08/04 19:09 WFS4G4PK
ある基底行列mBasisをmRotationで回転させたいのですが
D3DXMatrixMultiply( &mBasis1, &mBasis, &m_mRotation );
と
D3DXVECTOR3 vR( mBasis( 0, 0 ), mBasis( 1, 0 ), mBasis( 2, 0 ) );
D3DXVECTOR3 vS( mBasis( 0, 1 ), mBasis( 1, 1 ), mBasis( 2, 1 ) );
D3DXVECTOR3 vT( mBasis( 0, 2 ), mBasis( 1, 2 ), mBasis( 2, 2 ) );
D3DXVECTOR3 vR1, vS1, vT1;
D3DXVec3TransformNormal( &vR1, &vR, &m_mRotation );
D3DXVec3TransformNormal( &vS1, &vS, &m_mRotation );
D3DXVec3TransformNormal( &vT1, &vT, &m_mRotation );
mBasis1 = D3DXMATRIX(
vR1.x, vS1.x, vT1.x, 0.0f,
vR1.y, vS1.y, vT1.y, 0.0f,
vR1.z, vS1.z, vT1.z, 0.0f,
0.0f, 0.0f, 0.0f, .0.0f );
では違う値になってしまいます。
下は望む結果が出るのですが、上は誤差?なのか下と微妙に違う結果になります。
なぜでしょうか?
417:名前は開発中のものです。
04/08/04 19:24 WFS4G4PK
自己解決しました。
mBasisが転置になってました。
もうちょっと調べてから書き込めばよかった・・
418:416
04/08/04 19:48 WFS4G4PK
違った。
正解はこれみたい。
D3DXMatrixMultiplyTranspose( &mBasis1, D3DXMatrixTranspose( &D3DXMATRIX(), &mBasis ), &mRotation );
行列は頭がこんがらがるなぁ。
419:名前は開発中のものです。
04/08/04 20:00 hSk7Y9/8
DirectDrawSurfaceで教えてくらはい
16bppのSurfaceのピクセルフォーマットは555と565以外の物って存在するんすかね?
あと、16bppでPrimarySurface作った後でSYSTEMMEMORY上に16bppオフスクリーンSurface作った時、
ピクセルフォーマットは同じである保証はあるのでしょうか?
(Primaryが565でOffScreenが555だったりしたらイヤン)
420:名前は開発中のものです。
04/08/04 21:21 uI3nmk7+
>>419
この世に生き残っているのは555と565だけ。
プライマリとオフスクリーンのフォーマットは同じ。
421:名前は開発中のものです。
04/08/04 21:27 4TyN42HM
RGB5A3だな
422:419
04/08/04 21:49 hKOnHnTA
マリガトン
いらん心配だったみたいね
423:名前は開発中のものです。
04/08/09 15:31 YK+Ecc2p
NVIDIA、デスクトップ用チップ不振で大幅減益
URLリンク(www.itmedia.co.jp)
>「市場で異例の出来事がいくつか重なった結果
いや、自業自得だろ。
424:名前は開発中のものです。
04/08/10 14:09 x3RQWXF2
>>419
明示的に指定すればプライマリと違うフォーマットでも作れるぞ。
何も指定してなければプライマリと一緒。
というわけで、保証されてはいないが、特に指定した覚えがなければ
気にする必要はない。
425:名前は開発中のものです。
04/08/10 16:50 s68euKkc
アニメーションっていうのかな?
3Dの人などのモデルを歩かせたいんだけど間接とかで動かしたいん
だけどどうすればいいのかわかりません。
どなたか助けて
426:名前は開発中のものです。
04/08/10 16:52 ci9GUBOp
>>425
ワンスキン・スキニング・ボーンなどなど。
SDKサンプルに入っているのを見ようとは思わない?
427:名前は開発中のものです。
04/08/10 19:40 wVs3skAG
スキンメッシュ使ってんなら、
自分で指定した行列をセットすればできるよ。
428:名前は開発中のものです。
04/08/10 22:12 OALsNdeP
DirectX9cを使ってる人はどれくらいいんの?
429:名前は開発中のものです。
04/08/10 23:54 FRiHxzCj
838861人くらいかな
430:名前は開発中のものです。
04/08/12 03:57 fg6dyKsT
BBXでカキコしたけど相手にされなくて
こっちに来て助けを求めている羊が何名かいるようだな。
431:名前は開発中のものです。
04/08/12 05:02 ouic0Ye9
【ふたほう】厨房王国BBX【効率を削減ライブラリ】
【ホーマット】厨房王国BBX【重いどうり】
432:名前は開発中のものです。
04/08/12 12:08 Pu8PGMOq
【MMO】みんなでネトゲ作ろうぜ【RPG】スレ
スレリンク(entrance板)
↑のスレのスレ主です、まだぜんぜん白紙なのですが
いまはまだ白紙の状態なのですがいま他のスタッフとスレの人とでアイディアを出し合っています
お願いします俺はこのプロジェクトに賭けているんです。
どうか、どうか協力してください。゚(゚´Д`゚)゚。
433:名前は開発中のものです。
04/08/12 15:07 Ervrl36o
いきなりMMOにチャレンジする初心者の多いこと…
まずは一人で遊べる「インベーダーゲーム」とかでも作ってみたらどうよ?
そんでもって、インベーダーと砲台をMMO化しると。
434:名前は開発中のものです。
04/08/13 02:02 KHJl2h+v
作りたいゲームと作れるゲームには大抵ひらきがあるからな。
435:名前は開発中のものです。
04/08/13 02:48 PB6WbjSS
MMO企画厨は、技術検証もせずに
たいていシナリオ先行型w
436:名前は開発中のものです。
04/08/13 18:39 GTonJWbj
MMO厨でシナリオ先行って聞いたことないなw
大抵スキルとか生産とかで大妄想して
ネットワークコードも書かずに終わる
437:名前は開発中のものです。
04/08/13 20:31 eFu2IU8S
Xファイル出力でキャラを表示させたのですが、アニメーションの最前線では
どういった形で動いてるの?
Xファイル(頭、手、体、足)みたいに分けてそれを行列を使ってとかですかね?
それともXファイルをいくつも用意してそれを変えてく?
さあ、どっち!!
438:名前は開発中のものです。
04/08/13 20:41 cquwXCm5
> アニメーションの最前線
分野が広すぎて、どの分野のことを言っているのか分からず意味不明。
とりあえずXファイルじゃないことは確か。
439:名前は開発中のものです。
04/08/13 21:01 bns5xtH0
>>438
ワカンネーのなら答えんな!消えな糞!
440:名前は開発中のものです。
04/08/13 22:50 2yEX/S7c
>>437
「どっち!!」じゃねぇよ馬鹿。
ボーンもしらねぇ糞餓鬼は糞して寝ろ
441:名前は開発中のものです。
04/08/13 23:19 JwSIe6qm
アニメーションの最前線では、
動作部分のセル画を一枚一枚書いているのですよ。
ボーンもスキンもましてや行列なんて関係ありません。
442:名前は開発中のものです。
04/08/13 23:37 nPJIRCin
おばあちゃんだめ。
ここにはお父さんもお母さんもいないもん。
443:名前は開発中のものです。
04/08/14 15:50 Tqhot9Gc
DirectX8.1を利用してゲームを作ろうと思っているのですが、
DirectX9の参考書は沢山あっても、DirectX8で良いのがありません。
DirectX9の参考書で勉強しても支障はないでしょうか?
444:名前は開発中のものです。
04/08/14 18:10 1SQO+BjR
>>443
DirectX9はdirectdrawとdirect3Dが一つに合体してるよ
445:名前は開発中のものです。
04/08/14 18:20 NkoqHJ4d
>>443
DirectX Graphics以外は、普通に使う分には全く(ほぼ)同じ。
DirectX Graphicsでの目立った違いは、
プレゼンテーション周り、シェーダ・エフェクト周り、SetVertexShader→SetFVF。
ほかの資料などを参照してそこらへんを読み替えられるのであれば、
全く問題ない。
446:名前は開発中のものです。
04/08/14 18:21 /Kf97LYg
合体ではなく廃止。
ついでに言えばその状況はDirectX8からなんだが、何が言いたいんだ?
447:名前は開発中のものです。
04/08/14 18:58 1SQO+BjR
廃止されたらサーフェイスの初期化ができなくなる
よって合体なり
448:名前は開発中のものです。
04/08/14 20:51 XRLALKIN
>443
URLリンク(www.microsoft.com)
449:名前は開発中のものです。
04/08/14 20:58 /Kf97LYg
>>447
Direct3Dからは合体ではなく完全に廃止。
サーフェイスとDrawはイコールではない。
後は3Dデバイスからは隔離された形で、DirectShowとC#用に残っているだけ。
450:名前は開発中のものです。
04/08/14 21:28 VJLygUuK
7までは確か
DirectDrawの初期化 Surfeceの作成
↓
上のを使ってDirect3Dの初期化
となってたから、合体でも別にいいんじゃないか。
というか、合体だろうが廃止だろうが、そんなこたーどうでもいいじゃないか。
451:名前は開発中のものです。
04/08/15 15:50 tEZqQFNr
2003summerSDKでDirectPlayを試してみてるんですが、
HRESULT hr;
と定義すると
「'hr' : 識別名を宣言するのに、型が指定されていません。」
とエラーが出てコンパイルできません。
こんなところでエラーが出てさっぱり意味がわからないのですが、
これは何なんでしょうか。ご存知の方がいたら教えてください。お願いします。
452:451
04/08/15 16:19 tEZqQFNr
板間違えました。他いってきます。すいません。
453:名前は開発中のものです。
04/08/15 16:30 c1nmB8Qn
#if !defined()
ってどういうことですか?
#ifndef
とちがうのですか?
directxのサンプルでは同じように使っているような気がするのですが・・・。
初心者です。お願いします・・・。
454:名前は開発中のものです。
04/08/15 20:56 IeQNR+c5
>>453
ヘルプに書いてあるけど、同じ意味を持つよ。
455:名前は開発中のものです。
04/08/16 07:14 WPAsl4c1
>>454
サンクス!
456:443
04/08/16 08:54 0pYdmfWN
みなさん、とても参考になりました。
8より9の参考書を買った方が使えそうなので、ネットと併用して勉強しようと思います。
ありがとうございました!
457:名前は開発中のものです。
04/08/18 06:12 aECUphq4
自HP(ライフ)の状態によって、文字の色を変えたく思っています。
文字自体は一枚のテクスチャ(グレースケールの.bmp)に全て描いてあります。
色ごとにテクスチャを用意するのは辛いので、
頂点カラーとブレンドして表示したいのですがどうにも上手くいきません。
.bmpの情報をアルファ、頂点カラーを色とするには
どういう手順でやれば良いのでしょうか…。DirectX9です。
458:名前は開発中のものです。
04/08/18 08:52 gKvCATyJ
>>457
頂点カラーでは効率が悪いので定数色にすればいい。
d3dDevice->SetTextureStageState( 0, D3DTSS_CONSTANT, 文字の色 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3D3DTOP_SELECTARG1 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT );
d3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3D3DTOP_SELECTARG2 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT );
459:458
04/08/18 09:00 gKvCATyJ
間違った!これね。
d3dDevice->SetTextureStageState( 1, D3DTSS_CONSTANT, 文字の色 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3D3DTOP_SELECTARG2 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT );
d3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3D3DTOP_SELECTARG1 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT );
よくわからんがtextureFactorの方がよさそうか。
d3dDevice-SetRenderState( D3DRS_TEXTUREFACTOR, 文字の色 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3D3DTOP_SELECTARG2 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_TFACTOR );
d3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3D3DTOP_SELECTARG1 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT );
460:458
04/08/18 09:04 gKvCATyJ
ぎゃーまた間違った!鬱だ氏のう
慣れないことはしないもんだ。。
d3dDevice->SetTextureStageState( 0, D3DTSS_CONSTANT, 文字の色 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3D3DTOP_SELECTARG2 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CONSTANT );
d3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3D3DTOP_SELECTARG1 );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT );
461:457
04/08/18 09:29 aECUphq4
試してみたのですが出来ず、
調べてみたら、うちのビデオカードはD3DPMISCCAPS_PERSTAGECONSTANTの
フラグが立ちませんでした…_CONSTANT使えないみたいです。
折角書いてもらったのに申し訳ないです(´・ω・`)
462:名前は開発中のものです。
04/08/18 12:00 Gn12Xz81
頂点バッファの頂点に対応した画面上の座標の取得方法はどうやるのですか?
DirectX 8.1のVCです。
463:名前は開発中のものです。
04/08/18 12:08 I8z10sIf
頂点バッファと実際の座標は対応していません。
よって取得する方法など存在しません。
464:名前は開発中のものです。
04/08/18 13:22 a9mH/iKH
>457
とりあえずおまえの設定した
SetTextureStageState
SetRenderState
を書け。
465:名前は開発中のものです。
04/08/18 13:30 gKvCATyJ
>>461
ではtextureFactorはどうか。
どっちにしても肝はalphaの方なんで
rgbはマテリアルだろうがなんだろうが
どれでもいい。
ちなみに>>460も間違ってるのでよろしく。
>>462
頂点バッファの出力 oPos
ビューポートの行列 mViewport (URLリンク(www.microsoft.com))
float4 pos = float4( oPos.xyz / oPos.w, oPos.w );
pos = pos * mViewport;
466:名前は開発中のものです。
04/08/18 17:53 mLZSwSlt
>>457
単純に頂点カラーに色入れて
COLOROPをMODURATEにすれば動きますよ。
α成分も変更したけりゃALPHAOPもMODURATEにする。
あと、文字以外の周辺の部分は透明にするんじゃないの?
それならbmpにグレースケールじゃなくて、真っ白なtgaのα成分に文字書かないと。
この方法は頂点カラー設定がめんどくさいとか、
真っ白なテクスチャで無駄が多いとかはあるけど
一番単純だし、ほぼすべてのビデオカードでサポートされるから
とりあえず最初はこの方法でやるのがよいと思われ。
467:名前は開発中のものです。
04/08/18 17:58 4mdm1QSQ
>>461
シェーダーかけりゃめちゃ簡単なんだけどね。
で、頂点カラー使う必要ないでしょ。カラー取得をマテリアルにして、
SetRenderState( D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_COLOR1 );
マテリアルのディフューズカラーに使いたい色をセットして、マテリアルをセットし、
テクスチャ(文字色は白ね)とセットしたディフューズカラーを掛け算。
SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE );
以上
468:名前は開発中のものです。
04/08/18 18:01 GFEQHMlA
専門用語ばっかりでよく分かりません
専門用語を使わないで教えてください
469:467
04/08/18 18:03 4mdm1QSQ
俺も間違えちゃった。一番上のやつ↓ね。COLOR1じゃなくってMATERIALだから。
SetRenderState( D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_MATERIAL);
>>468
無理。
470:名前は開発中のものです。
04/08/18 18:18 K9yJrd29
>>468 その前に聞け
471:467
04/08/18 18:43 4mdm1QSQ
そういうことか。ぜんぜん質問読んでなかった。そんだったら、
ビットマップの方でα値を各ピクセルにセットしておく。
マテリアルのディフューズカラーのα値は最大(1.0fか、255)にしといて、任意のカラーをRGBをセット。
マテリアルをセット。
したら、アルファブレンドの設定をして,
SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE);
SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA );
SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );←もしくは、D3DBLEND_ONE
あとはさっき書いたとおり、
SetRenderState( D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_MATERIAL);
SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE );
でテクスチャをサンプラー0にセットしてフォントを描画。
472:457
04/08/18 21:21 aECUphq4
帰ってきたら更に沢山のレスが(n‘∀‘)η シアワセー
全て試してみましたが、見事に文字色が変わっております。
どうして上手くいくのかまだ良く分からないので、これから
じっくりヘルプとにらめっこしてきます。
皆さんレスありがとうございました。
473:名前は開発中のものです。
04/08/18 22:52 PhkND6gf
ソースコード載せて話すると余計わけわからなくならねぇか?
ようはα情報だけ生かして、文字を描画したいって話だろ?
色をテクスチャからとってこないで、自分で付けて、
αだけテクスチャからとってくる。
実現方法は好きにしろ。って話じゃないの?
474:名前は開発中のものです。
04/08/19 00:22 YunhQ2VJ
SetRenderState( D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_MATERIAL );
↑これってライティングがONでないと効果ないみたいね。
475:名前は開発中のものです。
04/08/19 00:34 0V0sHZVM
>>474
早くHLSLに変えろ、
頭悪くなるぞ。(マジで)
DirectXのこの辺は最悪だと思うよ。(俺は)
476:名前は開発中のものです。
04/08/19 08:15 Bswuyzyx
「この辺」が何を指すのかわかりません
477:名前は開発中のものです。
04/08/19 15:12 DiZ9VDt0
この辺と言えばその辺しかないだろ!!
ちなみにPS1.3も同じくらい最悪。
nVidiaもなんでこんなもん作ったんだか
478:名前は開発中のものです。
04/08/19 15:33 ohk01tV7
これ
それ
479:名前は開発中のものです。
04/08/19 16:01 k5TKiz0U
まあ愚痴は無能の典型って事で。
480:名前は開発中のものです。
04/08/19 16:06 z/O2jqMO
バカでも分かるようにもっと簡単な仕様にして欲しいよ>DirectX
ゲームアルゴリズムの方に注力したいのに
DirectX周りの事に振り回されるのは勘弁
481:名前は開発中のものです。
04/08/19 16:09 IqodorHI
ダイレクトXが何でもやってくれるから人間は何もやらなくなるんだよな
482:名前は開発中のものです。
04/08/19 16:56 OUH4KSQg
>>481
DirectXではなく、M$です。
483:名前は開発中のものです。
04/08/19 17:29 DNQdp83T
もっと何でもやってくれ
484:名前は開発中のものです。
04/08/19 17:59 wxxL2nxj
私の代わりに仕事してください
485:名前は開発中のものです。
04/08/19 21:09 4Ari2O79
>>480
「つくーる」使えよ。
486:名前は開発中のものです。
04/08/19 21:13 4Ari2O79
>>477
「この辺」って固定パイプラインの暗黙の仕様のことだろ?
たしかにそういう面はある。
原因がまったく不明のバグがそれだったりする。
487:名前は開発中のものです。
04/08/19 21:33 mwTy6RZE
>>480
ノ スレリンク(gamedev板)
488:名前は開発中のものです。
04/08/19 23:31 DoxkasxA
ジャ ・ ジャ ・ ジャ ・ ジャンクロード
バ ・ バ ・ バ ・ バ バ ン ・ バンダム
WOW!
489:名前は開発中のものです。
04/08/20 02:08 NSwcxKVN
URLリンク(monsho.hp.infoseek.co.jp)
ここのサンプルを参考にしながら、ジオメトリブレンディングを
やってみたんですが、エラーは出ないものの、
グラフィックが全く表示されないんです・・・。
もし誰か時間のある方がいましたら、下の私のソースを見てもらえないでしょうか?
原因が全く分からないんすよ・・。
URLリンク(www.h3.dion.ne.jp)
490:名前は開発中のものです。
04/08/20 02:59 /Ulut1Sl
>>489
draw.cpp:72 の
,&D3DXVECTOR3(0.0f, 0.0f, 0.0f));// 上の向き
を
,&D3DXVECTOR3(0.0f, 1.0f, 0.0f));// 上の向き
にしたら見えたぞ
491:名前は開発中のものです。
04/08/20 09:34 NSEkMdfG
暇なんでDX9cのHLSLの最適化について最近わかったことを書いてやろう。
・structはuniform引数に使ってはならない。
実際には使わないメンバがあったとしてもそのまま残ってしまう。
同様に、例えば、uniform引数としてfloat変数を4つ定義していた場合
最適化によってこれがfloat4にまとめられるといったことはない。
あらかじめ意識してベクトルにまとめられるものは自分でまとめておく必要がある。
・preshaderは、式の並びに影響される。例えば、
auto変数 = uniform変数 * uniform変数 * auto変数
は正しく最適化され、uniform変数が1つ減らされるのに対し
auto変数 = auto変数 * uniform変数 * uniform変数
はなったりならなかったり挙動不審になる。
・pixel shader v1.3 以下は最適化度が低い。
なって当然の最適化がされないケースが多い。
492:489
04/08/20 10:15 ovGi7XBj
>>490
マジサンクス!
盲点だった・・・。てっきりそこはできていると勘違いしていた。
本当にありがとうございました。助かりました。
493:名前は開発中のものです。
04/08/21 00:44 eREZOx5x
【トーリス】厨房王国BBX【ガリー】
\ ∩─ー、
\/ ● 、_ `ヽ
/ \( ● ● |つ
| X_入__ノ ミ
、 (_/ ノ /⌒l
/\___ノ゙_/ / =====
〈 __ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザザ
(´⌒; (´⌒;;;
494:名前は開発中のものです。
04/08/21 06:04 TCC4rTsV
ID3DXSprite使って描画する場合Shader使えねーの?
495:名前は開発中のものです。
04/08/21 15:11 4tMYKEeH
>>491
ところで、HLSLコンパイラーの吐いたコードどうやって読んでいるの?
バイナリを直接? それとも逆アセする方法がある?
496:名前は開発中のものです。
04/08/21 18:31 /l6AyBmh
>>495
2004夏に、D3DXDisassembleEffectという
逆アセンブラが追加されてる。
497:名前は開発中のものです。
04/08/22 00:45 pjZbrb1x
インデックス値やブレンド値について全然理解できないんですけど、
これについて勉強できる本とかお勧めありませんか?
よろしくお願いします。
498:名前は開発中のものです。
04/08/22 00:50 P2Ty49Qy
>>497
やっぱ数学の教科書じゃねぇ?
499:名前は開発中のものです。
04/08/22 01:44 9ScR6g1n
インデックスが全然理解できないなら
今のうちにあきらめるってのもありだと思う。
500:名前は開発中のものです。
04/08/22 02:39 sxzctg75
>>496
おーー!ありがとう!
501:名前は開発中のものです。
04/08/22 02:47 sxzctg75
>>497
バーテックス・ブレンドでもαブレンドでもいいけど基本は、
B = ブレンド値の値域は0.0~1.0とし,X1, X2 を任意の実数とすると,
X1とX2をブレンド値Bでブレンドした値Xは,
X = BX1 + (1.0 - B)X2
ってだけの話。
502:名前は開発中のものです。
04/08/22 12:49 gJQRB25Q
任意の実数は何の数字ですか?
503:名前は開発中のものです。
04/08/22 14:10 bukVXTsc
>>502
別に実数でなくても、ベクトルだって行列だってテンソルだって調味料だってなんだっていい。
混ぜ合わせたい物同士を好きな割合で混ぜようね、ってだけの話。
504:名前は開発中のものです。
04/08/22 14:25 QGnhciD/
例えば3と10を0.4でブレンドすると
0.4*3+(1.0-0.4)10=7.2
の7,2は何を表すのですか?
505:名前は開発中のものです。
04/08/22 15:00 P2Ty49Qy
>>504
そうやって考えるからわからねぇんだろ。
わかりやすい例でいうとだな。
例:白(白100%)に黒(黒100%)を30%でブレンドします。
(結果は白に近い灰色(白70%)ってわかるよね?)
白(255,255,255)
黒(0,0,0)
30%だから0.3
(0,0,0)*0.3 + (255,255,255)(1.0-0.3) = (255,255,255)*0.7
0.7だから70%。これがブレンド。
用語として覚えておくといい言葉がソースとディスティネーション
プログラムのソースコードではよくsrcとdestって略して使う人が多い。
この例の場合だと黒がsrcで白がdestってなる。
506:名前は開発中のものです。
04/08/22 21:03 XlCpKW53
DirectX9についてるサンプルのStencilShadowVolumeについて質問
エフェクト中のVSでシャドウボリュームをファークリップ面まで引き伸ばしてるのはわかるんですが
投入されたすべての頂点がこのシェーダによってファークリップ面に投影されるだけに見えます。
ですが実際は元の頂点とファークリップ面に投影された頂点を繋ぐfaceがレンダリングされています。
GenerateShadowMesh中のdegenerate quadのあたりが肝なのかもと考えたんですが、うまく解釈できません。
これはどのようなカラクリで元の頂点と投影された頂点を選別しているのでしょうか?
ご存知の方がいたらご教授ください。
507:名前は開発中のものです。
04/08/22 21:31 Bbo1HlWE
カ ラ ク リ ロ ボ
508:名前は開発中のものです。
04/08/22 23:45 mRDiSQCY
>>505
俺は>>504じゃないけど、分かり易い!
なるほどそういう意味だったか。
インデックス値の付け方についても分かりやすく教えて欲しい・・・。
509:506
04/08/23 01:02 mRY69xBL
ウホッ
うたたねしてから酸素エアチャージャーでリフレッシュしたらピキューンと来たよ。
というよりFXファイルに露骨に書いてあった。よく見ろ俺。
510:506
04/08/23 01:02 mRY69xBL
sageわすれた。orz
511:名前は開発中のものです。
04/08/23 04:27 jJ0sQphW
508 名前:名前は開発中のものです。 投稿日:04/08/22 23:45 mRDiSQCY
>>505
俺は>>504じゃないけど、分かり易い!
なるほどそういう意味だったか。
インデックス値の付け方についても分かりやすく教えて欲しい・・・。
509 名前:506 本日のレス 投稿日:04/08/23 01:02 mRY69xBL
ウホッ
うたたねしてから酸素エアチャージャーでリフレッシュしたらピキューンと来たよ。
というよりFXファイルに露骨に書いてあった。よく見ろ俺。
510 名前:506 本日のレス 投稿日:04/08/23 01:02 mRY69xBL
sageわすれた。orz
512:名前は開発中のものです。
04/08/23 13:05 tN3llfcH
>>511
大丈夫?
513:名前は開発中のものです。
04/08/23 13:08 DSpaAwyx
>>512
だいじょうぶ
514:名前は開発中のものです。
04/08/23 13:16 beHyX9iL
テクスチャブレンディングでD3DTOP_MULTIPLYADDを用いた結果
リファレンスだと正常に描画出来るのですがHALだと駄目です。
capsはD3DTEXOPCAPS_MULTIPLYADDは立ってます。
デバッグモードでも特にコメントはありませんでした。
何が駄目なんでしょう?
原因を特定出来る良い方法はないでしょうか?
515:名前は開発中のものです。
04/08/23 13:18 wxYezUtT
>>514
HALはその機能は使えない
516:名前は開発中のものです。
04/08/23 14:42 beHyX9iL
>>515
マジですか?
IDirect3DDevice9::ValidateDeviceもS_OKで特に問題ないのに・・。
でも、IDirect3DDevice9::ValidateDeviceのヘルプをみると
固定機能パイプラインって異常に制限多いんですね、、
ちょっとぐらい出力がおかしくても、仕方ないかって気分になります、、
517:名前は開発中のものです。
04/08/23 16:58 upIE7jtz
固定機能パイプライン(゚⊿゚)イラネ
518:名前は開発中のものです。
04/08/23 19:47 +kLiNW6H
東京湾アクアラインも(゚⊿゚)
519:名前は開発中のものです。
04/08/23 21:04 XKj25jdn
その結果パイプカット(゚⊿゚;)
520:名前は開発中のものです。
04/08/23 23:13 DL6HY/eF
コロッケパン(゚⊿゚)
521:名前は開発中のものです。
04/08/23 23:28 YlB84Pet
チンポコ(゚⊿゚)
522:名前は開発中のものです。
04/08/24 09:34 5Vm6MZAQ
素朴な疑問。
>>501程度の数式も理解できなくて、508はこの先どうするんだ?
523:名前は開発中のものです。
04/08/24 11:17 e7V9r6bl
数式は証明が無いと分からないだろ
頭の良い人が作った式を素人がみただけで分かるわけ無いよ
524:名前は開発中のものです。
04/08/24 11:17 hdyd3kuK
自分一人じゃ何も調べられない何も作れないダメ人生を送るに決まってるじゃん。
525:名前は開発中のものです。
04/08/24 11:44 Q07kn5MI
2chで煽る奴って初心者なのかな?
いちいちダルくないのか?
526:508
04/08/24 13:23 qV4bxq5D
>>522
いや、この数式は単純だから理解できます。
ただこれを人間の間接に使おうとしたらどうやったらいいのかわからなくなった。
>>524
それが人生はうまくいってるんですよw
就職決まったし、かわいい彼女もできたし。
プログラムは趣味だけど、これがなかなかうまくいかないww
527:名前は開発中のものです。
04/08/24 13:57 13Gj+qma
>>526
おまえ面白いな
関節に使おうとしたらどうしたら・・・って
関節にゃ角度と位置しかないんだから
それぞれに出た係数掛け合わせりゃいいじゃないか
>>505も言ってるけどsrcとdest間違えるなよ
あと回す順番も
528:名前は開発中のものです。
04/08/24 14:15 5ubTAk4O
>>527
人生面白い。
それぞれに出た係数ってよく分からないけど、
どっからそれが出てくるの?
529:名前は開発中のものです。
04/08/24 16:31 9dgmLFFj
>>528
>それぞれに出た係数ってよく分からないけど
>どっからそれが出てくるの?
え・・・。なんで分からないのか分からないんだけど。
『人間の間接に使おうとした』の部分を具体的に
説明してくれない?
現在値~目標値の補間を行う、という話なんだから
目標値は当然あなたが用意するわけで。普通は
アニメーションファイル等から読み込んでるはず。
530:名前は開発中のものです。
04/08/24 18:32 MQ0gFcqi
少し質問なのですがDirectXの頂点シェーダのライティングの処理に関してなのですが
例えば三角形ABCが存在してそのABCの中にライトを当てて三角の中に丸い光が当たっている
ようなことができないみたいなことを聞いたのですが、これは三角形の頂点で処理を
していてその頂点を含んでいないので求めている処理ができないようですが
具体的に頂点に対してどういった処理をされているのか分かる方おりましたら
教えていただけませんでしょうか。もしかすると書いていることが間違っている可能性もあるので
そのときはご指摘よろしくお願いします。
531:名前は開発中のものです。
04/08/24 18:54 5Vm6MZAQ
>>530
頂点単位法線ベクトルを N、ディレクショナルライト単位ベクトルを Lとすると、
その頂点の明るさ=N・L (・は内積)
532:名前は開発中のものです。
04/08/24 18:58 5Vm6MZAQ
>>530
ようするに、それを Vertex Lighting に対して、Per Pixel Lighting といいます。
固定機能パイプラインでも、LIGHT構造体に減衰パラメーターと、
シェーディングパラメータとしてPHONGシェーディングがあるので
もしかしたらできるのかもしれないけど、固定は知らない。
シェーダーで記述すれば、per pixel lighting は可能です。
533:名前は開発中のものです。
04/08/24 19:26 Q07kn5MI
フォンシェーディングでも
ポリゴン内にスポットライトは無理。
お前にも家族がいるだろう、、ライトマップでも使うんだな。
534:名前は開発中のものです。
04/08/25 00:26 0I+idDk/
すいません、
恥かしながら視点の変更でつまずいてしまったのですが、お聞きしてよろしいですか?
下のコードにおいて、
D3DXMatrixRotationY はきちんとY 軸回りにカメラの位置が回転するのですが、
D3DXMatrixTranslation はカメラが微動だにしません。
どなたかご教授お願いします。
static D3DXVECTOR3 targetPos(5.0, 5.0, 5.0);
static D3DXVECTOR3 eyePos(10.0, 10.0, 10.0);
static float t = 0.0;
D3DXVECTOR3 d3dVec = eyePos;
D3DXMATRIX d3dMat;
t += (1 / g_game.GetFrameRate());
if (t > 0.1) {
t = 0.0;
//D3DXMatrixTranslation(&d3dMat, 1.0, 1.0, 1.0); // (←なぜか変換できない)
D3DXMatrixRotationY(&d3dMat, D3DXToRadian(1.0f)); // Y 軸回りにカメラの位置が回転する
}
eyePos.x = d3dVec.x * d3dMat.m[0][0] + d3dVec.y * d3dMat.m[1][0] + d3dVec.z * d3dMat.m[2][0];
eyePos.y = d3dVec.x * d3dMat.m[0][1] + d3dVec.y * d3dMat.m[1][1] + d3dVec.z * d3dMat.m[2][1];
eyePos.z = d3dVec.x * d3dMat.m[0][2] + d3dVec.y * d3dMat.m[1][2] + d3dVec.z * d3dMat.m[2][2];
D3DXMatrixLookAtLH(&d3dMat, &eyePos, &targetPos, &D3DXVECTOR3(0, 1, 0));
m_pD3DDevice->SetTransform(D3DTS_VIEW, &d3dMat);
535:名前は開発中のものです。
04/08/25 00:29 qRb4hBww
>>534
D3DXMatrixTranslation でできた行列を確認してミロw
536:534
04/08/25 01:10 0I+idDk/
>>535
ああっ!転置行列になってる!!Σ(゚д゚lll)ガーン
ベクトル要素計算部分をコピペした私が悪かったです。ごめんなさいぃ・・・。
537:534
04/08/25 02:29 0I+idDk/
転置行列じゃなくてw成分の計算やってませんでした・・・あぁぅ。
538:名前は開発中のものです。
04/08/25 03:41 jOyMajPZ
こういうのは初心者相談スレで質問しとけ。
539:名前は開発中のものです。
04/08/25 03:42 i8SLSE9L
//D3DXMatrixTranslation(&d3dMat, 1.0, 1.0, 1.0); // (←なぜか変換できない)
これ絶対狙ってるだろ、お前。
540:名前は開発中のものです。
04/08/25 04:40 Gvn5T2T+
>>536
ひょっとして、このコードでd3dMatに回転と移動を合成した行列ができると思っているの?
D3DXMatrixTranslation(&d3dMat, 1.0, 1.0, 1.0); // (←なぜか変換できない)
D3DXMatrixRotationY(&d3dMat, D3DXToRadian(1.0f)); // Y 軸回りにカメラの位置が回転する
行列の掛け算の意識ある?
541:名前は開発中のものです。
04/08/25 13:08 zbS3DhhP
DXの深度バッファのヘルプには
>使用する数学的処理が原因で、Z バッファに生成される z 値は、
>Z バッファの範囲 (通常 0.0 から 1.0) 全体に均等に分布されない傾向がある。
>特に、遠くのクリップ面と近くのクリップ面の間の比率は、z 値の不均一な分布に強い影響を与える。
>近くの平面の距離に対する遠くの平面の距離の比率を 100% とした場合、
>深度バッファ範囲の 90% がシーンの深度範囲の最初の 10% に費やされる。
とありますが、具体的には透視変換後のZ値(0.0f~1.0f)はどのようにZバッファへマッピングされるのですか?
単純にキャストしていると思えないんですが・・。
542:名前は開発中のものです。
04/08/25 14:13 lI+VEb/x
サーフェイスを作った後
画面の指定した場所に2Dの点を打つには
どうやったらできますか?
教えてください
543:名前は開発中のものです。
04/08/25 23:09 eywPAfew
>>541
D3DFMT_D16_LOCKABLE 指定して、自分で見てみればいいんじゃないの?
544:名前は開発中のものです。
04/08/27 03:35 ftgHyjZb
今日は人間の間接に使う行列の乗算の順番で悩みました。
でも夜中まで頑張ったおかげで意味が分かってきました。
こんなことに何時間も費やしてる俺はアホか・・・。
545:542
04/08/27 12:40 fXeR5OoH
僕の質問にも答えてください
よろしくお願いします
546:名前は開発中のものです。
04/08/27 13:32 W08LCOr8
>>542
ちょっと情報が少なくて答えるのが難しい。
DirectXのどのバージョンを使っていますか?
せめてDirectDrawかDirectGraphics(Direct3D)の
どちらを使っているか書こう。
>画面の指定した場所に2Dの点
これももう少し具体的に。
547:名前は開発中のものです。
04/08/27 13:35 fXeR5OoH
DirectX9を使ってます
画面に点というのは
X座標とY座標に色の付いた点を表示することです
点で線を描いたり色を塗ったりしたいです
アニメーションみたいに動くようにもしたいです
548:名前は開発中のものです。
04/08/27 13:38 9LO7GYUh
自力描画の学習用途ならDibSectionのほうが良いぞ
549:名前は開発中のものです。
04/08/27 13:42 USOnSRSg
>>547
ここで質問する前に、チュートリアルで図形の表示くらいは最低限やっているよね?
それで何が問題なのか具体的に言ってみてくれ。
550:名前は開発中のものです。
04/08/27 13:43 fXeR5OoH
ポリゴンじゃ無い点が打ちたいのです
処理速度が速いのでダイレクトXが使いたいです
551:名前は開発中のものです。
04/08/27 13:48 USOnSRSg
サーフェイスをロックして書き込めばいいだけでは?
552:名前は開発中のものです。
04/08/27 13:50 fXeR5OoH
サーフェイスをロックするんですね
ロックしてみます
553:名前は開発中のものです。
04/08/27 14:07 USOnSRSg
点という単位を使う時点で、速度的に問題外なんだが。
しかもVRAMにランダムアクセスをかければ余計に遅くなるし、
システムメモリー側に領域をとるのなら、
DirectXを使ったからと言って、速度は上がらない。
554:名前は開発中のものです。
04/08/27 14:10 fXeR5OoH
ダイレクトXで2Dのゲームを作るときは普通どうやるんですか?
555:名前は開発中のものです。
04/08/27 14:12 cAd+6bNL
まあロックするとDirect3Dの意味が殆どなくなるし
普通はトランスフォーム済み頂点フォーマットを使うべきだろうな。
D3DXVECTOR4 pos( 横座標, 縦座標, 0.0f, 1.0f); // -1.0f~1.0f
d3ddevice->SetVertexShader( NULL);
d3ddevice->SetPixelShader( NULL);
d3ddevice->SetViewport( &viewport);
d3ddevice->SetFVF( D3DFVF_XYZRHW);
d3ddevice->DrawPrimitiveUP( D3DPT_POINTLIST, 1, &pos, sizeof(D3DXVECTOR4));
556:名前は開発中のものです。
04/08/27 14:17 fXeR5OoH
ありがとうございます
そうしてみます
557:名前は開発中のものです。
04/08/27 14:21 USOnSRSg
そもそもなぜ点が必要なのか分からないのだが、
まさか一枚絵を毎フレーム1ドットずつ描こうとかしてる?
558:名前は開発中のものです。
04/08/27 14:26 fXeR5OoH
一ドットずつ書こうとしてますよ
559:名前は開発中のものです。
04/08/27 14:29 USOnSRSg
それ無駄だから、チュートリアルのテクスチャのところまで最低限やってくれ。
560:名前は開発中のものです。
04/08/27 15:41 JmNyjy1C
点というのがひょっとしてドット絵のことを指しているんじゃないかと思えてきた。
ゲーム上においては、基本的に絵はポチポチ打つもんじゃなくてペタッと貼り付けるものだぞ。
いまどきでいえば、その方法はポリゴン+テクスチャ。
2Dとポリゴンは相容れないとか思ってないか?
たしかに数年前はそういう信仰が隆盛した時期があったが、
今ではたとえば2D格ゲーのキャラもゲージも一枚絵背景も、2Dポリゴンでぺったん。
(スプライトに特化したハードチップ積んでる業務用とかは別だけど)
561:名前は開発中のものです。
04/08/27 19:54 fXeR5OoH
貼り付けると日本のアニメみたいでドット絵はディズニーアニメのような気がします
562:名前は開発中のものです。
04/08/27 21:21 JmNyjy1C
(;´Д`)…?
563:名前は開発中のものです。
04/08/27 21:54 g/9FlyiK
(;゜Д゜)…???
564:名前は開発中のものです。
04/08/27 22:08 n9FyYm2Z
本物ですな
565:名前は開発中のものです。
04/08/27 22:51 wIFL1DE6
久々の、本物再来ですな
566:名前は開発中のものです。
04/08/27 23:11 eB76/2d9
>>561
ディズニーアニメも貼り付けて作ります。
567:名前は開発中のものです。
04/08/27 23:56 IvjAjLag
育てよう。
568:名前は開発中のものです。
04/08/28 11:09 Lw21I10N
2枚のテクスチャをアルファブレンドで半透明表示をしようと
しているのですが、色々試行錯誤してみましたが、
全く変わりません。下地の画像(Dest)、上書きの画像(Src)、共に表示は正常(アルファブレンド無しで不透明表示)です。
以下、問題になりそうな所で設定したものを列挙してみます。
・頂点バッファの色α値、Srcが0x80で、Destが0xff(頂点バッファは2つ用意)
・設定したSetTextureStageStateの引数を列挙すると、
(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
・引き続き、設定したSetRenderState、
(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
(D3DRS_LIGHTING, FALSE);
(D3DRS_ZENABLE, TRUE);
(D3DRS_ALPHABLENDENABLE, TRUE);
569:568
04/08/28 11:10 Lw21I10N
[上の続き]
・BeginScene内 {
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1)
pDevice->SetFVF( D3DFVF_CUSTOMVERTEX );
pDevice->SetStreamSource(0, g_pVB[0], 0, sizeof(CUSTOMVERTEX));
pDevice->SetTexture(0, g_pTexture[0]);
pDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2);
pDevice->SetStreamSource(0, g_pVB[1], 0, sizeof(CUSTOMVERTEX));
pDevice->SetTexture(0, g_pTexture[1]);
pDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2);
}
(最初はSrcの描画時、ALPHABLENDENABLEをFALSEで
Destでは、ALPHABLENDENABLEをTRUEにしてましたが、
変わりませんでした。(2枚不透明))
はぁ、分からむ。他に原因が有りそうな気がするが、色々試したんだけど。。
570:名前は開発中のものです。
04/08/28 11:55 EaM1yQP4
>>568
頂点の初期化部分も見てみたい。
× v->color = D3DXCOLOR( 0xff, 0xff, 0xff, 0x80 ); // floatでない
○ v->color = D3DCOLOR_ARGB( 0x80, fxff, 0xff, 0xff );
みたいなケアレスミスの悪寒。
571:名前は開発中のものです。
04/08/28 12:14 MSl7I4ZZ
単純に順番だったりしねーのかと小一時間(ry
572:568
04/08/28 13:09 Lw21I10N
>>570
その通りでした。でも、直してもダメだった。
ソース挙げた方が早いと思ったのであげました。
URLリンク(www.geocities.jp)
短かめだと思うので、どうかよろしく。
573:568
04/08/28 13:45 c9wMyvzy
ソースあげてから、気付いた自分の失態。
あぁ、恥ずかしい。変な所にreturn S_OKが入ってた。
それでは設定されないのは当たり前だ。
ワールド行列、ビュー行列、射影行列を設定しないようにしたら、
うまく表示されるが、すれば何も表示されなくなる。なぜ?
迷惑かけました。ありがとうございました。
誰も読んでない、と願う。即、削除だ
574:名前は開発中のものです。
04/08/28 16:24 ++PpbaSY
DirectInputを使ったジョイスティックの入力のやつが正しく動作しません。
コンパイルは通っても、完成したEXEファイルを実行するとウィンドウは開くのですが、一瞬で終了します。
ダイアログボックスで細かく調べた結果、86行目辺りに問題があるようです。
ソース : URLリンク(shiva.dip.jp)
86行目の部分について、サンプルではIID_IDirectInput8となっていましたが、
IID_IDirectInputでなければエラーが出てコンパイルできません。
エラー : 外部シンボル '_IID_IDirectInput8A' が未解決 (C:\C\YUKA\DX\TEST3.OBJ が参照)
リンクしたライブラリは dinput.lib dxerr9.lib dinput8.lib です。
環境 : WindowsXP BCC5.5 DirectX9SDK(アップデートなし)
よろしくお願いします。
575:某所で顔写真晒されたホゲー
04/08/28 16:43 8sL3miLU
C\YUKA\DX\ うそくせーーーーーーーーーー
576:名前は開発中のものです。
04/08/28 17:12 oqhdv2Sx
>>574
dxguid.lib も必要な気がするが、
coff2omf で作ったやつだと駄目な気がするな。
577:名前は開発中のものです。
04/08/28 17:26 8joSL+8n
directX色々ためしてやっとコンパイルできるようになったんだけど
ライブラリー(.lib)を普通はリンカに教えるのにコンパイラーに教えないと
コンパイルできないのはなぜですか?
578:名前は開発中のものです。
04/08/28 20:19 t2/ILfH2
>コンパイラーに教えないと コンパイルできない
コンパイルじゃなくてリンクだろ。
恐らく#pragmaのことを言ってるんだとは思うが、もうどうにでもしてくれ。
579:名前は開発中のものです。
04/08/28 20:27 bwn7nTe1
578のいうとおりだとするとリンカでは出来なくて
コンパイラーに教えないとコンパイルできない説明はどうしますか?
580:名前は開発中のものです。
04/08/28 20:29 WE2yckIh
MSのコンパイラだからもちろん決まってるじゃんか
「仕様です」
581:名前は開発中のものです。
04/08/28 20:34 WE2yckIh
ていうか 577はコンパイルとリンクの違いのとらえ方がちがうな
ふつうDirectXのプログラムをビルドした場合
プログラム自体の main.cpp→main.objはできるからコンパイルはできてる
でもライブラリの場所が設定されてないとBltFastとか関数の実体が見つからない系の言葉がでるじゃん
ようするにコンパイルはできるけどリンクができないって事だ
コンパイルは絶対できてるよ インクルードファイルもちゃんと読めていれば
582:名前は開発中のものです。
04/08/28 20:55 bwn7nTe1
それではライブラリーの場所を指定するんじゃなくて
ライブラリーをcppと同じ様にオプションを付けないでコンパイラーに
教えないとコンパイルできない証明になってないの
583:名前は開発中のものです。
04/08/28 22:01 0glZXjA8
とりあえずどういうオプションつけてコンパイルしてるんだか晒して欲しいな
何が言いたいんだかよくわからん
584:名前は開発中のものです。
04/08/28 22:32 GnOxuBjg
日本語すらまともに書けないんじゃ、どうしようもない。
585:名前は開発中のものです。
04/08/28 23:52 Kxp/7flN
DirectXコンパイルリンクうんぬんの前に、
相手に内容が伝わる日本語を書く練習をしてくれ。
>>579も>>582も意味がさっぱり分からん
586:名前は開発中のものです。
04/08/28 23:54 bwn7nTe1
専門用語使わないと説明できないから仕方ない
587:名前は開発中のものです。
04/08/29 00:18 ZuIvEOEv
ライブラリー
コンパイラー
にワラタ
588:名前は開発中のものです。
04/08/29 00:53 tXbvC2Z4
さほど笑う所でもないと思うけどなぁ。
あまりそういうミクロなことに大きく反応しない方がいいよ。
知ったか臭が出まくるから。
589:名前は開発中のものです。
04/08/29 00:53 jOomCCJ/
>582
コンピュータ関連に限ったことじゃないけど
最後にのばし「ー」は書かないお約束なんだよ
コンピュータ
プログラマ
コンパイラ
ライブラリ
コンピュータ関連の書籍を読むと、このルールになってるから
自然と気づくものなんだけどね
まぁ日が浅いということで教えてあげますた
じゃないと>587が何にワラタかわからないもんね
590:名前は開発中のものです。
04/08/29 00:59 l6FCc4MT
専門用語云々ではなく、文章が成り立っていないのが理解できないのだろうか?
作文すらまともに出来ないのに、プログラムなど出来ようはずがない。
591:名前は開発中のものです。
04/08/29 01:03 pDqcWRKW
そもそも英語をカタカナに直すのが間違っているのだよ!!
computerでいいじゃない!
592:名前は開発中のものです。
04/08/29 02:04 f5bWZnyf
>>589
教えてあげますた?
馬鹿にしてあげますたの間違いでしょ。
593:名前は開発中のものです。
04/08/29 04:15 gD6VDqSM
それは屈折だね。
人に教えてもらうことにトラウマがあるのかな。
594:名前は開発中のものです。
04/08/29 04:22 JB9yEO7O
コンピュータ の検索結果のうち 日本語のページ 約 2,630,000 件中 1 - 50 件目 (0.48 秒)
コンピューター の検索結果のうち 日本語のページ 約 2,640,000 件中 1 - 50 件目 (0.44 秒)
コンピューターの完全勝利!!
595:名前は開発中のものです。
04/08/29 04:34 G7yamuRi
もうね・・・
596:名前は開発中のものです。
04/08/29 08:46 g4GxRtWZ
コンピータ の検索結果のうち 日本語のページ 約 753 件中 1 - 10 件目 (0.16 秒)
コンプータ の検索結果のうち 日本語のページ 約 220 件中 1 - 10 件目 (0.31 秒)
コンピョータ の検索結果のうち 日本語のページ 約 31 件中 1 - 10 件目 (0.27 秒)
コンピャータ の検索結果のうち 日本語のページ 約 7 件中 1 - 4 件目 (0.15 秒)
597:名前は開発中のものです。
04/08/29 09:27 7ns/5yL2
>>589
>最後にのばし「ー」は書かないお約束なんだよ
それは古いJISZ8301の話で2000年に改正
erなどで終わる英単語のカタカナ表記
・原則として最後に長音を付けるが慣用にならって省略可能
・国語規範に従うなら長音を付けなければいけない
598:名前は開発中のものです。
04/08/29 12:14 7ofXNzkl
>>593
君は>>587のどこに「教えてあげた」という要素があるのか説明してみなさい。
599:名前は開発中のものです。
04/08/29 12:32 IHB/3+VU
コンピューター 【computer】
電子回路を用い,与えられた方法・手順に従って,データの貯蔵・検索・加工などを高速度で
行う装置。科学計算・事務管理・自動制御から言語や画像の情報処理に至るまで広範囲に
用いられている。電子計算機。
三省堂提供「デイリー 新語辞典」より
600:名前は開発中のものです。
04/08/29 16:25 WIas5PYh
>データの貯蔵・検索・加工などを高速度
>科学計算・事務管理・自動制御から言語や画像の情報処理に至るまで広範囲
肝心のDirectXが抜けているな。もうだめぽ。
601:名前は開発中のものです。
04/08/29 21:46 ujHaOyYK
テクスチャを滑らかにするためにdx8の時は↓みたいにしてたんですけど、
SetTextureStageState(0, D3DTSS_MAGFILTER, D3DTEXF_LINEAR)
SetTextureStageState(0, D3DTSS_MINFILTER, D3DTEXF_LINEAR)
dx9になったらできなくなりました。どうやればできますでしょうか?
602:名前は開発中のものです。
04/08/29 22:01 0xodCynV
テクスチャー
603:名前は開発中のものです。
04/08/29 22:02 B9v49DVv
SetSamplerStateメソッドを使えばできます
604:名前は開発中のものです。
04/08/29 22:10 ujHaOyYK
>>603
本当や!!ありがとう!
605:名前は開発中のものです。
04/08/29 22:56 +M+TQg8+
あ、あれ?なんか書き込みが消えてってる…
606:574
04/08/30 00:54 +VHuiRh9
>>576
ありがとうございます。
でも dxguid.lib をリンクしても解決しませんでした。
普通のウィンドウズアプリケーションの入力にしたほうがいいのでしょうか?
//dinput使いたいですけど・・・
607:名前は開発中のものです。
04/08/30 05:04 77gvjof4
>>606
よくみたら、なぜdinput.libとdinput8.libが両方リンクされてるんだ?
608:名前は開発中のものです。
04/08/30 08:27 JziNAVt5
>>541
> 具体的には透視変換後のZ値(0.0f~1.0f)はどのようにZバッファへマッピングされるのですか?
これでも実行してみそ。
URLリンク(gamdev.org)
ちなみに俺が初めて作った.NETアプリ。ぶっちゃけどうでもいいけど。
609:608
04/08/30 08:38 JziNAVt5
あっと、たぶん横軸の左がニアクリップ、右がファークリップ、
縦軸の下が0.0f、上が1.0fだと思う。
つーか手抜きにもほどがあるな。両方ゼロ入れたら止まるし。
610:574
04/08/30 13:35 0w3YomC2
>>607
dinput.libだけだとエラーが出ます。
Error: 外部シンボル 'DirectInput8Create' が未解決 (C:\C\YUKA\DX\TEST3.OBJ が参照)
それでdinput9.libもリンクしてみたところ、このエラーが消えました。
611:名前は開発中のものです。
04/08/30 15:01 NHnH5VCa
>>610
コンパイラーにライブラリーを教えないとエラーがでる
612:名前は開発中のものです。
04/08/30 15:11 clEim/gs
>>610
DirectX9ではIDirectInput8インタフェイスが使われているのだから当然といえば当然
613:577
04/08/30 15:28 NHnH5VCa
いまビルドのオプションみてみたところ
コンパイラーに教えるのは間違えで
libファイルをライブラリーファイルとしてではなくオブジェクトとして
教えないとリンクできないことがわかりました
614:541
04/08/30 16:36 G+2ZLJ7k
>>574
ありがとうございます!早速実行してみました。
横軸は透視変換前のZ値(Zn~Zf)、縦軸は透視変換後のZ値(0.0f~1.0f)ですね。
それで例えば、Znを1、Zfを100で再計算してみると
変換前 : 変換後
10 : 0.93
20 : 0.96
になります。
この0.93と0.96を16itなり24bitなりのZバッファに入れることになると思うんですが
どういう風に入れてるんだろうと疑問だったんです。
が、よく考えてみたら単にreinterpret_castで良さそうですね。
透視変換後のZ値をfloat型だとして、符号ビットはいらないし指数は固定にすればいいし
正味必要なのは仮数23ビットなんで、24bitZバッファなら間に合うし16bitはシフトすればいいですし。
615:名前は開発中のものです。
04/08/30 18:39 rEJcNiQG
libのリンクは↓をよく使う
#pragma comment(lib, "d3d9.lib")
特に他人に渡したりするときこっちのほうがいいと思う
616:名前は開発中のものです。
04/08/30 18:53 nWCa8g9+
ダイレクト3D9のチュートリアル3の意味が全然分からないんですが、わからないのは普通ですか?
617:名前は開発中のものです。
04/08/30 19:22 f4wxDLS/
普通じゃないよ
618:574
04/08/30 22:24 p9cFUGYb
>>611,>>612
なるほど。
えっと、BCCでは結局dinputを使ったアプリケーションの開発はできないのでしょうか?
普通にキーボードから入力させることにして、
ユーザーにはJoyToKeyを入れてもらうことにしたほうがいいですか?
619:名前は開発中のものです。
04/08/30 22:29 nWCa8g9+
なんでdirectx9なのにdirectx8を使ってるの?
620:名前は開発中のものです。
04/08/30 22:34 RUnJZs6O
8のインタフェイスしか無いからでしょ。
9は、そのほとんどが3D関係のアップデートだし。
621:名前は開発中のものです。
04/08/30 22:43 sFKshRVA
URLリンク(clootie.narod.ru)
ここにあるBCC用ライブラリをリンクしてみては?
足りない部分を補ってあるらしいよ
LunaBCCも結構使えるかもね
URLリンク(www.twin-tail.jp)
622:608
04/08/30 22:49 Har10E7G
>>614
ああ、透視変換後って話だったか。
実際の数字見てないけど、たぶん仮数部がそのまま収められると見て間違いないだろうね。
623:574
04/08/30 23:47 p9cFUGYb
>>619
わかりません。
>>620
そうなんですか、
気にはなっていたのですが。
>>612
上のURLのライブラリを使ってます。
というか、それを入れないとBCCでの開発は不可能だと聞きましたので。
LunaBCCはよさそうなのですが、
DirectXの勉強のためにも一から自分で組みたいなと思っているんです。
すいません。
624:名前は開発中のものです。
04/08/31 00:15 GrjKiyhi
>というか、それを入れないとBCCでの開発は不可能だと聞きましたので。
自分で作れば不可能ではなくなる。
625:名前は開発中のものです。
04/08/31 00:19 3e2h5xuA
>>623
dxguid.lib dxerr9.lib dinput8.libでIID_IDirectInput8にしてコンパイル通ったんだが・・・・
626:名前は開発中のものです。
04/08/31 01:30 Sa6m5/RG
Xファイルを複数読み込むときにですね、
配列を使ってやろうとしたんですけど、
なぜかできませんでした。
クラスとかが使えないとまずいですかね?
627:名前は開発中のものです。
04/08/31 01:40 sprNxSK/
クラスを使える使えないは別問題。
628:名前は開発中のものです。
04/08/31 02:05 Sa6m5/RG
LPD3DXMESH lpD3DMesh = NULL; // メッシュ
D3DMATERIAL9 *D3DMaterial = NULL; // 質感
LPDIRECT3DTEXTURE9 *lpD3DTexture = NULL; // テクスチャー
DWORD dwNumMaterials = NULL; // マテリアル数
10個Xファイルを読み込むなら↑が10個分必要?
629:名前は開発中のものです。
04/08/31 02:18 sprNxSK/
そうだが構造体にまとめたほうがよさげ
630:名前は開発中のものです。
04/08/31 02:18 gdzLK54q
10個書くのが面倒なら
構造体なりクラスなりまとめりゃあいいんじゃねえの?
それかD3DXMESHCONTAINERかそこら使うとか。
DirectX以前に、文面から明らかにあんたのC/C++の知識・経験不足。
631:574
04/08/31 02:34 jUJY5ORF
>>624
なるほど・・・
>>625
コンパイルできました!
ありがとうございます!
dinput.libと、dinput8.libの二つをリンクしてたのが原因・・・みたいです。
だめなんですね、この二つをリンクするのは。
632:麻耶子
04/08/31 11:21 IY1iJSYZ
よくPS2とかのゲームで3Dのキャラクタが剣を振ったりしてるじゃないですか。
そういった3Dのキャラクタのアクション?アニメーション?ってどういった原理
でやってるんでしょうか?DirectXでXファイルを読み込んでそのデータを
どうすれば動くんですか?そういったやり方なのかXファイルをアクションの
数分用意するんでしょうか?どなたか教えて頂けたら幸いです。
633:名前は開発中のものです。
04/08/31 11:25 mh9EN2XE
…
634:名前は開発中のものです。
04/08/31 11:31 VtZxOXGy
わざわざ名前を付ける意図がわからん
ネカマ効果でも期待してるのか?
635:名前は開発中のものです。
04/08/31 12:03 7XPSpLc5
ちょっと検索すればいくらでもでてくるだろうが
636:名前は開発中のものです。
04/08/31 12:09 S3EWZn8j
directXは行列の計算とか難しいこと出来なくても出来ますか?
637:名前は開発中のものです。
04/08/31 13:34 q05f1i7v
>>636
行列の計算はDirectXがやってくれるから簡単だよ。
行列でできることは移動、回転、拡大縮小だよ。
638:628
04/08/31 17:04 CPB7EMQ0
全然クラスとかわかんなかったので、
クラスを勉強して2つのXファイルを読み込もうとしたんですけど、
やっぱりできませんでした。
とりあえずエラーは出ないんですけど、起動したら強制終了してしまいます。
誰か救いの手を・・・
ソースVC6.0
URLリンク(www.h3.dion.ne.jp)
639:麻耶子
04/08/31 17:29 RyLy+xPH
>634
質問するとき名前を名乗るのは当然でしょ。
2chはそういうことしなくていい場所なら失礼致しました。
2chはほとんど男でしょうけど私は女です。ゲーム作るのが楽しい女もいることは覚えておいて下さい。
640:名前は開発中のものです。
04/08/31 17:49 Eqw4COEC
LightWave,Maya等を使ってモデルデータとシーンデータ(モーションデータ)
を作って動かすか、プログラムであらかじめ動きを作っておく
641:名前は開発中のものです。
04/08/31 18:56 mJWXdrBd
>>639
何を持って当然というかは知らないが、
不特定多数に対して質問するときは名乗らない場面も非常に多い。
ついでにそういうスレ違いのレスはsageるのがルール。
>質問するとき名前を名乗るのは当然でしょ。
自分のしていることは間違っていないと言いたそうなこのレスをする前に、
ルールを守ったらどうだ?
基地外だから無理かもしれんが
642:名前は開発中のものです。
04/08/31 19:29 qjzurGy3
>>638
URLリンク(haiiro.info)
添削してやったぞ
お礼はお前のねーちゃんのエロ画像でいいや
643:名前は開発中のものです。
04/08/31 20:47 sXGZGE09
>ついでにそういうスレ違いのレスはsageるのがルール。
そんなルールは無いけどね
644:名前は開発中のものです。
04/08/31 21:08 GGIR8YL9
>>643
暗黙のルールだろ。
人に挨拶されたらこっちも挨拶するのはルールと言うぞ。
法律で定められてなくとも立派なルールだ。
まあ真性の馬鹿に何を言っても無駄だろうけど。
645:名前は開発中のものです。
04/08/31 21:13 QGRYGa+M
すいません、フルスクリーンにするにはどうしたらいいのでしょうか?
D3DPRESENT_PARAMETERSのモンバWindowedをFALSEにしてもフルスクリーンになりません・・・
TRUEだったらウィンドウに画像が表示されるのですが、FALSEだと起動した瞬間に終了します。
646:名前は開発中のものです。
04/08/31 21:29 6EHRxm1A
>>645 DirectXサンプルに答えがあるのになぜ見ない?
647:名前は開発中のものです。
04/08/31 21:33 sprNxSK/
D3DPRESENT_PARAMETERS構造体のBackBuffer~というメンバに値を設定してる?
これ設定しとかないとならなかった気がする。
648:名前は開発中のものです。
04/08/31 21:52 sXGZGE09
>>644
それはルールじゃないからね。
まあ真性の馬鹿に何を言っても無駄だろうけど。
649:名前は開発中のものです。
04/08/31 22:05 eVEvf9KS
>>648
社会のルールだろうが低脳
もう一回小学校からやり直せ
と思ったけど書き込みを見た感じリア消か、
まあそりゃあ世間知らずでもしょうがいないわな
650:名前は開発中のものです。
04/08/31 22:05 bwdbBIXH
>>649
無駄なスペースを空けるのはルールに入らないんですか?
651:名前は開発中のものです。
04/08/31 22:09 HDOgrwdm
ルールがどうとか言ってる奴らは自治スレに行ってください
652:645
04/08/31 22:16 5qxSKzLw
>>646
サンプルの量が多すぎてどれを見ていいのか分かりません。
今、サンプルやらチュートリアルを見ながら色々試してみてたのですが、
ウィンドウモードで起動したのが終了できなくなりました。
×ボタンもないし、タスクバーのやつを右クリックしてもメニューが表示されません。
>>647
してます・・・
653:名前は開発中のものです。
04/08/31 22:23 sprNxSK/
サンプルのソースは初期化とかの基本的な部分は共通のファイルに入っていて
各サンプルはそれをincludeしてる形だから。
654:名前は開発中のものです。
04/08/31 22:38 16p/Kk0b
sageが絶対のルールだと思っているsage厨は死ね。
ageようがsageようがどうでもいいだろ。
もうage,sageごときでムダに他人に突っかかるなよ。
655:638
04/08/31 23:02 WIKYyYv2
>>642
ありがとうございます!!
でもなぜかDLできない・・・。
サーバービジー状態・・・。
656:638
04/08/31 23:16 WIKYyYv2
DLできました。
細かい添削本当に感謝!
657:名前は開発中のものです。
04/08/31 23:39 Dm5qzUX7
>>650
age、sageの是非はスレの流れによって意見も異なるが、
>>649みたいな無駄な改行が是とされるケースは皆無だよな。
これはまさに自爆ってやつだろう。
煽りに「リア消」って単語選ぶあたり、リア厨なのかもしれない。
658:名前は開発中のものです。
04/09/01 01:13 huoKVM2k
どっかに9.0bないかな・・・・(2003summerの前のやつ)
659:名前は開発中のものです。
04/09/01 07:39 po6+kMBh
MSのサイトからDLできないの
DirectX関係の参考書の付録CDによく収録されてるけど
660:名前は開発中のものです。
04/09/01 11:11 xBYRo/UW
思ったが、DirectXの初心者用質問スレを立てたほうが良いのと違うか。
661:名前は開発中のものです。
04/09/01 12:24 F+B8VPtk
夏休み終わったから立てなくていいよ
662:645
04/09/01 13:30 6Lnyvx3i
フルスクリーン化がどうしてもできません・・・
ググっても Windowed のところを TRUE から FALSE にしろとしか書いてないです。
あと、ただ画像を表示させるだけのプログラムがものすごく重いのですが、
これはウィンドウモードだからですか?
後ろにあるアプリケーションを表示しようとすると30秒くらいかかります。
マウスカーソルもかなり重いです。
663:名前は開発中のものです。
04/09/01 13:32 F+B8VPtk
サンプルで全画面にしても変わらないの?
普通のダイレクトXのアプリの全画面は動く?
664:名前は開発中のものです。
04/09/01 13:44 GLk7SO4/
>>662
とりあえずフルスクリーン初期化時に
D3DPRESENT_PARAMETERS
の中身とCreateDeviceがどんな感じなのかかいてみたらどうでしょう。
>画像を表示させるだけのプログラムがものすごく重いのですが、
>これはウィンドウモードだからですか?
ウィンドウモードがHEL動作しかできないビデオカードでもつんでいるんでは?
古いビデオカードはフルスクリーンしかHAL動作しないのもあるよ。
DirectXサンプル内で、ウィンドウ動作するやつは正常に動いていますか…?
665:名前は開発中のものです。
04/09/01 15:21 zDPCNccp
a
666:645
04/09/01 15:27 8UoVVY3m
>>663
>サンプルで全画面にしても変わらないの?
サンプルは・・・昨日4時間ほど戦っていたのですが、
どのサンプルをどうしていいのやら分かりません。
>普通のダイレクトXのアプリの全画面は動く?
はい、フリーゲームでも市販のゲームでも、
普通のDirectXのゲームはフルスクリーンでちゃんと動きます。
※動かなかったのは、DXSDK\Samples\C++\Demos\Bin\Donuts4.exe です。
『あなたのグラフィックアクセラレータでは無理です。
それかあなたのグラフィックカードがデスクトップのカラーモードに対応していません。
16Bitで試せハゲ。』
と出て終了してしまいます。
しかし、このメッセージはフルスクリーンになってから出るので、
フルスクリーンにはなるみたいです。
667:645
04/09/01 15:28 8UoVVY3m
>>664
こうなってます。
D3DPRESENT_PARAMETERS param;
ZeroMemory(¶m,sizeof(param));
param.BackBufferWidth=640;
param.BackBufferHeight=480;
param.BackBufferFormat=D3DFMT_UNKNOWN;
param.BackBufferCount=1;
param.SwapEffect=D3DSWAPEFFECT_DISCARD;
param.Windowed=TRUE;//ここをFALSEにすると起動した瞬間に終了してしまいます。
668:名前は開発中のものです。
04/09/01 15:45 dJv1RoiI
やっぱそこか
フルスクリーンにしたいのにD3DFMT_UNKNOWN(フォーマット不明)はないんじゃないかと。
669:名前は開発中のものです。
04/09/01 15:45 vT9g/rIC
>>667
今試したけど、フルスクリーンでD3DFMT_UNKNOWNにしたらデバイス作成失敗ぬるぽ。
GetAdapter~とかできちんと取得したやつを使ったほうがよさげ。
670:名前は開発中のものです。
04/09/01 15:53 dJv1RoiI
IDirect3D9::CreateDevice メソッド
・ウィンドウ モードのみについて、BackBufferFormat = D3DFMT_UNKNOWN。フルスクリーン モードの場合はフォーマットを指定する必要がある。
リファレンスより
671:645
04/09/01 15:58 8UoVVY3m
>>668-670
ありがとうございます。
そこを変更してみます。
672:名前は開発中のものです。
04/09/01 16:26 oBimBF/3
>>671 ヘルプぐらい読もうぜ
673:645
04/09/01 16:55 8UoVVY3m
フルスクリーン化成功しました!
GetDisplayModeがよく分からなかったので、
色々調べてD3DFMT_R5G6B5にしたらできました。
R5G6B5は16ビットだということなのですが、
ということは256色しか表示できないということですよね?
>>672
すいません、ヘルプも見たんですけど、
英語と専門用語ばかりでなかなか理解できなかったんです。
DirectXの入門用書籍でも購入したほうがいいでしょうか。
674:名前は開発中のものです。
04/09/01 16:58 5CAaBj1y
はじめてDirectX触るんなら初心者向けの書籍を買っったほうがいいと思われ
とりあえず
・初期化まわり
・行列の基本的な使い方
・ビュー、カメラの設定
・ポリゴン表示
・光源の設定
・Xファイル表示
これくらいを網羅していれば簡単な3Dシューティングくらいなら作れるようになるべ
あとはシェーダを理解すれば初心者卒業かなと思うけど、どうよ?
漏れも最初はヘルプのどこを見ればいいのかすらわからんかったし
675:名前は開発中のものです。
04/09/01 16:59 5CAaBj1y
>673
…16bitだから65536色だと
676:名前は開発中のものです。
04/09/01 17:12 vT9g/rIC
2*2*・・・2(2^8)=256
2*2*・・・2(2^16)=65536
677:名前は開発中のものです。
04/09/01 17:16 vT9g/rIC
>>673
日本語のヘルプも一応読んだほうがよさげ。
日本語訳はクソだが英語をあまり読めなさそうなので。
678:名前は開発中のものです。
04/09/01 17:22 F+B8VPtk
>>673は日本語ヘルプの中の英語と専門用語が理解できないんだよ
679:名前は開発中のものです。
04/09/01 17:33 BizjC3qm
プロファイリングの結果、>>673はガチ小学生。
彼はいずれお前らを凌駕するプログラマとして君臨することだろう。
「センパイそんなことも分からないんですか~?」とか言ってな。
680:645
04/09/01 17:46 8UoVVY3m
>>674
本屋に行って一回見てみます。
>>675,>>676
65536色でしたか。
>>677,>>678
日本語ヘルプはなかったような気がします。
>>679
お酒飲める年齢ですw
681:名前は開発中のものです。
04/09/01 17:48 vT9g/rIC
SDKには付いてないけどExtraに付いてる
682:645
04/09/01 18:02 8UoVVY3m
Extra・・・ですか。
調べてみます。
回答してくださった皆様、ありがとうございました。
フルスクリーン化できたので次は簡単なアニメーション表示でもやってみます。
683:名前は開発中のものです。
04/09/01 18:55 somP4s0O
ブルースクリーン化なら思わぬ時に意図せず出来たりする。
684:名前は開発中のものです。
04/09/01 19:58 W7LS8TrD
HLSL無しでお願いします。
面ごとに、ごくごく簡単な陰影を付けたいのですが、
法線無しでライティング計算をDirectXに任せる方法ってありますでしょうか?
たぶん無いような気がするので、重ねてお尋ねしたいのですが、
自前でローカル座標から射影空間まで座標変換し、ライティングも計算して、TLVertex型で描画するのと、
固定パイプラインなどに任せるのでは、CPUなどにもよると思いますが、どちらが一般に早いのでしょうか?
自分でやってみた所、どう見ても後者の方が速かったのですが、
腕の良い人ならばどうなのかなと疑問に思いまして…。
685:名前は開発中のものです。
04/09/01 20:17 ZFPpHuZW
ハードウェアT&Lが一般的な現状では、CPUが変換・ライティングを行うより、
GPUに任せた方が高速になるケースが多いです。
TLVERTEXを用いた描画では、CPUとGPUの速度差もさるこことながら、
VertexBufferを座標変換・光源計算の度に書き換える必要があるため、
VertexBufferの中身をCPUからアクセスできる空間(おそらくシステムメモリ)から、
GPUからアクセスできる空間(おそらくビデオメモリ)へ転送する時間の分、損になります。
法線無しでのライティングの計算ですが、HLSLなどを用いて書いたカスタムシェーダ
無しの場合、LVERTEX型+ライトマップを用いる方法がいいのではないでしょうか。
この場合、光源の向きや位置が動き回るケースでは使えませんが、
法線情報の無いLVERTEX型でも(前計算された)ライティングを行うことが出来ます。
686:名前は開発中のものです。
04/09/01 20:23 ZFPpHuZW
あ、若干早とちりがありました。LVERTEXには元々色情報が含まれるので、
>面ごとに、ごくごく簡単な陰影を付けたいのですが、
というように、面単位で充分というのであれば、わざわざライトマップを
張らなくてもいいですね。
687:684
04/09/01 20:29 W7LS8TrD
>>685-686
即レス、丁寧な説明な上、最適解まで頂いちゃってお礼の言葉もありません。
仰るとおり、まさに光源固定でいかに…みたいな所で悩んでいました。
ぼんやりとしていたハードウェアとの関係も、おかげで良く分かりました。
折角なのでライトマップも勉強してみます。ありがとうございました!
688:名前は開発中のものです。
04/09/01 21:08 j8hhlc9/
>HLSL無しでお願いします。
>面ごとに、ごくごく簡単な陰影を付けたいのですが、
>法線無しでライティング計算をDirectXに任せる方法ってありますでしょうか?
頂点座標でデフューズキューブマッピング
689:名前は開発中のものです。
04/09/01 22:54 5CAaBj1y
>678
そうだろね
あのドキュメントオンリーではつらい初心者も多いだろうね
ドキュメントの対象は開発者
入門書の対象は入門者(初心者)
だから初心者は書籍買って読んで、ひととおりやってみた後でドキュメントを読み返すとわかるようになるんじゃないかな
てゆうか漏れはそうだったけどね
ドキュメントと付属のサンプルだけで勉強してる香具師は尊敬するよ
書籍じゃなくても思いつく限りの単語でググればソース公開してるところもあるし、それも参考になるよ(DirectX8以前のものも多いけど)
あと初心者はいきなりゲームを作ろうとすると挫折率高いかも
Xファイルのビューアとかパーティクルのデモみたいのをとりあえずの目標にしたほうがいいんじゃないかな
逆に言うとそれらが作れればちょっとしたゲームは作れるようになってるはずだからね
690:名前は開発中のものです。
04/09/02 00:25 DFdFhu4y
ここに来てる人はどのくらいのものが作れるのだろう・・・。
プロもいるんだろうか。
691:名前は開発中のものです。
04/09/02 00:30 lFLjvpBq
>>690
安心しろ、間違い無くいる。
つーか、プロの平均レベルが君が考えるほど高くないっていったほうが納得がいくだろうか?
ネットで技術ページ立ち上げてる特異な人ばっかりに目がいくけど
プロったって普通の人が大半だよ。
692:名前は開発中のものです。
04/09/02 10:02 /RYufvp9
DirectGraphicsで透過色つき描画したいのですがどうしていいのか分かりません。
ググって調べたのですが、
DirectX Texture Tool でα値を持つddsファイルを作って、
それを読み込めばいいと出たのですが、
その通りにやってもできません。
DirectX Texture Tool の画面では透過した部分の色が水色になっているので、
αチャンネルを持つ画像自体はちゃんとできていると思います。
また、以下の記述を付け加える必要があると書いてあるサイトも見つけたので書いてみたのですが、
透過してくれませんでした。
lpD3DDevice->SetRenderState(D3DRS_ALPHAREF,(DWORD)0x00000066);
lpD3DDevice->SetRenderState(D3DRS_ALPHATESTENABLE,TRUE);
lpD3DDevice->SetRenderState(D3DRS_ALPHAFUNC,D3DCMP_GREATEREQUAL);
この記述をする場所が悪いのかとも思い、
色々な場所で試してみたのですが、だめでした。
■環境
BCC
DirectX9.0b SDK
■参考にしたサイト
URLリンク(www.plustarnet.com)
URLリンク(www.c3.club.kyutech.ac.jp)
どうすれば透過できるのでしょうか?
693:名前は開発中のものです。
04/09/02 12:18 LRjExFEm
見たところ、キミが有効にした機能はアルファテストであって、アルファブレンドではない。
694:692
04/09/02 14:22 Oi5rE6iZ
>>693
ありがとうございます。
アルファブレンドの有効で調べてみたところ、
lpD3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);
で有効にできるとのことなので、書いてみましたが透過されませんでした。
D3DXLoadSurfaceFromFile関数の第7引数でカラーキーを指定できるというのも見つかったのですが、
これを使うと、指定した色を透過することはできるのですが、
それで描画すると、その部分が最初に置いた画像まで透過されてしまい、
クリア時の色が見えて変な状態になります。
695:名前は開発中のものです。
04/09/02 15:27 adWbTbum
アルファブレンドをどう演算するかの設定が入ってないし。
696:名前は開発中のものです。
04/09/02 16:03 X1aaYsTe
>>694
DirectXサンプルに答えあるのになぜ見ない。
697:名前は開発中のものです。
04/09/02 16:41 Htjhaa98
サンプルって分かりづらい。
698:名前は開発中のものです。
04/09/02 16:55 klIDF0Ic
RenderState関係のALPHAとついていないものも含めて、色々いじってみながら動作確認していってはどうでしょうか
RenderState関係の値がどんな意味をもってるのか、どう変わるのかがわかるから
699:名前は開発中のものです。
04/09/02 16:58 8nv1HKpX
サンプルがあればこのスレいらんね
削除依頼だしとけよ
700:名前は開発中のものです。
04/09/02 17:42 +UoAnpem
夏休みも終わったというのに可愛い逆ギレをするなあ。
701:692
04/09/02 17:51 3tiwSpK0
ありがとうございます。
>>695
アルファブレンドの演算で探してみましたがなかなか出てきません。
これかなと思うものを見つけたのでこれを書いてみましたがちゃんと思い通りに表示してくれませんでした。
lpD3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);
lpD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
lpD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
>>696
サンプルはどれを見ていいのか分からない上、
虱潰しに見てもインクルードとデファインの量が多くて混乱します。
読んでるとどれが自作関数なのかとかわけが分からなくなってきます。
>>698
なるほど。
やってみます。
αブレンドについて検索していると"テクスチャ"に関しての頁がよく引っかかるのですが、
"テクスチャ"が出てくるということは3Dですよね?
2Dオンリーでいきたい場合でも、スプライトを作成して3Dのように作っていくものなんでしょうか?
描画するときに、 lpD3DDevice->StretchRect 関数を使っているのですが、
これはあまり見ません。
702:ゼロ
04/09/02 18:24 aGa7pwv+
?
703:名前は開発中のものです。
04/09/02 20:15 RLMoPQta
2Dのみでいく場合でもテクスチャを張ったポリゴンを描画するのが一般的です。
テクスチャ座標を持ったトランスフォーム済み・ライティング済み頂点(=2D+深度の頂点)を用意して、
DrawPrimitive(UP)などで描画します。
704:名前は開発中のものです。
04/09/02 20:20 u7CBECU0
ひょっとして描画ってlpD3DDevice->StretchRectでやってんのか。
それじゃ抜けるわけねーだろ。
705:692
04/09/02 20:48 Rip4iOsW
>>730,>>704
ありがとうございます。
根本的に間違ってたみたいですね。
3D表示のほうを勉強しなおしてきます。
706:名前は開発中のものです。
04/09/03 03:29 mQdBoXPi
スプライトの表示ができません。
起動して一度はフルスクリーンになるのですが、すぐに終了してしまいます。
色々調べたところ、132行目・150行目(lpD3DXSprite->Begin();・lpD3DXSprite->End();)に問題があるようです。
この2行をコメントアウトした場合、画像こそ表示されないものの、
勝手に終了することはありません。
スプライトの作成に失敗したのかとも思い調べてみましたが、
スプライトの作成には成功しているみたいです。
検索してサンプルソースと見比べても、特におかしいところもないみたいなのですが・・・
その他、読み込む画像の形式を変えてみたり(BMP,DDS)もしましたが、
解決しません。
コンパイルは通ります。
URLリンク(shiva.dip.jp)
どこが悪いのかわかりません。
分かる方よろしくお願いします。
環境は
DirectX SDK 9.0b
BCC5.5
です。
707:名前は開発中のものです。
04/09/03 03:37 D9hj8w5h
>706
VCでコンパイルしてみたけど動いたよ
環境としてグラボも書いたほうがいいと思う
あとVCでは以下をはずす必要があったけど
#define sqrtf(float)sqrt
#define atanf(float)atan
#define asinf(float)asin
#define acosf(float)acos
#define tanf(float)tan
#define sinf(float)sin
#define cosf(float)cos
708:名前は開発中のものです。
04/09/03 04:19 zHuFk72Z
DirectXサンプルを実行してみろよ
709:名前は開発中のものです。
04/09/03 04:22 mKkDrrPi
>>706
うちもBCCでコンパイルしたら動いたから、グラボの詳細も書いたほうがいいかも。
710:706
04/09/03 12:57 NP76qImc
>>707
それはBCCでコンパイルする際に書かなきゃいけないやつです。
>>708
・・・DXSDK\Samples\C++\Demos\Donuts4.exeは動作しませんでした。
>>707,>>709
グラフックボードの詳細です。
DirectX診断ツールで調べました。
Card name: ATI RAGE MOBILITY AGP (Japanese)
Manufacturer: ATI
Chip type: ATI RAGE Mobility P/M AGP 2X (A21/2)
DAC type: ATI Internal DAC
Device Key: Enum\PCI\VEN_1002&DEV_4C4D&SUBSYS_112A10CF&REV_64
Display Memory: 4.0 MB
Current Mode: 1024 x 768 (16 bit) (60Hz)
Monitor: ( Monitor Max Res:
711:名前は開発中のものです。
04/09/03 16:02 D9hj8w5h
>710
>Chip type: ATI RAGE Mobility P/M AGP 2X (A21/2)
>Display Memory: 4.0 MB
なんか非常に怪しいですね
モバイル関係はよく知りませんがDirectX9未対応なのでは?
DirectX8でも(特にシェーダとか)微妙なんじゃないでしょうか?
ノートなんですかね
ノートは基本的に3Dには向かないと思います
712:名前は開発中のものです。
04/09/03 16:42 VHIOAUu5
ATI RAGE「D3D? ガーハッハ、無理言っちゃいけねえなボーズ」
713:名前は開発中のものです。
04/09/03 16:53 m4KK640w
最近DirectX勉強し始め、
ポリゴンの三角形を表示できるようにはなったのですが、
分からなかったことがあるので、質問させてください。
「表示した三角形の"頂点一つ"を(カーソル等で)動かす」のような処理は
どうすれば出来るのでしょうか?
ポリゴン自体を書き直すか、
VertexShaderを使うしかないのでしょうか・・・?
714:名前は開発中のものです。
04/09/03 16:54 KBFEjnb4
VertexShader「表示した三角形の"頂点一つ"を(カーソル等で)動かす? ガーハッハ、無理言っちゃいけねえなボーズ」
715:名前は開発中のものです。
04/09/03 17:02 +shE9lEk
>>713
ロックするかシェーダー使って動かすだけ。
716:名前は開発中のものです。
04/09/03 17:02 hc6Qu0Tn
>713
VertexBufferいぢれ
717:名前は開発中のものです。
04/09/03 17:10 m4KK640w
>>714,>>715,>>716
レスサンクスです。
718:名前は開発中のものです。
04/09/03 17:27 UnJ5gJIj
シェーダーってなんですか?
719:名前は開発中のものです。
04/09/03 17:28 nqcp3fv5
∧⊂ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(゚Д゚)ノ < シェーダ
| ⊃| \__________
| |
⊂ノ~
∪
720:名前は開発中のものです。
04/09/03 17:34 8jbSe5Fl
影男
721:706
04/09/03 17:54 Nns2Tjlt
>>711
はい、ノートです。
どこが怪しいのでしょうか?
グラフィックカード自体分からないので、これが何なのかよく分かりません。
俺以外の人がコンパイルしてうまくいくということは、俺のグラフィックカードが問題なんでしょうか?
DirectX診断ツールの、ディスプレイのところの、
「Direct3Dのテスト」というやつをやってみたのですが、
Direct3D7、Direct3D8、Direct3D9のテストは全て成功しました。
結局俺はどうすればいいのでしょうか?
722:名前は開発中のものです。
04/09/03 18:39 D9hj8w5h
>721
DirectX UtilitiesのDirectX Caps ViewerでHALの機能をチェックすれば多分未対応の機能が特定できるはずなんだが
よくわかってないと、何がなんだかわからないかも
まずDirectX9の開発や学習を行うならDirectX9対応のグラボが必要
まずは対応グラボから調べてみましょう
そして対応グラボを積んだマシンを組みましょう
今ならDirectX9対応PCでも5~6万で組めるはず
で、どうしてもお金がないというならLPD3DXSPRITEつかうのやめて自力でポリゴン使ってみてください
723:名前は開発中のものです。
04/09/03 22:45 qaGI/40e
>>721
てか、そのグラボDirectX6までしか対応してないし。
724:706
04/09/04 00:06 +XRuHJsS
>>722,>>723
ありがとうございます。
グラフィックカードを調べてみます。
725:名前は開発中のものです。
04/09/04 18:41 vHiVY+yT
漏れのノートはIGP340Mだが、
ピクセルシェーダを使ったプログラムはまったく映らんな。
バーテックスシェーダの方は普通に映るが。
ピクセルシェーダはソフトウェアエミュレーションはまったくダメポ?
DirectX8 SDKベースだからかもしれないが。
726:706
04/09/04 20:17 cci5DIFE
あ、ちょっとまってください、重要なことに気づきました。
ソースを組んでみるあたって、配布されていたサンプルを参考にしたのですが、
そのサンプルに添付されていたサンプルの実行ファイルは正常に動作します。
どういうことなんでしょうか?
俺のグラフィックカードがDirectX9に対応してないことは分かったのですが、
動くものと動かないものがあるのはこれはどういうことでしょうか?
まだ練習段階なので、そのサンプルで使われていない関数とかは使ってないはずなんですが・・・
参考にしたのは、ここの「Direct3DXを使った2Dの描画」というサンプルです。
URLリンク(www.geocities.jp)
727:名前は開発中のものです。
04/09/04 21:13 OKPz2Xkg
>>725
IGP340MはVS11のみ対応。
ノート用にしてはまずまずの性能だが、
固定パイプラインでテクスチャフェチ同時可能数3がキツイ。
>>706
つーか基本中の基本
デバックモードにして出力メッセージ確認はやったのか?
あとID3DXSpriteはDirectX9.0cで仕様が変わったから
そっちに変更してみたら?
まあどうせGPUの限界が原因だろうから意味は薄いだろうが。
728:名前は開発中のものです。
04/09/04 23:32 YrqQlDJp
SDK Update (Summer 2004)をインストールしたら
vs.netのDirectXウィザードで作られたアプリがビルドできなくなった。
名前空間がないとかどうたら言われて・・・
729:名前は開発中のものです。
04/09/04 23:51 TzAUQGCx
>>728
俺はできるからいいよw
730:名前は開発中のものです。
04/09/05 02:05 hJdI6Df1
タイトル画像を表示するために、
ポリゴンを640x480で作ってそれにテクスチャ(640x480)を貼って表示したんですが、
ただ一枚の画像を表示しただけなのに少し重くなりました。
directxを使った方法でこれより軽い方法ってあるのでしょうか?
731:名前は開発中のものです。
04/09/05 02:11 8dhLI02S
640x480は内部で1024x1024として作られるから小さいのを継ぎ接ぎにすると多少パフォーマンスがあがるかも。
ただの一枚でも64x64と512x512とでは全然違う。
732:名前は開発中のものです。
04/09/05 02:44 3KHpp+4T
>>730
フィルレート
733:名前は開発中のものです。
04/09/05 03:09 tTlwq+YH
単純なコピーができればいいだけなら、
2の累乗に縛られるテクスチャじゃなくて、単なるSurfaceで済ます事も出来無くないが。
734:名前は開発中のものです。
04/09/05 04:20 pC/wep5Y
>>732
>>733
どういうことなのでしょうか?詳しく教えてくだせえ。
やっぱりGDIでタイトルを描画するのはおかしいですか?
これだとGDI→DirectXの描画はできても、
DirectX→GDIはできないんですかね?
DirectXのClear()じゃ、指定した色で塗りつぶすだけだから、
DirectXの描画すべてをクリアすることはできないんですよね?
735:名前は開発中のものです。
04/09/05 05:23 Fc3G1uKT
タイトルバー付きの一般的なウィンドウでDirectGraphics使う時に
タイトルバーをドラッグしたり、右クリックしてコンテキストメニュー出したら
描画が止まっちゃうのって、どうやって回避すればいいんでしょうか?
最初ウィンドウのメッセージループで描画処理してたので
「そりゃ止まるだろ」と思って描画は別スレッドでするようにしたんですけど
やっぱりタイトルバーをドラッグすると描画が止まります
736:名前は開発中のものです。
04/09/05 05:33 FYW/iZdZ
描画だけ別スレッドにしても止まるのは変わらないと思われ
737:名前は開発中のものです。
04/09/05 06:05 Fc3G1uKT
>>736
描画だけのフレームワークなので、描画のチェックは
Clearの色を適当に変えてただけなんです・・・けど、
その適当に変わる値を何も考えずにメインスレッドから取ってましたw
言ってる意味はわかるけどまだその部分つくってねーしとか思ったんだけど
よくよく考えてみたら言われたとおりの症状だったという
どうもお騒がせ致しました
738:名前は開発中のものです。
04/09/05 20:09 LNnO5mBK
ところでDirect3Dでは四角以上の多角形ポリゴンは直接扱えないの?
TriangleStripを使うべき?
739:名前は開発中のものです。
04/09/05 23:24 nFAyJf81
>ところで
何がどころでか意味分からん。
>Direct3Dでは四角以上の多角形ポリゴンは直接扱えないの?
扱えない。
>TriangleStripを使うべき?
状況による。
740:名前は開発中のものです。
04/09/06 00:30 R0ZILSWw
まぁそのとおりだな
741:706
04/09/06 18:43 V8QjG5yQ
>>727
すいません・・・よく分かりません・・・
ところで
■ビデオボード
Direct3Dに対応していること
8MB以上のVideoRAM推奨
■その他
DirectX8.0以上
と書かれたDirect3Dで3D使いまくり、DirectShowでAVI流しまくりの市販のゲームが正常に動作するのですが、
これはDirectX8で作れば俺のPCでも動くことを意味していますか?
742:名前は開発中のものです。
04/09/06 19:07 VOwrNc7g
>>741
いいえ
743:名前は開発中のものです。
04/09/06 19:17 /1KZ5ffN
>>741
>これはDirectX8で作れば俺のPCでも動くことを意味していますか?
マジレスすれば「わからない」
正確にいえば、プログラムとあなたのPCのグラボ(及びドライバ)との相性次第。
わかりやすく言うと
たとえば頂点シェーダを使おうというプログラムを動かす。
・グラボが対応した機能を持っている場合ハードウェアでその処理を行う(HAL)
・持っていない場合、ドライバが代替処理を行う(HEL)
・代替処理すら行えずに、失敗した旨だけをプログラムに返す場合もある
:失敗が返ってきたらどうするか、の処理をプログラムが行う
続行不可と判断したらそこで落とすかもしれないし、なにか別の処理で誤魔化すかもしれない
:プログラムがそのへんきちんと対処してない場合
落ちたり凍ったり、最悪そのまま無視して進んだりする
あなたのグラボが「何が出来て何が出来ないか」に対し
プログラム側は「出来ない場合どうするのか」に神経を配る必要がある。