鬱だ氏のう DirectX (Part 5)
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものですた。
02/07/23 00:32ID:DsnWt/i.初心者用相談室では扱わないような少し高度な話題も受け持つ。
■旧スレ(プログラム板)
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)
コピペスマソ
0181名前は開発中のものです。
02/08/04 18:39ID:???ペーパー試験で差になって現れるのは知識とか知性じゃなく、
「他者の意図を読んで想定された解答を出せるか」なのよ。
そういうのって馬鹿にされがちだけど、実際極めて重要なわけで。
また卒業のために論文書いたりプレゼンテーションをすることになるわけだけど、
その経験は、曲がりなりにも
「他人に自分の考えを理解してもらうための説明ができる」一助になるわけだし。
大卒である方が有利、っていうのは「技術・知識」一辺倒ではなく
そういう部分も含めての話だと思いますよ。
偏差値70切ってる方については憶測しか出来ませんが…。
0182名前は開発中のものです。
02/08/04 19:02ID:???はげ同。
0183名前は開発中のものです。
02/08/04 19:51ID:???残り97.7%のヤシは使えません。
0184名前は開発中のものです。
02/08/04 20:18ID:???まともな話ができるスレをつぶす気なんだな?
0185名前は開発中のものです。
02/08/04 20:27ID:???はげ同。
とりあえず場の空気を読むことを学んで欲しい、若者たちよ。
「その話はもういいよ」という無言の声が聞こえないか?
0186名前は開発中のものです。
02/08/04 20:29ID:???はげ同、これは巧妙な罠ね
偏差値70以上の国立大(文系だけど)卒で、今だプーたろうですが何か?(´Д⊂
激しく同意するが、気がついてみればここ何のスレだよ。
0188名前は開発中のものです。
02/08/04 21:02ID:???文系は偏差値が何であってもクソということは定説です。およびじゃない。
0189あぼーん
NGNG0190名前は開発中のものです。
02/08/04 21:49ID:???0191名前は開発中のものです。
02/08/04 22:19ID:???宣言したのはうちの校長でした・・・・・・
欧米のゲームプログラマーはほとんど大卒だったのを知ったのはその1年後でした。
0192名前は開発中のものです。
02/08/04 22:43ID:???もうやめろって馬鹿
0193名前は開発中のものです。
02/08/05 00:03ID:???空気読め阿呆
0194名前は開発中のものです。
02/08/05 00:29ID:???>>188 ( ´,_ゝ`)プッ
>>191 ( ´_ゝ`)フーン
0195名前は開発中のものです。
02/08/05 02:57ID:???(゚∀゚ ) アヒャ!
0196名前は開発中のものです。
02/08/05 04:28ID:???2ちゃんねる式の掲示板で、DirectXのみに的をしぼったのを誰か用意してはくれまいか。
0197名前は開発中のものです。
02/08/05 06:46ID:???(゚∀゚ ) アヒャ アヒャヒャ!
0198名前は開発中のものです。
02/08/05 10:44ID:???BBXとか、他にもイロイロあるじゃん。
0199名前は開発中のものです。
02/08/05 13:32ID:???0200127
02/08/05 18:52ID:???>>129
ステンシルって使った事ないんだけど、マスクするエリアがたくさんあっても重くならない?
まぁ実験してみればいいんだけど、時間がない…(T_T)
>>130
このD3DPRESENT_PARAMETERSでの方法って、
・SwapEffectにD3DSWAPEFFECT_COPY
・FullScreen_PresentationIntervalにD3DPRESENT_INTERVAL_IMMEDIATE
を設定するってやつ?これやってみても駄目だったんだけど、何か足りないのかな…。
ちなみに実験環境は「RIVATNT2/DX8.1/Win98」「GeForce3/DX8.1/Win2k」です。
0201名前は開発中のものです。
02/08/05 21:38ID:???一応説明しておくけど、D3DPRESENT_PARAMETERSで設定する方法ではGDI使用中は
Presentは呼んじゃ駄目だよ。ようするに画面は更新できないって事。
それとステンシルは使えないよ。ステンシルでマスクできるのはバックバッファ。
ダイアログやコントロールをマスクしないといけないのはフロントバッファ。
0202名前は開発中のものです。
02/08/05 22:33ID:WmYu1GTw1.DX AppWizardでアプリを新規作成(急須のヤツ)する
2.変更ナシでビルドする
3.そのまま実行する
4.ALT+ENTERでフルスクリーンモードにする
5.ALT+ENTERでウィンドウモードにする
6.ESCで終了
7.エラーメッセージのダイアログが出てVCごと落ちる
ヽ(`Д´)ノなぜじゃああああああああああああああああああ
0203名前は開発中のものです。
02/08/05 22:58ID:???同じ構成でも俺の環境だと落ちなかったが。
ドライバ最新にしてみたら?
0204名無しサソ
02/08/06 01:11ID:???Detonatorを変えてやってみることをお勧め。気休めだけど、
最新のよりもWHQL認定ドライバを使うと良いかも。当方Ti4200
のWin98、Detonator30.82(最新β)を使ってるけど、このドライバ
では、D3Dを使ったプログラムのデバッグモードに入れない。
途端に落ちる。
0205名前は開発中のものです。
02/08/06 02:53ID:PAyNJocwメインループで
HRESULT hr;
LPDIRECT3DTEXTURE8 texture;
hr = D3DXCreateTextureFromFileEx(lpD3DDEV,"gazou.bmp",0,0,0,0,D3DFMT_A8R8G8B8,D3DPOOL_MANAGED,D3DX_FILTER_LINEAR,D3DX_FILTER_LINEAR,D3DCOLOR_XRGB(0,255,0),NULL,NULL,&texture);
if(hr != D3D_OK){
return false;
}
texture->Release();
texture = NULL;
と、実行させたのですが
タスクマネージャを見ていると、メモリの使用量がどんどん増えていってしまう
texture->Release();
texture = NULL;
を入れているのでメモリは増えないと思ったの出すが、何ででしょうか?
0206名前は開発中のものです。
02/08/06 03:24ID:???OutputDebugString("最適化ばかりしててコミケ落とさないでください!\r\n");
GameMain();
Test_205();
}
0207名前は開発中のものです。
02/08/06 03:55ID:???マジでそこが原因なの?
コメントアウトしてみた?
ついでに蛇足だけど、SAFE_RELEASE(dxutil.h)や
if( texture != NULL )
{
texture->Release();
texture = NULL;
}
したほうがよさげ。
0208205
02/08/06 04:44ID:A065mayA問題のところをコメントアウトにして実行させるとメモリが増えるようなことは起きませんでした。
ためしに、別に小さいプログラムを作って同じ事をさせても同じ現象が起きなかったので
なにか、別のところが間接的に影響を与えているのかな、もう少し調べてみます。
0209205
02/08/06 05:09ID:???↓こいつが原因でした、何であーなのかわからんが、やっと寝れる。
/*
* デバッグ ヒープのフラグを設定して、ヒープのリンク リストに解放
* したブロックを保持します。これにより、解放したメモリの不注意な
* 使用を検出できます。
*/
int tmpDbgFlag;
tmpDbgFlag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);
tmpDbgFlag |= _CRTDBG_DELAY_FREE_MEM_DF;
tmpDbgFlag |= _CRTDBG_LEAK_CHECK_DF;
_CrtSetDbgFlag(tmpDbgFlag);
0210名前は開発中のものです。
02/08/06 05:25ID:???メインループで確保と解放を繰り返してんのか!?Σ( ̄▽ ̄;)
0211202
02/08/06 06:26ID:???>>203-204
そう思ってドライバ更新したにもかかわらず>>202の状況なわけですよ。
ウィンドウモードなら何の問題もないので当面フルスクリーンナシでいくかぁ…
#フルスクリーンで遊ぶユーザーが多いと聞いたが…
0212名前は開発中のものです。
02/08/06 06:29ID:gQhH5TM60213名前は開発中のものです。
02/08/06 08:21ID:mY.DofG6DirectXには直接関係ないけど、ここお気に入り〜
0214名前は開発中のものです。
02/08/06 09:47ID:???_CRTDBG_DELAY_FREE_MEM_DFのフラグがあると、メモリ領域は解放フラグをつける
だけで、実際には解放しません。この場合、解放するのはプログラム終了時。
メモリ不足の状態を再現するのに使えるらしいです。
MSDNにもちゃんと書いてあるので読もうね。
ちなみに、_CRTDBG_LEAK_CHECK_DFはプログラム終了時にリークがないかチェックします。
0215◆KeJ3pYYQ
02/08/06 09:51ID:HhMbK2lEそれをxfile書き出しして表示させてるんですが、ぴったり二つくっつけてもまん丸
に見えません(少し縦に細く見えて、つなぎ目が目立ちます)。
最初から球状のオブジェクトなら、ちゃんと丸く見えます。
半球状の物を二つくっつけて、ちゃんと球状のオブジェクトとして見せるにはどうすれば
ヨイのですか
0216127
02/08/06 09:54ID:???ぐぁ。という事は、Dx8でフルスクリーンで画面更新しつつ
GDIを使うのは不可能ってことですか。
どうしても必要なら、DX7でやるかDX9を待つしかないのね…(;_;)
またはそれぞれ自前で実装するってのもあるか。
0217名前は開発中のものです。
02/08/06 11:52ID:???境界の法線をなんとかしる
メタセコにその機能がなければどうしようもないんじゃない?
もしくは法泉のつじつまが合うように工夫しる<だめかも
0218名前は開発中のものです。
02/08/06 11:54ID:???0219◆KeJ3pYYQ
02/08/06 14:16ID:HhMbK2lE>メタセコにその機能がなければどうしようもないんじゃない?
なんて事を言うんですか!じゃあどうしろと言うのですか!!!
ところで、xfileをロードした後にプログラムで球を二つに割るというのはどうでしょう
0220名前は開発中のものです。
02/08/06 15:15ID:???0222名前は開発中のものです。
02/08/06 18:52ID:???割れてない状態のXファイルと割れた状態のXファイルを2つ用意するとか。
0223名前は開発中のものです。
02/08/06 19:00ID:???0225◆KeJ3pYYQ
02/08/06 20:44ID:w4Cz3L1Qすんません、そこは失笑するところなんです
あとポリゴンを細かーくするとかっすかね・・・
0226名前は開発中のものです。
02/08/07 02:58ID:???0227名前は開発中のものです。
02/08/07 04:32ID:???そういう例外的なことが出来るほどプログラムが抽象化されてないんです
0229名前は開発中のものです。
02/08/07 11:39ID:???まあどっちにしても変則的になるが
0230名無しサソ
02/08/07 13:00ID:???中心点と円の表面の点を通るベクトルを法線にすれば、継ぎ目は見えないのでは?多分。
0231名前は開発中のものです。
02/08/07 13:38ID:???法線はポリゴンの三頂点の内積とは限らんの?
法線をxfileに持たせるとか持たせないとか。その辺がよくわかんないズラ
0232名前は開発中のものです。
02/08/07 13:49ID:???DirectXのヘルプにも載っていること
尼ちゃんも風呂も関係ない
0233名前は開発中のものです。
02/08/07 14:19ID:???当たり前の結論が当たり前に出ただけに留まりましたな。
0234名前は開発中のものです。
02/08/07 14:42ID:???0235名前は開発中のものです。
02/08/07 15:13ID:???取りあえず高校から勉強しなおせ。話はそれからだ。
0236名前は開発中のものです。
02/08/07 15:19ID:???0237名前は開発中のものです。
02/08/07 15:44ID:???0238名前は開発中のものです。
02/08/07 15:50ID:???0239名前は開発中のものです。
02/08/07 15:57ID:???0240名前は開発中のものです。
02/08/07 16:09ID:???0241あぼーん
NGNG0242名前は開発中のものです。
02/08/07 16:46ID:???いい機会だから先生に聞いて見ろ。見直されるぞ(w
0243あぼーん
NGNG0244名前は開発中のものです。
02/08/07 16:53ID:???0245名前は開発中のものです。
02/08/07 17:08ID:???(食う)>(食われる)で表記すると、
終了厨 > 知ったか厨 > 教えて厨
0246名前は開発中のものです。
02/08/07 17:31ID:???0247名前は開発中のものです。
02/08/07 18:03ID:???0248名前は開発中のものです。
02/08/07 20:27ID:???奴のことかと思った。
0249名前は開発中のものです。
02/08/07 20:34ID:???自分のプログラムじゃないの?
だったら自分で半球の.x fileを書き出すプログラムを書けば済むかと。
0250名前は開発中のものです。
02/08/07 20:39ID:???0251名前は開発中のものです。
02/08/07 20:54ID:???当然法線も違ってくる
切断面に透明ポリゴン置いたら回避できねぇかな?
(DirectXで表示するなら、また別の問題があるけど)
0252名前は開発中のものです。
02/08/07 21:06ID:???だから、その頂点が共有されてない場合の法線の取りまわしについてだよ
0253名前は開発中のものです。
02/08/07 21:32ID:???メタセコの仕様に文句あるなら自前で計算するしか無いじゃん
帰れよ
そうなんですが、実際に出したいのはもうちょっと複雑で、モデラーでないと作れそうにないんだよ・・・
つーか、球にそういうテクスチャ貼ってアルファテストで抜きゃいいじゃんという気がしてきた
0255名前は開発中のものです。
02/08/07 21:59ID:???LPD3DXMESH mesh=NULL;
D3DMATERIAL8 mat;を宣言
Init3D関数内で
mat.Diffuse.r = 1.0f; mat.Diffuse.g = 0.0f; mat.Diffuse.b = 0.0f;
mat.Ambient.r = 1.0f; mat.Ambient.g = 0.0f; mat.Ambient.b = 0.0f;
mat.Specular.r = 1.0f; mat.Specular.g = 0.0f; mat.Specular.b = 0.0f; mat.Emissive.r = 1.0f; mat.Emissive.g = 0.0f; mat.Emissive.b = 0.0f;
としてマテリアルを赤く設定したのち
D3DXCreateSphereで球体メッシュを生成。
Render関数内で
lpD3DDEV->SetMaterial(&mat);
mesh->DrawSubset(0);
とやったのですが、表示される球体は真っ白です。
なぜこうなってしまうのでしょうか?
0256名前は開発中のものです。
02/08/07 22:39ID:???難しく考えるとハマるという良い例になった
0257名前は開発中のものです。
02/08/07 22:57ID:???わからなけりゃフレームワークつかえ
0258名前は開発中のものです。
02/08/07 23:05ID:???IDirect3DDevice8::CreateAdditionalSwapChainの
オモロい使い方てありまへんか
0259名前は開発中のものです。
02/08/07 23:28ID:???ライトの設定がおかしいとそうなった気がする
0260名前は開発中のものです。
02/08/07 23:46ID:???テクスチャ貼り付けちゃえば赤くできるのですが、ちゃんとマテリアル使えるようになりたいと思いまして。
ライトはつかっておりませんが、
InitRender関数内で
lpD3DDEV->SetRenderState(D3DRS_LIGHTING, TRUE);
とすると、画面上のポリゴンが真っ赤になってしまうのです。
じゃあ、球体を描画する前にTRUEにして終わったらFALSEに
しようとおもったのですが、そうすると球体が見えなくなってしまいました。
どうやら、テクスチャを貼り付けたポリゴンのみに作用しているようなのです。
0261名前は開発中のものです。
02/08/07 23:52ID:???アルファブレンディングの設定をFALSEにした後に描画したら
赤く表示することができました。
0262名前は開発中のものです。
02/08/08 01:02ID:???まさかとは思うが、透明度を0にしてないだろうな?
どんな色をつけてライトを当てても透明度が0なら色はつかないぞ。
0263名前は開発中のものです。
02/08/08 02:41ID:???mat.Power=1.0fとやればいいってことですか?
0264名前は開発中のものです。
02/08/08 04:47ID:???あとこれはどうでもいいことだけど、matと略すと行列と間違えるから、
俺はmtrlを使っている。ま、こりゃどっちでもええことだけど。
0265名前は開発中のものです。
02/08/08 04:49ID:???俺はmateだけど(ダサッ
mtrlみたいな一文字飛ばし略語もなんかいやん
0266名前は開発中のものです。
02/08/08 05:03ID:???0267名前は開発中のものです。
02/08/08 05:09ID:???0268名前は開発中のものです。
02/08/08 06:05ID:???Σ( ゚Д゚) mjsk!!
0269名前は開発中のものです。
02/08/08 06:13ID:???マジッスカの略かぁ…。初めて知った
0270名前は開発中のものです。
02/08/08 12:05ID:/HiLzdeIどうすればいいんですか?
0271名前は開発中のものです。
02/08/08 13:15ID:???0272名前は開発中のものです。
02/08/08 13:53ID:???要点をバシッと決めてくれ。
0273名前は開発中のものです。
02/08/08 16:54ID:???0274名前は開発中のものです。
02/08/08 17:31ID:???打ち込むと出てくるうざいアレのこと?
0275名前は開発中のものです。
02/08/08 17:35ID:???ワークスペース - FileViewに、「DirectX」というフォルダを作る
DirectXのincludeファイルをプロジェクトに追加。
そこで追加したファイルは邪魔なので最初に作った「DirectX」フォルダに分けておく
とかすれば、入力支援機能でDirectXの構造体を使えたりも駿河
0276名前は開発中のものです。
02/08/08 20:47ID:???フォルダわけの意義がイマイチ謎
0277>>275
02/08/08 21:11ID:???0279名前は開発中のものです。
02/08/08 22:15ID:???もう十分詳しいと思うぞ。理解力が足りない
0280名前は開発中のものです。
02/08/08 22:36ID:???これ以上詳しくできないよ…
0281277=278
02/08/08 22:36ID:???■ このスレッドは過去ログ倉庫に格納されています