トップページgamedev
1001コメント341KB

Direct 3D

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001.01/11/09 17:06ID:wrfy6OtC
Direct Xはあるみたいですが、こちらはD3D専門という事で。
とりあえずDX8以降は初期化が簡単になったり関数が変わったり
結構大幅に変わりましたがその辺も踏まえてお願いします。
08838762006/02/01(水) 18:18:23ID:X4JHCij2
>>882
マップは分岐のあるトンネルのような閉空間です。
0884名前は開発中のものです。2006/02/01(水) 18:32:11ID:AaW4sDxf
形状を把握するのなら、ポリゴンを一つ一つ見ていくしかない。
さらにそのデータをどうするかというのを自分で考えて、処理を書かなければならない。
どこまでの精度が必用かによってロジックは異なるし、
判定の高速化や効率化をベンチをとりつつ最適に調整しなければならない。
一朝一夕で出来ることではないが、まあがんばれ。
0885名前は開発中のものです。2006/02/01(水) 18:37:22ID:6ZhYGdPT
コリジョンディテクションの技術を「どうすればいんですか?」の一言で手に入れられたら
誰も苦労しないんだが。
08868762006/02/01(水) 18:53:50ID:X4JHCij2
>>884
ありがとうございます。
やることは多そうですが、地道に考えていこうと思います。

>>885
すべて教えてもらおうとしてきたつもりではなかったのですが、
仰る通り楽をしようとしました。お気に触られたようでしたらすみませんでした。
0887名前は開発中のものです。2006/02/01(水) 20:45:29ID:CL8bLvaf
ま、これでも読んどけ

ttp://www.amazon.co.jp/exec/obidos/ASIN/493900791X/
0888名前は開発中のものです。2006/02/02(木) 03:35:57ID:gRZL/mzV
うは
こんなに範囲の限定された本が出ているのか。
最近はいい時代になったな。(読む方にとっても書く方にとっても)
0889名前は開発中のものです。2006/02/09(木) 23:15:42ID:TZ2DGw+s
DirectX7。
サーフェースのピクセルフォーマットを、
R8G8B8A8(32bit)
で作製したい(アルファチャンネルを持つ)のだが、どうやれればいいですか?
普通に、作製すると、プライマリが16ビットだからか、16ビットになります。
0890名前は開発中のものです。2006/02/10(金) 14:43:46ID:yxCh92dg
じゃプライマリも32bitで作れば。デスクトップが32bitになってないと作れないが。
それとカードが対応してないと無理だから確認して
0891名前は開発中のものです。2006/02/10(金) 17:11:23ID:hihqEItj
いや、プライマリとオフスクリーンサーフェスは普通に
違うフォーマットで作れるが…
ヘルプにも作り方が書いてあるし。
0892名前は開発中のものです。2006/02/10(金) 19:56:20ID:0IZWNT7D
>>891
具体的にどこ?
0893名前は開発中のものです。2006/02/10(金) 22:51:51ID:d9CO7I+x
>>890
アホいうな糞。
プライマリはビデオメモリだ。アルファ値なんて存在しない。
>>891
どこ?サーフェース作製時に、DDSDESC2とかいう構造体で、
サーフェース能力指定する訳だが、ピクセルフォーマットを指定したら
エラーになった。INVALID_PARAMとか。
あと、他んとこに「アルファを含む」とかいうフラグを指定してもエラー。
しかし、D3Dのデバイス能力は、テクスチャアルファのビットが1になっとる。
0894名前は開発中のものです。2006/02/10(金) 22:54:57ID:d9CO7I+x
本屋でDXに関する本を見たが、テクスチャアルファをもつサーフェースの作製方法が
どれにも載っていない。
1冊だけあったが、それはD3DXというライブラリを使用するもので(DX9で)
そのD3DXライブラリのソースがDX9SDKに入ってなかった
0895名前は開発中のものです。2006/02/10(金) 23:59:07ID:hihqEItj
>>892-893
[DirectDraw]-[DirectDrawの要点]-[サーフェス]-[サーフェスの作成]-[オフスクリーンサーフェスの作成]

>また、ピクセル フォーマットがプライマリ サーフェスのピクセル フォーマットと
>異なるサーフェスも作成できる。ただし、この場合には、システム メモリの使用が
>制限されるという弱点がある。次に示すコードでは、8 ビット パレット化サーフェス
> (現在のディスプレイ モードがピクセルごとに 8 ビット以外であると仮定する) を
>作成するために、DDSURFACEDESC2 構造体メンバを準備する方法について示す。

次にサンプルコードと、その後にワイドサーフェスに関する記述がある。

他にもDirect3DのチュートリアルでもD3DX無しでテクスチャサーフェス作っているし、
たしかDX7のSDKならD3DFrameにテクスチャ関係のソースもあったかと。
0896名前は開発中のものです。2006/02/11(土) 21:36:18ID:lAR/R2x2
>>895
D3DFrameでやってることから、なんとか32ビットアルファ付きが作成できました。
ありがとう。
0897名前は開発中のものです。2006/02/16(木) 07:59:44ID:rDkYJJ3P
 縁取りを表現するためにポリゴンオブジェクトを一回り大きくして法線を反転して
黒く表示する手法がありますが、Xファイルを読み込んで自動的に縁取りようのポリゴンを
付加してくれるツールって無いですかね。

 普通にモデリングツールで拡大したりすると、中心からの距離によって線の厚さが
変わってくるし…
0898名前は開発中のものです。2006/02/16(木) 08:46:03ID:C4eltmhJ
普通はシェーダ使うからそんなツール作らない。
0899名前は開発中のものです。2006/02/16(木) 23:10:57ID:HgwrBgLl
>897
モデルを作るとき、ついでに一回り大きなモデルも作って
出力しとけば委員ジャマイカ?
0900名前は開発中のものです。2006/02/17(金) 01:42:59ID:pMnLEopp
>>899
エッジ描画用のモデルは単純に拡大するとは違う処理だから、
モデリングツールにそういう機能がないってことかと。

頂点シェーダで2〜3行で済む処理だから、普通は別モデルとして
データを持ったりはしないと思う。
シェーダで処理すれば実行時に線の太さを調節できるしね。
09018972006/02/18(土) 01:23:17ID:jGbiZdO7
>>898->>900

コンバータ作っちゃったよorz
0902名前は開発中のものです。2006/02/25(土) 01:03:39ID:Kaa3X1K0
質問です。
私は、去年より3Dのアクションゲームを制作している初心者なのですが、
画面全体にかかる、霧のようにもやもやっとしたエフェクト表現をしたいと考えています。
この霧ですが、常に表示位置がプレイヤー位置に対して固定されているのではなく、
プレイヤーが前へ歩けば霧も後ろへ下がっていくような、きちんと奥行きのあるものにしたいです。
私の考えてみた方法は、最初にプレイヤーから一定距離以内の3D空間(球)へランダムにA点をいくつか配置し、
A点がプレイヤーの移動によって一定距離(球)を超えたら、球の反対側へ移動させることで無限に続く霧とし、
そのA点全てから、点を中心とし霧テクスチャを貼った長方形ポリゴンをビルボード状に描画するという方法です。
正直・・どうなるか気にはなるのですが、私がやろうとすると時間がかかってしまうため、まだ試しておりません。
こんな面倒臭がりな私ですが、よろしければ、私の霧再現方法がいけそうかどうかの、ご助言をいただけないでしょうか。
以上です。よろしくおねがいいたします。
0903名前は開発中のものです。2006/02/25(土) 01:12:17ID:p8ryOYmk
濃淡のある霧ならいいんじゃね?
アクションゲームだから霧のテクスチャーの向きを決めやすいだろうし。
ただし、普通はコレ↓
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/directx9_c/directx/graphics/programmingguide/advancedtopics/framebuffer/fogtypes/pixelfog.asp
0904名前は開発中のものです。2006/02/25(土) 01:18:39ID:IfP3m5iC
いけるんじゃないの
0905名前は開発中のものです。2006/02/25(土) 01:55:46ID:5d11EVBg
自力でそこまで考えたってことがいいことだと思った
0906名前は開発中のものです。2006/02/25(土) 02:02:05ID:pbYlIp6T
でも、どうせなら自分で実行するまでして欲しい
0907名前は開発中のものです。2006/02/25(土) 03:15:55ID:p8ryOYmk
>>902のやり方で問題になるが、
・遠くのポリゴンが突然現れる。
・投影面まで迫ってきたポリゴンが突然消える
これらはαブレンディングのやり方で解決するとして、

・Zバッファとの相性の悪さ。

例えば建物の角に差し掛かったとき、
・Zバッファを使わないと、角とその向うの風景で霧の濃さが変わらない。
・Zバッファを使うと、角の手前の壁面で霧のポリゴンがブツ切りになる。
というような問題が生じる。

だからポリゴンに頼らずにフォグを使うのが無難。使うにしても、
フォグを有効にして壁面やその向うの風景を描画してから、
フォグよZバッファを無効にしてお化粧程度に軽く霧ポリゴンを描画するのが
いいと思う。
0908名前は開発中のものです。2006/02/25(土) 05:10:19ID:9iRbb0YP
GIMPでレイヤーとして作ったグレースケールのものを、
アルファチャンネルとして画像に反映させて
それをpngのα値として保存できっる?
0909名前は開発中のものです。2006/02/25(土) 08:53:59ID:06GMcHAz
できっる?
0910名前は開発中のものです。2006/02/25(土) 18:34:19ID:zYUYY4hi
コレ?
ttp://tpot.jpn.ph/t-pot/program/76_VolumeFog/index.html
0911名前は開発中のものです。2006/02/26(日) 08:25:09ID:dTtz2MU3
別スレから来ました。

同じような事やった人がいたら聞きたいんですが、
3Dキャラクターの服や髪の揺れの実装で揺れる部分のモデルはどうやって
作ってるんでしょうか?
(今使ってるのはメタセコLEです)

布のテストコードは書いたんですが、自前で頂点グリッドを作ってるので
順序よく頂点を計算出来ます。
しかし、髪の毛のようなちょっと複雑な形状ではどうやってるのかわからないです。
(アキラの鉢巻とかは自前で組んだものリンクするだけで良いと思いますが)
0912名前は開発中のものです。2006/02/27(月) 01:53:01ID:M1NCZhu8
>>911
揺らさなくて良い
0913名前は開発中のものです。2006/02/27(月) 01:56:19ID:/11puAhO
手足と一緒じゃない?
0914名前は開発中のものです。2006/02/27(月) 02:35:12ID:ilMX+Bbl
それはボーンでは?
0915名前は開発中のものです。2006/02/27(月) 04:19:40ID:dAYC5WSX
そう、そのボーンで
0916名前は開発中のものです。2006/02/27(月) 09:13:32ID:c8Xb3f1o
ボーンも大変だな
0917名前は開発中のものです。2006/02/27(月) 14:32:36ID:B+9WtNTM
ぼいーんぼいーん
0918名前は開発中のものです。2006/02/27(月) 17:34:56ID:gjTyS3us
まゆげ
09199112006/02/28(火) 22:47:40ID:1rPz5eKD
要は同人ごときで揺れものはいらんて事か。

でも、ボーンでちょっとアイディア浮かんだ(多分車輪の再開発だろうけど)
0920名前は開発中のものです。2006/03/22(水) 22:49:06ID:+4SK85pH
背景ブラーはどうすればいいですか?
背景とキャラがあったらどういう順番で書いてバッファはいくついりますか?
0921名前は開発中のものです。2006/03/23(木) 16:42:01ID:GIaKujt9
Win95時代にVBでAPI呼び出しでゲーム作ってたオレなんだが、
今の時代2DやるにしてもDirectX3Dつかうと便利らしいんで勉強したいんだけど、
コンパイラはVC6とかでいいのかな?
さすがに古いから最近でてるようなもののほうがいいの?
C#とか.NETって中身しらないけどc++適当に知ってるならあっちのコンパイラがいいの?
0922名前は開発中のものです。2006/03/23(木) 21:36:19ID:oLVbqIbi
>>921
vc6に慣れると後々面倒なので最初から.netにしる
もうすぐvs2005でるからそれ買え(もうでたかも?)
0923名前は開発中のものです。2006/03/23(木) 23:53:50ID:LhNcYWZL
最新の DirectX SDK は VC6 に対応してないんだな。
というわけで

VC++2005 Express Edition + PlatformSDK + DirectXSDK

をオススメする。
0924名前は開発中のものです。2006/03/24(金) 10:23:18ID:2x4zPrfI
サンクス

つーかすごいね今は
express版は無料とは…しかも普通に使えるみたいだし
自分が高校生のころはVC4が10万だからあきらめて、VB4(3万円)ににげたってのに
0925名前は開発中のものです。2006/03/24(金) 14:45:05ID:QI12QPFz
フリーが出たから客を逃がさないため、増やすためにでしょ?
0926名前は開発中のものです。2006/03/26(日) 16:53:09ID:4jFe4Scb
3Dの同一キャラを何十体も表示する時、一体だけ読み込んで

描画→移動→描画→移動

で、最後に表示、とするのと
何十体分を全部読み込んで一括表示するのでは
どちらが一般的なのですか?
0927名前は開発中のものです。2006/03/26(日) 17:02:56ID:60rseIt8
>>926
同じモデルを使用数分読み込むなんて時間もメモりも無駄でしょう。

> 描画→移動→描画→移動
「移動」になるかは実装次第。

> 何十体分を全部読み込んで一括表示するのでは
一括と言ってもその何十体のキャラはそれぞれ移動したりするし、
それぞれに対して描画命令を呼ぶんでしょう?
0928名前は開発中のものです。2006/03/26(日) 17:40:14ID:M3SaxWSJ
>926が何を言いたいのかイマイチよくわからんが…

かく言う俺は、同一モデル(つっても2D描画用だから4頂点だけ)で
テクスチャアドレスだけ異なるデータを多数読ませてる
いちいちVertexBufferロックしてテクスチャ座標書き換えんのマンドクセ
どうせ大した容量じゃねーし(せいぜい100Kb)
0929名前は開発中のものです。2006/03/27(月) 14:10:21ID:TZH2Qp8M
>>926
3Dとか2Dとか関係無いですな
0930名前は開発中のものです。2006/03/28(火) 09:35:34ID:hQv6Ivkd
だから2Dスレ?行けって方が変だし、その突っ込みも外れている気がするがw

サンプルのメッシュクラスをそのままだと、姿勢制御とメッシュが一対一だから、
再計算がいらない時に、前者だと無駄に見えちゃうのかもね。
0931名前は開発中のものです。2006/07/28(金) 20:17:22ID:jSlMO7QK
PNGの透過情報そのままつかいたいなぅ
0932名前は開発中のものです。2006/07/28(金) 21:23:48ID:BPfFbEG3
>>928
>いちいちVertexBufferロックしてテクスチャ座標書き換えんのマンドクセ

シェーダの側でmov oT0.xy,c0.xyとでも書いておいてシェーダ定数だけ書き換えた方が早くね?
モデルも一個で済むし。
0933名前は開発中のものです。2006/07/29(土) 01:02:21ID:5pQF6T1y
シェーダ定数の転送も頂点バッファの切り替えも、
どっちも描画パイプラインはぶったぎることになるわけだし、
コスト的には大して変わらんよなあ。
Lockが面倒くさければDrawPrimitiveUPを使えばいいじゃなーい。
へらへら。
0934名前は開発中のものです。2006/08/05(土) 01:00:58ID:TcBxlLdT
てstあげ
0935名前は開発中のものです。2006/08/05(土) 22:23:23ID:U0Fgap1T
みなさんモデルのフォーマットって何ですかね?
自分Xファイルだったんですが、やっぱり独自フォーマットですか?
だとするとモデリングソフトやモーションの編集ソフトとかも
自作するわけですかね?
0936名前は開発中のものです。2006/08/05(土) 23:47:40ID:TcBxlLdT
そりゃないだろ
0937名前は開発中のものです。2006/08/06(日) 00:29:50ID:oFPRg3ro
>だとするとモデリングソフトやモーションの編集ソフトとかも
>自作するわけですかね?

ないないないないないないw

自作でやるなら、その環境用のSDKを使って出力プラグイン作るか、
それこそXあたりからの変換プログラムを別途用意する。

俺は使って無いけど、MD2、MD3あたり(Quakeのフォーマット)を使ってる人も多いそうだ。
0938名前は開発中のものです。2006/08/06(日) 00:48:49ID:T4AOumaO
>>935
Xファイルに不満がなければ、無理に独自フォーマットにする必要はないよ。
なんとなく独自フォーマットの方がかっこいいとか、そういう理由で変えたいなら
やめておいた方がいい。
0939名前は開発中のものです。2006/08/06(日) 00:58:58ID:JH7W+62t
そこでDNMですよ。
09409352006/08/06(日) 02:36:33ID:GDaOHyUH
なるほど。ありがとうございます。
ツールまで自作となると途方もないのでちょっと安心しました。

はじめは不満はなかったのですが、
メッシュ間のモーションの結合、例えば
「人型のメッシュに剣のメッシュを持たせる」
のようなことをしようと思って、
始めは手のボーンの先に剣のボーンを延長して
モーションを作成しようかと思ったのですが、
モデリングは得意でなく、作り直すのが大変なので
他の方法を考えることにしました。
作り直さないとすると既存のメッシュ間のモーションを作成するツールが必要だなぁ
などと考えて、ならばいっそのこと独自フォーマットにしてしまおうかと思ったのです。

実際、装備とかはどのように実装されているのでしょう?
やはり事前に剣や盾のボーンを手の先に作っておくものなのでしょうか。
0941名前は開発中のものです。2006/08/06(日) 02:59:38ID:6ljY+nkf
データが別々になっていたって、後から手のフレームの配下に結合すればいいだけ。
Xファイルだろうが独自フォーマットだろうが関係ない。
0942名前は開発中のものです。2006/08/06(日) 03:23:45ID:oFPRg3ro
>実際、装備とかはどのように実装されているのでしょう?
>やはり事前に剣や盾のボーンを手の先に作っておくものなのでしょうか。

概ねそんなもん。
基準モデルに接続ノードを割り振っておくのはよくあること。

帽子ノード、首輪ノード、剣握るノード、盾持つノード、エトセトラ。

別途用意しなくても、近しい位置のノードに適当なオフセットかますだけでもいい場合も多い。
帽子なら頭に多少高さを足すとか、剣なら手首から少し内側にずらしてやるとか。
要求が一般化できない以上、必要に応じて試行錯誤するしかないところなんで、
好みの形に収まるまで、いろいろ試してみなっせ。
09439352006/08/06(日) 04:30:16ID:GDaOHyUH
みなさんありがとうございます。
そんな感じで実装してみます。
0944名前は開発中のものです。2006/08/06(日) 07:47:22ID:SMYgJlZG
>>933
拡縮や回転があるとどうしてもシェーダ定数を弄れるようにしておきたいと思うけどね。
後、Lockだけは別じゃね?
あれは方向が逆だから。
0945名前は開発中のものです。2006/08/08(火) 20:55:56ID:WF5N+nKv
DirectX 9.0SDKのヘルプって日本語版はないんでしょうか?
0946名前は開発中のものです。2006/08/08(火) 21:07:59ID:zZVFc5Ct
最新版のって意味なら無いと思うけど、October 2004ならここに
ttp://www.microsoft.com/japan/msdn/directx/downloads.aspx
0947名前は開発中のものです。2006/08/19(土) 22:54:00ID:+gAmHKio
Direct3Dというより3D全般の話題にあたるかもしれませんが、ここで質問させて頂きます。
どこか適切なスレがあったら誘導して下さい。


2Dの場合の”スプライト”にあたるような
3Dのオブジェクトに対する名前の定番ってないでしょうか?
クラスの名前を付けるのに迷っています。

現状、C++で開発しているので 3D〜〜 の様な変数名は使えないし
立体という意味で solid という名前も検討しましたが、固体・液体・気体の固体のイメージがあるので避けました。
背景や固定物も含むので character の様な名前も使いにくいです。

皆さんがどんな名前を付けてるのかというのも教えていただければ嬉しいです。
0948名前は開発中のものです。2006/08/19(土) 23:01:33ID:iyWXwWdL
ビルボード
0949名前は開発中のものです。2006/08/19(土) 23:05:38ID:yVrv7+mw
>>947
スプライトと何が違うのさ?
たぶんビルボードなんだろうけど。
0950名前は開発中のものです。2006/08/19(土) 23:39:30ID:Kg/n9ytV
>>947
クラス名・変数名に迷ったら書き込むスレ。Part8
http://pc8.2ch.net/test/read.cgi/tech/1154448184/
0951名前は開発中のものです。2006/08/20(日) 00:28:51ID:FmTUYmId
>>947
逆にFVF毎に3D描画に関係無いような名前を付けてる俺マッシュ。
0952名前は開発中のものです。2006/08/20(日) 01:39:46ID:ekgZYi2k
>>947
hoge
0953名前は開発中のものです。2006/08/20(日) 02:25:33ID:i51kMu5X
>>948-949
947はビルボードの名前を聞いているんじゃなくて
2Dオブジェクトの名称の例としてスプライトを出しただけかと。

で、3Dの場合だとMeshあたりかね。
0954名前は開発中のものです。2006/08/20(日) 03:40:50ID:IV6K60G4
モデル
0955名前は開発中のものです。2006/08/20(日) 09:42:05ID:WG+AEKUI
プリミティブ
0956名前は開発中のものです。2006/08/20(日) 12:04:21ID:UXPgli+S
おいらはobjectとか使ってるなぁ...DxObjとか...
オブジェクト指向とかのobjectと混同するから使わない人もいるだろうけど。
もっとイイの無いかね?

ModelとかMeshはおいら的には違うなぁ。
x-fileなんかを読み込んだ物がModelで、そん中にMeshとかFrameがあって、
Modelを3D空間に配置した物がObject、って使ってる。
1つのModelを複数個表示することもあるわけだし。
PrimitiveはDrawPrimitive()のPrimitiveってカンジがする。
0957名前は開発中のものです。2006/08/20(日) 15:01:19ID:JTywg2ac
モデルとメッシュ
0958名前は開発中のものです。2006/08/20(日) 22:51:38ID:IV6K60G4
>956
>1つのModelを複数個表示することもあるわけだし
一つのスプライトを複数個表示することもある訳だが
0959名前は開発中のものです。2006/08/21(月) 08:35:04ID:dkS6CWGq
>>947
シンシアさん
ttp://ja.wikipedia.org/wiki/%E3%83%8E%E3%83%BC%E3%83%88:X68000
0960名前は開発中のものです。2006/08/31(木) 23:10:20ID:5wxtWzxs
テクスチャサーフェースを、マップチップとして、例えば16x16個のパーツにした場合、
テクスチャ座標使って、どのチップを表示するか決める訳だけど、
マップをちょっと拡大すると、隣のチップのドット情報が、わずか1ドットぐらい描画されて、
四角いシマシマ状になるんだけど、
これを回避するには、チップ間を2ドットあけて両チップの最後のドットを1ドット延長して書いておけばいいが、
もっとスマートなやり方で治らないですか?
0961名前は開発中のものです。2006/08/31(木) 23:23:35ID:sIr8NDj7
   0.5/テクスチャー分割数  1-0.5/テクスチャー分割数
  ↓               ↓
 ┌┬┬┬┬ … ┬┬┬┬┬┐
 ├┼┼┼┼ … ┼┼┼┼┼┤
 └┴┴┴┴ … ┴┴┴┴┴┘
0962名前は開発中のものです。2006/08/31(木) 23:33:40ID:JbQMb9iU
>>960
ヘルプの三角形ラスタ化ルールとかいう項目に詳細な説明が載ってる。
0.5ずらすのもいいけど、マシンによって違うし、
ひっくり返すとポリゴンの裏面は逆にずれてるので両面ポリゴン使ってるときはヤバイ。
さらにバイリニアフィルタ掛けるともうどのくらいズレルか全く予想がつかないので
クランプテクスチャアドレッシングモードがオススメ。
0963名前は開発中のものです。2006/08/31(木) 23:36:58ID:WZnRnl1o
0.5ずらしても1ピクセル分の範囲は0.0-1.0になるので、1.0の境界線は終了地点であり開始地点になる。
つまり隣の色が出てしまっても間違いとは言えない。
隣の色を引っ張ってくるかはビデオカード次第。
これを回避するには、微妙に終了座標を縮めるしかない。
0964名前は開発中のものです。2006/08/31(木) 23:49:45ID:JbQMb9iU
でもぶっちゃけ、チップなんて使って作るぐらいなら、
最初からモデリングソフトでそういうモデルを作れといいたい。(チップなんて使わずに)
むしろ、ある程度まとまったモデルをチップのように貼れといいたい。

ハードにあった作り方というものがある。
これはどんなにハードが進化してもどうにもならん。
解決しようとするのは極めて困難だ。
その時代にあった作り方をするがよいわ!
それが嫌なら地獄をみろ!
0965名前は開発中のものです。2006/09/01(金) 01:21:24ID:bbAaczJt
>0.5ずらすのもいいけど、マシンによって違うし、

流石に最近では見なくなった気がするけど、今でもそんなマシンはあるのかね。
0966名前は開発中のものです。2006/09/01(金) 01:31:12ID:4647tUfZ
過疎スレだと思ってたが、思ったよりレスがあったり・・・。
0.5ずらすのは既にやってました。テクスチャ座標を1ドット分の半分の値を、引いたり足したりで。
しかし、治らない。
多分、拡大されたときにテクスチャをぼかす、バイリニアフィルタをやってるから?
そこで、テクスチャ座標1ドット分の値を、引いたり足したりしたが、やはり拡大されてくると、
隣のチップのドットが出てくる。
クランプテクスチャアドレッシングモードは、テクスチャ座標が1.0より上の場合に有効なので、
マップチップの隅にあるパーツ以外では使えない。
やはりスマートな方法が見つからず。
0967名前は開発中のものです。2006/09/01(金) 01:37:20ID:4647tUfZ
2ドット分を加算減算したら上手くいきました。
しかしチップの上下左右の2ドットが表示されません
0968名前は開発中のものです。2006/09/01(金) 06:42:25ID:w52JDnCq
>>966
>クランプテクスチャアドレッシングモードは、テクスチャ座標が1.0より上の場合に有効なので、
>マップチップの隅にあるパーツ以外では使えない。
いや、だから、テクスチャを無理に1枚に敷き詰めようとするからじゃん。
テクスチャなんて切り替えたってそこまで速度下がらないよ。
シェーダ使ってりゃ死ぬほど切り替えるんだぞ。
マップチップなんてウンコみたいな数だろ。速度に影響しない。
0969名前は開発中のものです。2006/09/01(金) 08:38:33ID:ZbJ3UMQE
マップチップは敷き詰めるのが普通かと思うんだが
0970名前は開発中のものです。2006/09/01(金) 11:31:44ID:4647tUfZ
マップチップを利用してポリゴンを100個描画するとき、
頂点を全て設定して1回のDrawPrimitiveを実行するのと、
100回DrawPrimitiveを実行するのとでは、どっちが早いの?
0971名前は開発中のものです。2006/09/01(金) 11:57:10ID:S26duukq
マップチップ系はバイリニアと相性悪いから諦めたほうが……。
どうしてもと言うなら、一度オフスクリーンのレンダーターゲットに
バイリニア無しで敷き詰めて、それを拡大ってのでどう?
0972名前は開発中のものです。2006/09/01(金) 12:33:38ID:0ApikcMy
DrawPrimitiveUPなら若干差が出るかもしれないが、
それでも100ポリゴン程度ならほとんど変わらん。
0973名前は開発中のものです。2006/09/01(金) 14:11:38ID:4647tUfZ
だって、関数呼び出しが99回減るんだから、1回で実行した方が早くない?
0974名前は開発中のものです。2006/09/01(金) 15:27:24ID:SOIOoZPO
>>970
1回のDrawPrimitiveで描画する方が速い。
DirectXのFAQにも書いてある話。
0975名前は開発中のものです。2006/09/01(金) 16:01:49ID:4647tUfZ
>>968
テクスチャ切り替えって、1チップごとにDrawPrimitiveをするって意味ですよね。
じゃ、速度が低下するんじゃん。
0976名前は開発中のものです。2006/09/01(金) 21:59:11ID:XNX6bf8U
テクスチャやステートの切り替えがなくてもDrawPrimitive自体がかなり処理的に重い。
0977名前は開発中のものです。2006/09/01(金) 22:01:44ID:w52JDnCq
>>975
でも、それだと0.5ドットずれる問題(+フィルタ関係全滅)に対して全く打つ手が無いじゃん。
そこで品質を取るか、速度を取るかのトレードオフになると思うんだよね。
ターゲットマシンで一発動かしてみてチップごとにテクスチャ切り替えて
速度的に間に合ったらそれでいいんじゃないの?
0978名前は開発中のものです。2006/09/01(金) 22:02:12ID:4647tUfZ
ケキョーク、1ドットを余分に付加することにしました。
今、変換ツール作ってますが、DIBセクションの作成やらBMPファイルの読み取りやらで
思ったよりまんどい
0979名前は開発中のものです。2006/09/01(金) 22:07:10ID:w52JDnCq
>>978
意味わかんね。
つまり、どういうこと?
チップごとにテクスチャを切り替える方法をやってみたけど遅くて使い物にならなかった?
テクスチャごとにまとめておいて描画すればそんなに遅くはならないと思うんだけど。
0980名前は開発中のものです。2006/09/02(土) 01:14:53ID:rF9mlnnG
0.5ずらすのって、テクスチャ座標じゃなくてポリゴン座標だよ。
ポリゴン座標に 0.5足してみ。
0981名前は開発中のものです。2006/09/02(土) 06:14:27ID:udcl1M/G
DrawPrimitiveを使わなけりゃいいじゃん。
0982名前は開発中のものです。2006/09/02(土) 07:11:20ID:LmoAi9PT
結局、速度も測らずに遅い遅い言ってるだけのクズでFAだろ。
そもそもハードに合わない仕様に無理やりしてる時点でそいつ、およびそいつの環境に未来はない。
レス数が950を超えています。1000を超えると書き込みができなくなります。