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

鬱だ氏のう DirectX (Part 5)

レス数が900を超えています。1000を超えると表示できなくなるよ。
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)

コピペスマソ
0838名前は開発中のものです。02/10/04 15:21ID:???
>>836
まるちぽすとウザい。
0839名前は開発中のものです。02/10/04 21:07ID:???
初心者の雑魚なんですが質問させてください。
DirectX8.1のDirectGraphicsについてなんですが
2D描写の時、サーフェイスを作ってブロック転送するとうまくいくのですが
スプライトでやろうとすると、
縦横のサイズを2の累乗でスプライトを作成すれば問題ないのですが、
それ以外の場合、伸びたりちじんだりしてしまいます。
やはりこれもテクスチャの制限というかビデオカードに依存するものなのでしょうか?
640*480でアルファブレンディングして2D描画(のべるげーのようなもの)がしたいのですが
どうしてもうまくいきません。
サーフェイス間でアルファブレンディングなどは不可能なのでしょうか。
素直に7までのDirectDrawを使うべきなのでしょうか……
0840名前は開発中のものです。02/10/04 21:14ID:???
>839
漏れも初心者なんで細かいことはわからんが、確かDiorect3D系は縦と横がそれぞれ2の累乗の画像サイズじゃないとおかしくなる。
ビデオカードではなくDirectXの仕様みたいなの。
1024*512で画像作って、入れるか、512*512を拡大縮小して640*480にはめ込むなんてのもあり。

ていうかDirectDrawを使ったことが無いのでわからんちん。DirectGraphics簡単すぎねん。
ちなみにスプライト関数はお勧めしない。うちだけかもしれんけどなんか沢山だすとやたら重い。
頂点データで自前スプライト関数を作るのをお勧め。どうせ作るやつに併せて関数組替えるんだし細かいトコまで指定できるそっちのが良いかと。
初心者の漏れが言うことなんで自信なし。
このスレ見てる人はもっと上手い事言えると思うけど。
0841名前は開発中のものです。02/10/04 23:18ID:???
>>839
確かスプライトは勝手に伸縮するから、空のテクスチャを作った後に画像を
転送するとかそういう工夫が必要だったはず。
0842名前は開発中のものです。02/10/04 23:23ID:???
最近はエロゲでも640x480より大画面のゲームあるだろ。

2D野郎はけち臭いし面倒くさがり。
そのくせMMXやらSSEの自慰的最適化は大好き。
面倒なのが好きなら256x256を5枚確保して分割しろ。
5枚目は128x256に分ける
0843名前は開発中のものです。02/10/05 00:14ID:???
>>831
http://www.aqut.homeip.net/quadrupled/ml/200201/msg00000.html
↑とかは?
0844名前は開発中のものです。02/10/05 07:45ID:???
フルスクリーンってFPS自動調整してくれるんですか?
ウインドウだと1000FPSなのにフルだと70〜80になります。
084581602/10/05 07:46ID:???
>>817 >>818 カイタノワスレテタ. アリガト
0846名前は開発中のものです。02/10/05 09:18ID:CpVGlNaL
>>844
リフレッシュレートに同期してんじゃねぇの?
デフォルトでは同期だっけ?
0847名前は開発中のものです。02/10/05 09:39ID:???
>>839
テクスチャのサイズは累乗の制限を受けるが
画像自体が勝手に伸びたり縮んだりすることは絶対に無い
D3DXでわざわざ伸張フィルター付で読み込んでいるとかいう落ちでは?
0848名前は開発中のものです。02/10/05 10:14ID:CpVGlNaL
ifさんのHPいつのまにか消えてる〜?
消息知らない?

大体煮詰まってくるとHP消しちゃうんだよなー 
おながいしますよ
084983902/10/05 10:19ID:???
>>840
>>841
>>842
助言ありがとうございます
うーん、やっぱりテクスチャのサイズ制限を受けてしまうみたいですね……

>>847
すいません、フィルターかけてました(;´Д`)
0850名前は開発中のものです。02/10/05 10:24ID:???
>>839
テクスチャ読み込み時にD3DX_FILTER_NONEを指定しなさい。そうすれば累乗でできた余白は黒になる。
0851名前は開発中のものです。02/10/05 11:53ID:???
>>839
1024*512のテクスチャを作って640*480のBMPとかを
読み込ませてポリゴンに張って使えばいいと思うよ。
ただし、ピクセルとテクセルが完全に一致しない事がある。
座標に0.5の補正を掛けてもダメで、ドライバーの設定を
いじってもダメだった。元絵が微妙にボケる可能性あり。

>>842
>最近はエロゲでも640x480より大画面のゲームあるだろ。
>2D野郎はけち臭いし面倒くさがり。

CDの容量とかデザイナの手間を考えて640*480にするんじゃねぇの?
エフェクトとかも考えると640*480じゃないと古い機種はつらい。

>>848
if氏のはこっちに引越し。
http://www.t-pot.com/
0852名前は開発中のものです。02/10/05 11:56ID:CpVGlNaL
>>851
サンクス〜(号泣
0853名前は開発中のものです。02/10/05 13:24ID:???
DrawIndexedPrimitiveの2番目の引数MinIndexの説明で
「この呼び出しの間に使用される頂点群に対する最小の頂点インデックス。」
ってなってるんですけど、これは4番目の引数StartIndexの説明
「インデックス配列の中で頂点の読み取りを開始する位置。」
と何が違うのでしょうか?
0854名前は開発中のものです。02/10/05 13:41ID:???
修飾子を外していくとわかる
1つ目は「頂点群に対する最小の頂点インデックス」
2つ目は「インデックス配列の読み出し開始位置」
対象が違うっしょ
0855名前は開発中のものです。02/10/05 13:42ID:???
StartIndex。インデックスバッファの
MinIndex インデックスバッファの中の値の最小値。「頂点バッファの
開始位置」みたいな使い方。

0856名前は開発中のものです。02/10/05 18:11ID:???
モーションが大変ってのはわかるんですが、シェーダーとか
一通りいじってきたので、そろそろモーションやろうと思ってます。

IFさんのページとか見たのですが、もっとじっくり知りたいのです。
おすすめの本とかサイトとか在りますでしょうか?
0857名前は開発中のものです。02/10/05 20:54ID:???
>>856
Advanced Animation and Rendering Techniques : Theory and Practice
http://www.amazon.co.jp/exec/obidos/ASIN/0201544121/qid%3D1033818807/249-1506701-3573152
0858名前は開発中のものです。02/10/05 23:17ID:Lt8u7Bgr
DotProduct3バンプ+加算マルチテクスチャ
現在PixelShaderを使わないでやってますが、
ほとんどマルチパスになっちゃってます。
普通xバンプ + 加算xバンプ
やっぱもったいないですか?
0859名前は開発中のものです。02/10/06 00:33ID:???
頂点群に対する最小の頂点インデックス
最小って何が最小なんですか?
描画のタイプ(TRIANBLEFANとか)とプリミティブの数の二つの引数から
呼び出されるインデックスの数がわかるので、この二つとあとはインデックス
バッファの開始場所の引数だけあればいいってことではないのですか?
0860名前は開発中のものです。02/10/06 00:41ID:4rON28Od

http://c4.cgiboy.com/darkserge999/

0861名前は開発中のものです。02/10/06 00:45ID:???
>>859
2番目の引数MinIndexと3番目の引数NumVerticesというのは、
頂点バッファにあるN個の頂点のうち
「MinIndex番目からNumVertex個使う」
という指示なんだろう。

この範囲の頂点をハードウェアに送ったりT&Lしたり
なんらかの最適化に用いるんだと思う。
0862名前は開発中のものです。02/10/06 02:12ID:???
3D STUDIO MAXで吐き出すXファイルってのはモーションが付いてくるのですか?
棒を作ってボーン二個でうねるアニメを作りSDK付属のXファイルを吐き出しましたがメッシュビューワーでアニメーションしません
休日使って学校行ったのに何も進展なかったら欝だ・・・。
0863名前は開発中のものです。02/10/06 02:37ID:???
棒でボーン
あぼーん
不幸
0864名前は開発中のものです。02/10/06 03:07ID:???
SetTextureStageStateが思い通りに行かなくて困っています。
質問なんですが、

SetTextureStageStateで
テクスチャのアルファを参照するようにしているときに、
RGB565のようなアルファをもたないテクスチャを割り当てたら、
アルファは 0、1 どちらと見なされるんでしょうか?
0865名前は開発中のものです。02/10/06 06:05ID:???
>>862
ついてくる。
というか、Xファイルをテキストで出してみればわかる。

ちなみにMAXの場合、モーションなんかより
スキニング情報を出力させるのが厄介
(アニメーションしないのもそのせいだろう)。

プラグインのReadmeに書いてあるから読んでみ。

そもそもMAXは設計がおかしいから(機能追加による無意味な肥満化)
可能であればMayaなりXSIに移行することを勧める。

ついでに言うと、はじめはXファイル使うのもいいが、
3Dの仕組みわかってきたら自分でプラグイン作ることも勧めておく。
0866名前は開発中のものです。02/10/06 09:01ID:PrcbrNwY
3DツールのSDKが英語なのが辛い
MAXのSDK 日本語化が完全に終わってない、つかする気もない模様。詐欺だ。明記しとけ
文句言う方がヘタレですか、、、ショボーン

各ツール触ってないと、内部構造まで比較できないっすよねぇ
購入前にSDKあまり覗け無いし… MAXは醜いのか…

割とmaxフォーマットが広まってるので大金だして買ったのに鬱〜
0867名前は開発中のものです。02/10/06 10:11ID:???
>>864
1
0868名前は開発中のものです。02/10/06 10:40ID:???
だいたい基本である3Dモデルを個人で手軽に作れない時点でこの業界終わってるよな。
0869名前は開発中のものです。02/10/06 11:30ID:???
著作権フリー素材集ってあんまり出回ってないのかな?
0870名前は開発中のものです。02/10/06 11:37ID:???
もしも。

もしもゲーム用の著作権フリー素材集を公開したところ、
著作者を明示せずに無断で流用する連中が横行し、
自分の素材が使われたゲームが見たいと思っても誰も作者に報告しない。
あまつさえ散々利用していたはずの連中に匿名掲示板で中傷される。
そんな状況だったらゲーム用のフリー素材集をどれだけの人間が公開するだろう?
あなたは素材製作者に対してどれだけのものを還元してきたのだろう?

結局、他人の善意を引き出すことができるのは自分の善意だけだ。
誰かがやることを期待するよりも自分が先鞭をつけることが先ではないのか?
0871名前は開発中のものです。02/10/06 11:59ID:???
>>870
あーいやそのフリー公開じゃなくて・・・
音楽とか効果音とか壁紙とかって売ってるじゃない
そういうの
0872名前は開発中のものです。02/10/06 12:17ID:???
3Dはピーコ品じゃないと手出すのもバカらしいくらいソフト高いからな〜
0873名前は開発中のものです。02/10/06 12:30ID:PrcbrNwY
どんなデーターを期待してるんだ?
人体だって それなりに公開されてるだろ。Mikotoのデーターとかな

まず、コンバーター作ってプログラムに組み込んで、ゲームなり動く状態になったら
それを見せてデーター利用の交渉しろよ
0874名前は開発中のものです。02/10/06 12:44ID:???
>865
ありがとうございます。
Readme訳して勉強してきます。
学校がMAXとLightWave置いてあるんでそれを使ってるんです。
LightWaveは友人いわくテクスチャ付ワンスキンアニメの出力にバグがあるとかなんとかでMAXをやって見たんですが。
0875名前は開発中のものです。02/10/06 13:06ID:???
ああ、素材スレありましたね
そっち行きます
0876名前は開発中のものです。02/10/06 14:11ID:OgV3YXy2
リアルな爆発シーンを、パーティクルを使って描画しようと思っていますが、
自分で作ったプログラムを動かしてみても、しょぼい爆発しか描画されません。
というか、ただのビットマップが数個重なって(αブレンドはしたけど)表示されるだけです。

画像は、windowsのペイントのスプレーでちゃちゃっと書いたようなものなのですが、
これが原因なのですか?
どうしても爆発が粗く見えるのです。

それとも、DirectXの描画機能で、ぼかすなどの機能があるのですか?
それとも、プログラム中で画像をぼかす機能を自分で実装するのですか?

みなさんどうやってます?
0877名前は開発中のものです。02/10/06 14:48ID:???
>876
ttp://www.vector.co.jp/soft/win95/art/se173882.html
こんなん使ってる。
スプレーでやる場合Windowsのペイントだと標準の色が彩度が高いので綺麗にならない
0878名前は開発中のものです。02/10/06 15:13ID:???
>3DツールのSDKが英語なのが辛い
>MAXのSDK 日本語化が完全に終わってない、つかする気もない模様。詐欺だ。明記しとけ

翻訳ソフト通してある程度判断すればいい。つーか英語覚えなさい。
モデルの出力プラグインならMSもソース付きで公開してるし
あるものを解析して吸収するべし。
正直日本語マニュアルが無いと何も出来ない奴はヘタレ。
0879名前は開発中のものです。02/10/06 16:06ID:PrcbrNwY
ま、そうなんだけどね、日本語マニュアル って文中のリンクが全部切れてるしゴルァ って感じ
リンクの張ってないOnlineDocなんて読めるかゴルァ

印刷してもまた別の面で不便
0880名前は開発中のものです。 02/10/06 16:42ID:tRa4bAyP
みんな、新しい顔文字ができました。いっぱい使ってください!

σ゚д゚)ボーノ  

 ボーノとは、イタリア語で「おいしい」という意味です。
2chでメジャーの(゚д゚)ウマーに対抗して(?)できたようです。

※ちなみに、絵の意味は、イタリア人によく見られる、
 おいしいときに指をほっぺにあてる仕草です
0881名前は開発中のものです。02/10/06 16:47ID:???
>>880
そういうくだらないことは他のクソスレでやってくれ
0882名前は開発中のものです。02/10/06 16:53ID:???
ちょっとまってくれよっ。このスレがクソスレじゃないって証拠がどこにあるんだ!?
0883名前は開発中のものです。02/10/06 17:01ID:???
そこかしこに
0884名前は開発中のものです。02/10/06 17:08ID:???
>>871
売っている素材集は基本的にゲーム等には使えないよ。
普通はテクスチャ等を単体で抜き出せるような用途には使用不可能。
ようするにプリレンダムービーにしか使えない。
0885名前は開発中のものです。02/10/06 17:23ID:???
ここはこの板でも数少ないまともなスレだろうが
0886名前は開発中のものです。02/10/06 18:00ID:???
>>884
いや、だから著作権フリーの、と書いてあるんですが・・・
0887名前は開発中のものです。02/10/06 18:21ID:OgV3YXy2
DirectXには加算合成はないようですが、光とかってどう表現したら
よいのですか?

0888名前は開発中のものです。02/10/06 18:26ID:???
> DirectXには加算合成はないようですが

ポカーン
0889名前は開発中のものです。02/10/06 18:34ID:???
>>887
ライティングはdiffuseやspecularやambientなどで表現します。
というかprogramable shaderがあることだし、方法は無数です。
ファミコンではドット絵で表現した。
聖人は言葉で表現しました。
WinGLは236色(だっけ)中の近い色と置換する変換テーブルだっけ?

887に光明あれ。首をくくればおそらくJacob's ladderを視れる
0890名前は開発中のものです。02/10/06 18:40ID:???
>>887
ある、馬鹿なことを言う前にヘルプで確認しろ
0891名前は開発中のものです。02/10/06 20:50ID:???
>887
ていうかDirectDrawですか?
それなら自前でピクセル毎にがんばって。
3D|Graphicsならヘルプを読みましょう。
0892名前は開発中のものです。02/10/06 21:27ID:???
DirectXGraphicsでの2D描画です。
頂点バッファを使わないでもできますか?
0893名前は開発中のものです。02/10/06 21:44ID:???
何度もヘルプを見ろと書いてあるはずだが読んだのか?
0894名前は開発中のものです。02/10/06 21:51ID:???
>>893
お前には聞いてない
0895名前は開発中のものです。02/10/06 21:54ID:???
>892
出来る。
SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);
透明On
SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ONE);
黒抜き
SetRenderState(D3DRS_DESTBLEND,D3DBLEND_ONE);
加算
この後に描画するものはすべて加算になる。
戻し方は探せ。応用だ。
089689502/10/06 21:56ID:???
>894
逆ギレするくらいならこんな簡単なことで聞くな。ヘルプに載ってるんだから
0897名前は開発中のものです。02/10/06 21:58ID:???
>>895
0898名前は開発中のものです。02/10/06 22:15ID:???
別にヘルプに載ってる事ぐらい教えてやればいいのに。
ここのレベルが低い事ぐらい見ればわかるんだから相手に合わせろよ。
素人の書き込みにカリカリするなら来ないほうがいいぞ。
0899名前は開発中のものです。02/10/06 22:19ID:???
逆だ
素人がわからないことはヘルプに載ってるがヘルプに載ってないことこそ経験者に聞く必要がある。
相手に合わせろというくらいならおまえが相手に合わせてヘルプを読め。
そもそもDirectXSDKを使うのにそのヘルプを読まないとはどういう神経してんだ。
0900名前は開発中のものです。02/10/06 22:25ID:???
>898
その低レベルに聞かなきゃならんヤツならそのレベルを超えるべくここに来ないでもっとレベル高いとこ行けと。
0901名前は開発中のものです。02/10/06 22:27ID:???
>895 899 900
廚にかまうな。駄スレ化する。
0902名前は開発中のものです。02/10/06 22:32ID:???
そろそろ次スレの準備
0903名前は開発中のものです。02/10/06 22:35ID:???
>>1の初心者用相談室ってどこ?
0904名前は開発中のものです。02/10/06 22:37ID:???
で、どんなレベルの話ならOKなんだ?
ネットで検索すれば出てくる話題はNGか?
英語資料読みもしない奴の質問もNGだよな。
とりあえずシーグラフレベル以外は質問すんなよ。
0905次スレは>>950が02/10/06 22:50ID:???
まぁまぁマターリ。

あまりにもアレだったら、初心者スレか物凄い勢いスレに誘導すればいいじゃん。
レベルの話自体が荒れる兆候なんだって。
0906名前は開発中のものです。02/10/06 23:24ID:???
最低限ヘルプを読んで、それで意味が分からなければ聞けばいい
努力が見られない人間に気持ちよく答えてやれる人間は少ない
0907名前は開発中のものです。02/10/06 23:38ID:???
>906
そうそう、それよ。
たとえば「ヘルプを見たけどどのような命令で加算ができるのかわかりません。DrawPrimitiveに何かやるのでしょうか」
みたいな初心者だけど色々試してそれでも分からん(↑この場合的違いなんだが)とかだったら答えやすい。
レベルとかじゃなく、態度やな。例えレベル高くても慇懃無礼なヤツには対応するのも面倒。
超初心者でも丁寧かつ行動してるやつなら応える。
0908名前は開発中のものです。02/10/07 00:26ID:???
初心者を抜け出したと思ってる奴が一番態度悪いよな。
変にプライド持ってたり自分の考え押し付けたり。
まぁそーゆー奴の質問にはGoogleのアドレスと
検索キーワード教えてやるだけ。
実際検索も出来ん奴は叩かれておしまい。
0909名前は開発中のものです。02/10/07 00:29ID:???
次スレまだ?
0910名前は開発中のものです。02/10/07 00:40ID:???
こんなレベル低いスレ要るのか?
0911名前は開発中のものです。02/10/07 00:50ID:???
低いかどうかは知らんが、要る。
0912名前は開発中のものです。02/10/07 00:54ID:???
>908
まさに初心忘れるべからずですな。

>910
それをいったらこの板の存在が
0913名前は開発中のものです。02/10/07 00:58ID:???
>それをいったらこの板の存在が

何か勘違いしてない?この板は隔離板でしょ。
ちゃんと機能してるんじゃないの。
0914名前は開発中のものです。02/10/07 01:00ID:???
>913
ゴメン納得
0915次スレの102/10/07 01:03ID:???
http://game.2ch.net/test/read.cgi/gamedev/1033920036/l50
次スレたてました

が、確認画面があると思ってた・・・鬱だ氏のう
0916名前は開発中のものです。02/10/07 01:05ID:???
じゃあ必要と思ってる人が次スレ立てといてくれ。
0917 ◆1CL6vYZ2rM 03/05/25 20:39ID:KKgt44vF
〔夏みかん かくれんぼのやり方 大公開!!【今なら】〕

1. まずAを>>1とし、Bを>>2から>>100までとする。
2. そしてAはひたすら逃げて、BはAを追いかける。
3. 始める前にAは夏みかんを右手に持つ。
4. そしたらAが夏みかんを持った瞬間にスタートする。
5. で、Bの人が「あいつがAだー!!追えー!!!!」と言いながら追う。
6. その時Aはちゃんと夏みかんを持っている。
7. ルールは簡単。Aが夏みかんを落としたりBの瑞lに捕まったらャMロチンで死刑=B
8. 後はAの地獄ゲームの始まり!!!(ワクワク

      ∧_∧ マテー   ∧_∧
     ( ´∀`)      (・∀・; )
    ( B つつ    (  A つつ
   / / /      / / /
  (__)_)      (__)_)
0918名前は開発中のものです。03/06/06 02:44ID:K0z6QAja
てすつ
0919名前は開発中のものです。03/06/12 11:39ID:4dtzK4SQ
他のアプリケーションの
フルスクリーン/ウィンドウモード の切り替えをする
プログラムの作成は可能でしょうか?
0920あぼーんNGNG
あぼーん
0921名前は開発中のものです。03/06/12 13:46ID:Wikb5Epq
>>919
出来るよ
0922名前は開発中のものです。03/06/13 01:58ID:d/L6f6Yy
class CDirectDraw {
static LPDIRECTDRAW m_lpDD;
public:
LPDIRECTDRAW *GetDirectDraw(void) { return m_lpDD; }
// 以下略...
};

class CSurface {
public:
HRESULT Create(...) {
LPDIRECTDRAW lpDD = CDirectDraw::GetDirectDraw();
lpDD->CreateSurface(...);
// 略...
}
};

当然ですが CSurface::Create() を呼ぶ前に CDirectDraw は初期化されているものとします。
こんな設計はタコですか?
092392203/06/13 02:08ID:d/L6f6Yy
誤:LPDIRECTDRAW *GetDirectDraw(void) { return m_lpDD; }
正:LPDIRECTDRAW GetDirectDraw(void) { return m_lpDD; }
鬱だ氏のう
0924名前は開発中のものです。03/06/13 02:21ID:T6uNcKlh
正二十面体の作り方を教えてください
0925名前は開発中のものです。03/06/13 03:41ID:v/lKEnEp
     ______
    /_      |
    /. \ ̄ ̄ ̄ ̄|
  /  /  ― ― |
  |  /    -  - |
  ||| (5      > |
 | | |     ┏━┓|   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | |     ┃─┃|  < このスレは既に終了してしまった
|| | | |  \ ┃  ┃/    \  正直、スマンカッタ
| || | |    ̄         \_________
0926名前は開発中のものです。03/06/13 17:25ID:TW6NN3wF
G┗┫o皿o┣凸gle < 「正二十面体」で検索しろや
092792203/06/13 18:52ID:d/L6f6Yy
誰か教えてん!
0928名前は開発中のものです。03/06/14 07:31ID:HJoCyXdH
「正:」じゃねーだろ

static LPDIRECTDRAW GetDirectDraw(void) { return m_lpDD; }
0929名前は開発中のものです。03/06/14 07:46ID:HJoCyXdH
あと、設計がタコかどうかは、勝手にしろという感じだ。
要は参照カウンタをちゃんと処理するか手を抜くかだ。

CSurfaceだけを他のプログラムで流用可能にするならこういうのもどうだ
HRESULT CSurface::Create(LPDIRECTDRAW dd)
{
 ASSERT(dd);
 HRESULT hr = dd->CreateSurface(...);
 m_lpDD = dd;
 m_lpDD->AddRef;
}

0930名前は開発中のものです。 03/06/14 22:20ID:cTPST66H
質問です。
Zバッファーのフォーマットについて質問です。
Zバッファーの設定で 16bitや、32bitに設定することが可能ですが、
内部で扱っている ピクセルの型は何になっているのでしょうか?
32bitが float型 だとは、おもいますが、
16bitは どういう型で 扱っているのでしょうか?

もしかして Zバッファーは、浮動少数ではなく 整数で扱っているのでしょうか?
0931名前は開発中のものです。03/06/15 00:25ID:wphTWAMj
整数だよん。頂点変換後のZの0.0〜1.0がそのままリニアにマッピングされる……ハズ。
093293003/06/15 03:23ID:IItMzzO8
>>931
整数なんですね。

32bitであれば、
頂点変換後のZ値0.0f〜1.0fを
0x0〜0xFFFFFFFF
に変換しているということなんですね。

ただなぜ浮動少数ではなく整数なのか疑問ではあります、
透視変換した後のZ値を そのままバッファーに書き込まずに、
浮動少数から整数にコンバートしたものを書き込むのはあきらかに
コストがかかるきがします。
整数で扱うメリットは、Zバッファのピクセル1個あたりを16bitなどにしてメモリを小さくすることできるから
ということでしょうか?
もしほかにメリットがあればおしえてください。
0933名前は開発中のものです。03/06/15 03:59ID:mAIyay4u
0.0〜1.0の範囲にあれば、整数になおすのは単に仮数部を取り出すだけで
済むぞ。
0934名前は開発中のものです。03/06/15 10:50ID:hpUfSjLF
そゆことでんな。
0935名前は開発中のものです。03/06/15 18:13ID:EYVvjjRm
>>932
浮動少数で扱っているのは頂点単位での話。
セットアップエンジンによって変換されて、ラスタライザが扱うのは
固定少数なのが普通かと。
といっても、ピクセルシェーダ2.0からはラスタライザが浮動少数を
扱えなきゃいけなくなったから、今では状況が変わってしまったが。

DX9から浮動少数のZバッファフォーマットも対応したから、そっちを
使っているビデオカードもあるかも。
(D32等のフォーマットはどうせLockできないから既に使っているかも?)
0936名前は開発中のものです。03/06/17 02:32ID:qP+zKSnA
>>924
計算式に興味がなくて、手っ取り早くデータだけがほしい場合は
LightWaveにプラグインがあるので、誰かにたのんで
そっから出力するといいかも。

0937名前は開発中のものです。03/06/19 08:35ID:WowxRFTC
濡れにはチンプンカンプンだ。
がんばってくだせぇ。
レス数が900を超えています。1000を超えると表示できなくなるよ。