トップページ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)

コピペスマソ
0121名前は開発中のものです。02/08/02 15:43ID:???
首だけ別オブジェクトにするのも一つの手。
死んだときに首がとれて転がる、なんて演出もできるけど
((((((;゚д゚))))))
012211602/08/02 15:49ID:???
何か話が噛合わなくな……。

>>120
それだと、動き事のXfileを吐き出してるのと同じでは?
てっきり、動きの(ボーン)の無い所を
自分で動かしたい物だと思っておりました。
0123◆OiOOQQF.02/08/02 17:03ID:Rsc9P1wM
>>122
>それと、DirectXではボーンは無いです。在るのは、各頂点の
>ジオメトリ係数(重み)です。その重みが違うから、行列変換を

その各頂点に対応する行列のテーブルがあるんですよね?<サンプル
ですから、アニメーションのフレームを1コマ進めた後に、頭に対応してる行列を
自分で上書きしてやれば、頭だけ決め打ちのモーションとは違う動きをさせること
が出来ると理解したのですが・・・
0124名前は開発中のものです。02/08/02 17:16ID:???
ハードによって一度にブレンドできる頂点数が違うので
サンプルでは最初にデーターを解析して最適かつ表示可能な状態に頂点indexデーターを分割する

で、この頂点Indexを表示する為には、行列の配列のx番(例えば肩)とy番(上腕)をD3DDeviceにセットしてちょ
って感じになる

だから、配列の頭の部分を書き換えればできるよ
頭の配列の位置を調べるのはどうやるんだったかな?
名前から取れるはずだけど忘れた
0125名前は開発中のものです。02/08/02 17:35ID:???
>>124
漏れも質問。その配列の頭の部分が取れたとして、そこに例えばD3DXMatrixRotationYで
右に90度回転させる行列を作ってドカンとセットしてやれば、普通にキャラは右を向い
て表示される訳??
親子関係とか考えなくてダイジョーブなのか
0126名前は開発中のものです。02/08/02 17:52ID:???
もう覚えてないよ。今ざっと見たけど

以下CMy3Dappricationのメンバ関数ね
順番としては
frameMove() (Frameに時間をセットする。するとSFrameクラス内で事前に登録されたアニメーションデーターからその時間の姿勢行列が作られる
親に時間をセットすると、子に伝達されていき、

Render関数の中のから
UpdateFrame() を呼び出して親子関係の計算
drawFrame() 描画

なのでUpdateFrame()前にいじると出来る気がする

上に上げた関数あたりを読んでちょ
0127名前は開発中のものです。02/08/02 18:05ID:O1bDfjPo
GDIがらみの質問なんですが、DirectX8のフルスクリーンで
GDIもの(コントロールなど)を描画する方法ってありますか?
ウィンドウモードの時は出来るのだが、フルスクリーンになると
駄目でした。

おそらくD3Dがウィンドウモードの時はBlt方式、フルスクリーンは
Flip方式ってな感じで勝手に切り替えてると思うんですが、これを
手動で制御できる方法があれば教えてください。
0128名前は開発中のものです。02/08/02 18:06ID:???
>>126
なるほどサンクス
0129名前は開発中のものです。02/08/02 18:46ID:???
>>127
ステンシルでマスク
0130名前は開発中のものです。02/08/02 20:22ID:???
>>127
D3DPRESENT_PARAMETERSの設定で一応はFlipを使わせずにBltを使わせることは
できるけど、Clipperが使用されないのでオススメできない。
DX8はGDIは使わせない方針なので、GDIを使いたいならDX9を待った方がいいかも。
DX9では関数一発でGDIモードの切り替えができるようになっていて便利。
再びSurfaceからGetDCできるようになっているから、使いやすさではDX8よりも
遥かに上。
0131名前は開発中のものです。02/08/02 20:26ID:???
>>130
GetDCしたいんじゃなくて、常にGDI面にしたいって話だろ?
0132名前は開発中のものです。02/08/02 20:38ID:???
そういえばぼちぼちDX9でるのか?
0133名前は開発中のものです。02/08/02 21:11ID:???
>>131
だから、それがDX9では関数一つ呼ぶだけで出来るんだってば。
PresentがBltになってClipper使用状態。
動的に切り替えられるから、GDIが必要なくなれば再びFlipに戻せる。
0134名前は開発中のものです。02/08/02 22:37ID:???
>だから、それがDX9では関数一つ呼ぶだけで出来るんだってば。
>PresentがBltになってClipper使用状態。
>動的に切り替えられるから、GDIが必要なくなれば再びFlipに戻せる。

そうか・・・・また激烈に仕様が変わるのか・・・・・・・・鬱氏のう
0135naya02/08/03 01:09ID:???
sinとcosの値から角度を求めるにはどうすればいいんですか?
0136名前は開発中のものです。02/08/03 01:18ID:???
asinとacosだな…
0137名前は開発中のものです。02/08/03 01:23ID:???
>>125
首の部分の基本姿勢行列によるのでは?
ワールドに対して任意の方向(この場合ならワールド座標系で右)
になるような行列をかけてやればよいのではないかと。

>>135
アークサイン、アークコサインではダメなの?
(asin, acos)
そういう意味ではなくて?
0138naya02/08/03 02:26ID:???
そうですか、ありがとうございます。
スティックを傾けた方向にプレイヤーを向かせるようにしたいのですが
D3DXMatrixRotationYの第2引数はラジアンなんだけど、DirectInputで
得られる軸の2つの数字からそれを求めるにはどうすればいいのかなって
思いまして。
asin,acosを使ってやってみようと思います。
atan,atan2では無理でしょうか?
0139naya02/08/03 03:01ID:???
const double PI2 = 6.28318530717958647692528676655901;
double SinCosToAngle(double sinval, double cosval)
{
double asinval = asin(sinval);
double acosval = acos(cosval);
if(asinval > 0.0) return acosval;
else return PI2 - acosval;
}

いろいろ調べたらソースが出てきたのですが、これでいいんですよね?
この値を直接RotationYにつっこめばいいのですか?
0140名前は開発中のものです。02/08/03 03:28ID:3vnUJh66
>>139
asin,acosは(多分)内部でatan,atan2を呼び出しています

っていうか、三角関数同士は密接な関係があるです
(sin x)^2=1 - (cos x)^2 と同じように
asin,acosとatanは関係しています
具体的な式はめんどくさいので省略
0141名前は開発中のものです。02/08/03 03:30ID:3vnUJh66
追加

atan2の方が(級数展開の関係上)計算が早く、誤差も少ないので
そちらを使うことをお勧めします
0142naya02/08/03 04:08ID:???
そうですか、アドバイスありがとうございます。

cosとsinの2引数を入れたらラジアンで戻ってくるような関数があったらいいんですけどね。
0143名前は開発中のものです。02/08/03 04:09ID:3vnUJh66
>>142
あのぉ・・・
それ、atan2なんですけどぉ・・・
0144naya02/08/03 04:21ID:???
あ、やっぱそうなんですか・・・・・・。
atan2ってそういう関数なんですかかって聞くと恥ずかしいから
遠回しな聞き方してしまったのですが、やっぱどっちにしろ恥ずかしいですね。

大学受験時は偏差値70近くあった数学もやらないとさびてしまう物ですね。
まして、複雑な三角関数や偏微分とかはやらなかったし。
0145名前は開発中のものです。02/08/03 04:34ID:???
三角関数が複雑なんですか?
数学の基礎中の基礎でこれが出来ないと何も出来ないと思うんですが。
0146名前は開発中のものです。02/08/03 04:43ID:???
まあまあ。受験勉強とか偏差値とはそんなもんさ
0147naya02/08/03 04:59ID:???
いや、三角関数が複雑だったのではなく、ハイパボリックやマクローリンとか
への変換や積分とか三角関数をもちいた複雑な問題が大変だったということです。

高校ではそこまでつっこんでやりませんでしたからね。
0148名前は開発中のものです。02/08/03 05:20ID:3vnUJh66
>>146
むしろ、大学受験までの勉強が「基礎中の基礎」なだけであって
意味が無いとは思わない

ただ、ゲーム製作に必要な知識はもうちょっと上のほうだと思う
nayaさんは、基礎がしっかり出来てるみたいだから、
ちょっと勉強すればぜんぜん出来るようになるでしょう

重要なのは、今勉強するかですからね
0149名前は開発中のものです。02/08/03 05:29ID:???
>>149
基礎が出来ているならむしろ>>135>>142のような発言は無いと思うけど…。
まぁ慣れというか、何事も何回も使っていくうちに頭に刷り込まれていくものだと
思うんで、がんばってください。
0150名前は開発中のものです。02/08/03 06:14ID:???
D3DXMatrixRotationYなんて使わずに直接行列を求めた方がスッキリすると思うが。
sin,cosが分かってるなら、そのまま行列に代入するだけだし。
高校レベルの数学だけど今の高校って行列やらないんだっけ?

>>149
誰に言ってるの?
0151名前は開発中のものです。02/08/03 09:27ID:???
>D3DXMatrixRotationYなんて使わずに直接行列を求めた方がスッキリすると思うが。
人それぞれですな。
0152名前は開発中のものです。02/08/03 19:45ID:4pHFWPGk
>>150
理系である程度のレベルの学校ならやる。数Cで。
だけどベクトルとの関連性を無視して、単なる計算で終わっているので使い物にならない。
大学に入ってからやる線形代数の授業もそう。単なる計算で終わっている。
ちなみに自分はコンピュータグラフィックスの特別講義ではじめて、行列と幾何の結びつきを知った。
0153名前は開発中のものです。02/08/03 21:25ID:???
>>152
現行課程への移行時に一次変換が削除されたのが痛かったね。
来年度から施行される新課程では、数学Cに、行列の応用として
「点の移動」という単元が加わっているみたいだよ。
ttp://nierdb.nier.go.jp/db/cofs/h10h/chap2-4.htm
0154naya02/08/03 21:28ID:???
自分が高校生の時もそのような感じでした。
しかも、数学Cは受験時には選択制だったり、このジャンルが出題されないため、数学Vの方を重点的に勉強してしまい、ほとんど勉強しませんね。

また、最近は数学を受験科目に選択しなくても理系学科に入れる試験制度が
ある大学が増えてきたようですね。
0155名前は開発中のものです。02/08/03 22:28ID:???
--教育関係の話題はスレ違いにつきそろそろ終了--
0156名前は開発中のものです。02/08/04 01:58ID:5a7Xd0hg
ID3DXMeshから頂点とインデックスの情報を取り出すにはどうすればいいのですか?
GetVertexBuffer()で頂点バッファのポインタが取得できるみたいなんですが、
その頂点を格納しているIDirect3DVertexBuffer8がいまいちわからないのです。
フレキシブルな頂点フォーマットというのが8で導入されたみたいなんですが、
その頂点フォーマットのタイプとサイズはどこで得られるんだか、わけがわかんないのです。
チュートリアルでこのあたりまで解説してくれるとありがたいんだけどなあ>MSさん

んー、というより本当はD3DX使いたくないんですけどね。
Xファイル読み込むにはこれが一番お手軽なもので・・・
どこかにXファイル簡単に読んでくれるクラス転がってないですかねえ。
0157名前は開発中のものです。02/08/04 02:02ID:???
GetFVF
0158名前は開発中のものです。02/08/04 02:06ID:5a7Xd0hg
>>157
どうもありがとう・・・余分なものを一切書かないとこに貴方のセンスを感じる。

んで、IDirect3DVertexBuffer8::GetPrivateData()で得られるポインタに
データの本体が入っている、と。
でもこれは単なる配列なので、頂点フォーマットの構造体が無いとデータ取り出せませんよね?
GetFVF()で得られたフォーマットから頂点フォーマットの構造を得るには
どうすりゃいいんでしょうか。
0159名前は開発中のものです。02/08/04 02:19ID:???
>>156
IDirect3DVertexBuffer8::GetDesc

初心者程度の知識しかないくせに、なめた口を利いてんなよ。
「ヘルプ読め厨房!」がお似合いだ。
知識がないのは誰でも最初はそうだが、お前は必要な情報を探す気もろくにないだろ。
ふだんは2chで個人叩きと荒らしばかりやってるだろ。
0160名前は開発中のものです。02/08/04 02:19ID:???
IndexBufferって知ってる?
0161名前は開発中のものです。02/08/04 02:22ID:5a7Xd0hg
やっぱこんな時間じゃすぐ答え返ってこないよなあ。

誰かこういうの作って!!
・1つのクラスが1つのXファイルを扱う
・格納される情報は、頂点、インデックス、マテリアル、テクスチャ(のファイルの名前)
・アニメーションは、パターンに番号が付いていて、1とか2とか指定すると
  "変換済みの"頂点を返してくれる(自分で行列の演算とかしなくていい)
0162名前は開発中のものです。02/08/04 02:35ID:???
僕はゲームの専門学校に逝ってます。
今は、就職活動中ですが、周りの皆が良く言うのは
”この業種での業界の求人が少ない”って話です。
僕的には???です。その辺の会社のHPに
”3DPG急募”って沢山在ります。

でも161読んで、何か解ったような気がします。
…それをPGが言うな!自分で作れ!
今時のゲー専生徒でも、自分で作ってるわ!(クラスじゃ無いけど)
0163名前は開発中のものです。02/08/04 03:27ID:5a7Xd0hg
みんなして俺をバカにしやがって!!
調べるより聞く方が早いから聞いてんだろうがヴォケ!
それが許されないなら掲示板は何の為にあるんだ言ってみろ!
ゲー専生徒でも自分で作ってるだ?てめーらは学校の実習とかでやってんだろうが。
こっちはプログラムなんか夏休みぐれーしかできねえんだよ!
その夏休みの間にDirectXマスターしようとしてるんだ。
てめーら俺に協力してくれたっていいじゃねえかよ。なんでそんな風に言うんだよ。
何にもやる気なくなっちまうよ。
016416202/08/04 03:36ID:???
学校でXfileの解析(読み込み)、自前制御なんか教えてくれませんよ。
どっちも、元から関数用意されていますので。
そもそもDirectXの授業なんて、殆ど無いに等しいです。
自分で必要だったら、自分でやってるだけです。
実習とバイトの合間を縫って。
0165名前は開発中のものです。02/08/04 03:45ID:???
>>163
もう少し簡潔に質問してくれ。
それとどれとどれが163の発言が分からないからどれに返答していいか分からん。
0166名前は開発中のものです。02/08/04 03:47ID:y/qD5Xb2
>>163
>みんなして俺をバカにしやがって!!
ワロタ
0167名前は開発中のものです。02/08/04 03:51ID:y/qD5Xb2
>>161

>"変換済みの"頂点を返してくれる(自分で行列の演算とかしなくていい)
どういう事?
頂点のワールド行列て事?
モーフィングとかやりたいの?
0168名前は開発中のものです。02/08/04 04:05ID:???
>>163
そういう風に言われると教えたくなくなる…というか係り合いたくなくなるが…
少なくともヘルプ読んでくれよ。
DirectX AppWizardが吐き出すCD3DFileクラスをちょっといじればそれくらいできるぞ。
0169名前は開発中のものです。02/08/04 04:08ID:???
>>163
>調べるより聞く方が早いから聞いてんだろうがヴォケ!
激しくワラタ
多分、自分で調べたほうが早いよ。
俺たちはアナタの辞書じゃない。

おまえこのスレの1だろ
ttp://game.2ch.net/test/read.cgi/gamedev/1028396250/l50
0170名前は開発中のものです。02/08/04 04:17ID:???
>>163
テンプレにできそうな予感
0171名前は開発中のものです。02/08/04 04:42ID:???
この程度なら掲示板で聞くより調べた方が早いと思う。
これだけしっかりしたドキュメントが用意されているんだし。
ID3DXMeshのメンバを一通り調べるのに30分もかからんだろ。
GetFVFの使い方が分からないならサンプルのフォルダでGetFVFで検索すれば
すぐに見つかる。
0172名前は開発中のものです。02/08/04 04:51ID:???
そうか夏休みだったんだな
0173あぼーんNGNG
あぼーん
0174名前は開発中のものです。02/08/04 05:57ID:???
調べ方がわからなくて聞いている罠
0175名前は開発中のものです。02/08/04 06:56ID:???
夏休みにもなるとどこからともなくスゴい人がやってくるね。
いやぁ、世界は広いねぇ。
0176名前は開発中のものです。02/08/04 12:12ID:???
おいおい、さすがにネタだろう…
まぁスレが賑わうのはいいことじゃ(・∀・)
0177名前は開発中のものです。02/08/04 16:31ID:???
専門卒、大卒どっちが使えるのかってのは気になるところだがね。
0178名前は開発中のものです。02/08/04 16:39ID:???
使えるヤシは環境にかかわらず独学で使えるヤシになった訳で。
0179名前は開発中のものです。02/08/04 16:44ID:???
使える使えない以前に、大卒でないと書類審査ではねられる罠。
「うちは学歴にこだわらずちゃんとみてます!」なんて建前だよ。
いいかげん気づけよ、未来がある(といいな)厨房ども。
同じできる人なら大卒から取るさ。
0180名前は開発中のものです。02/08/04 16:47ID:???
大卒は教えればできるようになるからね
0181名前は開発中のものです。02/08/04 18:39ID:???
結局ね、偏差値70越えたら知識なんてあることが前提だし、
ペーパー試験で差になって現れるのは知識とか知性じゃなく、
「他者の意図を読んで想定された解答を出せるか」なのよ。
そういうのって馬鹿にされがちだけど、実際極めて重要なわけで。

また卒業のために論文書いたりプレゼンテーションをすることになるわけだけど、
その経験は、曲がりなりにも
「他人に自分の考えを理解してもらうための説明ができる」一助になるわけだし。

大卒である方が有利、っていうのは「技術・知識」一辺倒ではなく
そういう部分も含めての話だと思いますよ。

偏差値70切ってる方については憶測しか出来ませんが…。
0182名前は開発中のものです。02/08/04 19:02ID:???
>181
はげ同。
0183名前は開発中のものです。02/08/04 19:51ID:???
偏差値70以上 ≒ 上位2.3%(正規分布と仮定)
残り97.7%のヤシは使えません。
0184名前は開発中のものです。02/08/04 20:18ID:???
学歴の話してる奴は、ゲ製の数少ない
まともな話ができるスレをつぶす気なんだな?
0185名前は開発中のものです。02/08/04 20:27ID:???
>>184
はげ同。
とりあえず場の空気を読むことを学んで欲しい、若者たちよ。
「その話はもういいよ」という無言の声が聞こえないか?
0186名前は開発中のものです。02/08/04 20:29ID:???
>>184
はげ同、これは巧妙な罠ね

偏差値70以上の国立大(文系だけど)卒で、今だプーたろうですが何か?(´Д⊂
0187 02/08/04 20:42ID:???
>>179-181
激しく同意するが、気がついてみればここ何のスレだよ。
0188名前は開発中のものです。02/08/04 21:02ID:???
>186
文系は偏差値が何であってもクソということは定説です。およびじゃない。
0189あぼーんNGNG
あぼーん
0190名前は開発中のものです。02/08/04 21:49ID:???
DirectX のスレだったのか
0191名前は開発中のものです。02/08/04 22:19ID:???
入学式、「日本ゲーム業界を支えているのはゲーム専門学校の生徒です!」と高らかに
宣言したのはうちの校長でした・・・・・・

欧米のゲームプログラマーはほとんど大卒だったのを知ったのはその1年後でした。
0192名前は開発中のものです。02/08/04 22:43ID:???
>>191
もうやめろって馬鹿
0193名前は開発中のものです。02/08/05 00:03ID:???
>>191
空気読め阿呆
0194名前は開発中のものです。02/08/05 00:29ID:???
>>183 ( ´_ゝ`)マァ チミツ
>>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:???
>>196
BBXとか、他にもイロイロあるじゃん。
0199名前は開発中のものです。02/08/05 13:32ID:???
ともかく、この伝統ある良スレを荒らすのはやめてくれ。マジで。
020012702/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:???
>>200
一応説明しておくけど、D3DPRESENT_PARAMETERSで設定する方法ではGDI使用中は
Presentは呼んじゃ駄目だよ。ようするに画面は更新できないって事。
それとステンシルは使えないよ。ステンシルでマスクできるのはバックバッファ。
ダイアログやコントロールをマスクしないといけないのはフロントバッファ。
0202名前は開発中のものです。02/08/05 22:33ID:WmYu1GTw
Win2k, DirectX8.1, VC++6.0, GeForce2MX 32MB にて…

1.DX AppWizardでアプリを新規作成(急須のヤツ)する
2.変更ナシでビルドする
3.そのまま実行する
4.ALT+ENTERでフルスクリーンモードにする
5.ALT+ENTERでウィンドウモードにする
6.ESCで終了
7.エラーメッセージのダイアログが出てVCごと落ちる

ヽ(`Д´)ノなぜじゃああああああああああああああああああ
0203名前は開発中のものです。02/08/05 22:58ID:???
>>202
同じ構成でも俺の環境だと落ちなかったが。
ドライバ最新にしてみたら?
0204名無しサソ02/08/06 01:11ID:???
>202
 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:???
while(1){
 OutputDebugString("最適化ばかりしててコミケ落とさないでください!\r\n");
 GameMain();
 Test_205();
}
0207名前は開発中のものです。02/08/06 03:55ID:???
>>205
マジでそこが原因なの?
コメントアウトしてみた?

ついでに蛇足だけど、SAFE_RELEASE(dxutil.h)や
if( texture != NULL )
{
    texture->Release();
    texture = NULL;
}
したほうがよさげ。
020820502/08/06 04:44ID:A065mayA
>>207
問題のところをコメントアウトにして実行させるとメモリが増えるようなことは起きませんでした。

ためしに、別に小さいプログラムを作って同じ事をさせても同じ現象が起きなかったので
なにか、別のところが間接的に影響を与えているのかな、もう少し調べてみます。
020920502/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:???
>メインループで
メインループで確保と解放を繰り返してんのか!?Σ( ̄▽ ̄;)
021120202/08/06 06:26ID:???
おはようございます。

>>203-204
そう思ってドライバ更新したにもかかわらず>>202の状況なわけですよ。
ウィンドウモードなら何の問題もないので当面フルスクリーンナシでいくかぁ…

#フルスクリーンで遊ぶユーザーが多いと聞いたが…
0212名前は開発中のものです。02/08/06 06:29ID:gQhH5TM6
http://js-web.cside.com/
0213名前は開発中のものです。02/08/06 08:21ID:mY.DofG6
http://www.7swords.com/~czar/
DirectXには直接関係ないけど、ここお気に入り〜
0214名前は開発中のものです。02/08/06 09:47ID:???
>>209
_CRTDBG_DELAY_FREE_MEM_DFのフラグがあると、メモリ領域は解放フラグをつける
だけで、実際には解放しません。この場合、解放するのはプログラム終了時。
メモリ不足の状態を再現するのに使えるらしいです。
MSDNにもちゃんと書いてあるので読もうね。

ちなみに、_CRTDBG_LEAK_CHECK_DFはプログラム終了時にリークがないかチェックします。
0215◆KeJ3pYYQ02/08/06 09:51ID:HhMbK2lE
メタセコイアで、半球を二つ組み合わせた、くす玉みたいなオブジェクトを作って、
それをxfile書き出しして表示させてるんですが、ぴったり二つくっつけてもまん丸
に見えません(少し縦に細く見えて、つなぎ目が目立ちます)。
最初から球状のオブジェクトなら、ちゃんと丸く見えます。
半球状の物を二つくっつけて、ちゃんと球状のオブジェクトとして見せるにはどうすれば
ヨイのですか
021612702/08/06 09:54ID:???
>>201
ぐぁ。という事は、Dx8でフルスクリーンで画面更新しつつ
GDIを使うのは不可能ってことですか。
どうしても必要なら、DX7でやるかDX9を待つしかないのね…(;_;)
またはそれぞれ自前で実装するってのもあるか。
0217名前は開発中のものです。02/08/06 11:52ID:???
>215
境界の法線をなんとかしる
メタセコにその機能がなければどうしようもないんじゃない?
もしくは法泉のつじつまが合うように工夫しる<だめかも
0218名前は開発中のものです。02/08/06 11:54ID:???
うちのIMEは何度もコメントで「法線」つかってるのに「法泉」かぁぁぁ
0219◆KeJ3pYYQ02/08/06 14:16ID:HhMbK2lE
>>218
>メタセコにその機能がなければどうしようもないんじゃない?

なんて事を言うんですか!じゃあどうしろと言うのですか!!!

ところで、xfileをロードした後にプログラムで球を二つに割るというのはどうでしょう
0220名前は開発中のものです。02/08/06 15:15ID:???
まあそれも手だわな
022120502/08/06 15:47ID:???
>>214
なるほど、原因の理由がわかりました
ありがとうございます。
■ このスレッドは過去ログ倉庫に格納されています