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

鬱だ氏のう DirectX (Part 7)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。02/12/10 17:34ID:tkEwMMYm
DirectXについてマターリと技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。

■ 過去スレ
Part 1 http://piza.2ch.net/tech/kako/966/966655286.html (プログラム板)
Part 2 http://pc3.2ch.net/test/read.cgi/tech/997101556/ (プログラム板)
Part 3 http://game.2ch.net/gamedev/kako/1005/10051/1005119775.html
Part 4 http://game.2ch.net/gamedev/kako/1016/10162/1016276254.html
Part 5 http://game.2ch.net/test/read.cgi/gamedev/1027351925/
Part 6 http://game.2ch.net/test/read.cgi/gamedev/1033920036/
05973/203/02/11 18:46ID:iYhjkWBr
他の環境ないので試せませんが、ビデオカードの仕様だったら泣いてさしあげます
0598名前は開発中のものです。03/02/11 19:03ID:oc2BIV/D
640x480のテクスチャって作れたっけ?
1024x512のが拡大縮小されてる余寒。
0599名前は開発中のものです。03/02/11 19:19ID:iYhjkWBr
>>598
内部的には1024*512作ってるので、どうしてもぼやけてしまうんでしょうか?
0600名前は開発中のものです。03/02/11 19:37ID:oc2BIV/D
うは、そりゃボケるべ。
1024x512の、640x480の部分(たとえば左上)にBMPを転送して、
テクスチャの頂点位置を調節しろ。
0601_03/02/11 19:40ID:jSG2fsEs
>>596

for(i=0;i<4;i++)
{
m_vtx[i].x-=0.5f;
m_vtx[i].y-=0.5f;
}

たぶん、描画前これを入れるとうまく行くと思う。
0602_03/02/11 19:42ID:jSG2fsEs
すまん。すでに、0.5f引いてたのね…
060359503/02/11 19:57ID:WEOw/ne+
>>600
だよね、640*480なんてありえないよね。
D3DXCreateTextureFromFileでおかしな大きさのテクスチャでも作れてたから、
それをそのまんま使ってた。
512*512で試したらボケもなく表示されました。
お騒がせしました。

ああ、ボケてるのは画像じゃなくて自分の頭だ……
メシ食って歯磨いてオナニして風呂入って寝よう。
0604あぼーんNGNG
あぼーん
0605名前は開発中のものです。03/02/11 21:53ID:XJp4wK9H
>>595
D3DXのテクスチャ作成サポート関数で画像をロードすると、
デフォルトではサイズを2の階乗に合わせてフィルタリングを行います。
読み込みの際にフィルタリング設定でD3DX_FILTER_NONEを設定して、
頂点のuvに(imgが640*480 テクスチャが1024*512として)
u = 0.625; v = 0.9375;
と入れれば正常に描画できると思いますよ。

>メシ食って歯磨いてオナニして風呂入って寝よう。
メシ食ったら風呂場で歯磨いてオナニすればよかろう…
って人生も最適化始めたら人間おしまいよね(笑)
0606名前は開発中のものです。03/02/12 03:03ID:1pSK5fDw
DirectInput8を使用しているのですが、ジョイスティックを接続して、
ジョイスティックからの入力を受け取ろうとプログラムを実行すると、
ある特定のキーが押しっぱなしになった状態で起動しまうと何件か
報告されました。

自分の環境ではないので(自分の環境では大丈夫でした)、デバッグを
することが難しいのですが、どのへんがあやしそうかを教えてください。
ちなみに、起動時に何もキーなどは押していないそうです。
0607あぼーんNGNG
あぼーん
0608名前は開発中のものです。03/02/12 03:34ID:0lnWkCvL
>>606
「ある特定のキー」ってのが十字キーなら、少し遊びを持たせてみるとか。
0609名前は開発中のものです。03/02/12 03:38ID:eRbhd0f3
>>606
> どのへんがあやしそうかを教えてください。

方向キー押しっぱなしなら一回以上キャリブレーションを行う。
homeキーに割り当てる、という手もある。で、怪しいと思ったときにユーザが押す。
いや、これはどの解説書にも書いてあることだから
98%すでにキャリブレーションを行っていると思いますが…。

あとはユーザの環境に問題があるケース。
ジョイスティック関連は自分の環境をアプリケーションのせいにする輩が
非常に多いことで有名なので…。
「パッド付属のユーティリティで正しく設定しろ」以上の対処法は無い。
0610名前は開発中のものです。03/02/12 04:30ID:ghj8DsVG
コントロールパネルで パッドの設定が正しくできてないぐらいしか
おもいつかん
0611DirectX 9.1 to be introduced at GDC 2003 03/02/12 07:32ID:WFauWlhs
http://www.theinquirer.net/?article=7721
0612DirectX9.1!!03/02/12 11:28ID:Mvenkz0O
DirectX9.1!!
0613名前は開発中のものです。03/02/12 11:38ID:aUdjBjb9
コンパネで調整してもニュートラル位置が安定しないパッドはあったよ。
十字キーを押した状態を1.0の強さとすれば、押してなくとも 0.3くらい偏ってるような糞パッド。
入力の遊びを大きくとるしかない。
0614名前は開発中のものです。03/02/12 14:43ID:zfh0sZJ7
糞というか、サウンドカードのゲームポートを使用するコントローラの
場合は細かく位置を特定することが不可能なんでしょうがないかと。
(サイドワインダーのようなデジタル接続の物は別)
0615あぼーんNGNG
あぼーん
0616名前は開発中のものです。03/02/12 16:10ID:HUarmbXk
>>613
いくつかプレステのパッドをつなぐコンバータを持ってるが、
海外の輸入物はほんとに駄目なものが多いよ。
ニュートラルでも動く動く。即効ゴミ行きさ。

少々高くても日本でパッケージされている程のものはまず大丈夫の模様。
061761603/02/12 16:11ID:HUarmbXk
俺のはUSB接続の物の話ね
0618名前は開発中のものです。03/02/12 17:32ID:Auvbtkqn
スマートジョイパッドがダメダメなのを確認しますた(他の安物も同じだった)
ひょっとして変換機じゃなくてPSコントローラのほうがダメなんじゃないかと
0619名前は開発中のものです。03/02/12 17:46ID:wldWHlKz
>>618
どうだろうね。
PSのコントローラー自体が判定シビアなんじゃない?
デュアルショックで試したけど、思いっきり倒して元に戻すと±0.1位残ることもある。
(もちろんうまくやれば0になる。)
だから俺は>>613のように遊びを作って調整してる。
0620あぼーんNGNG
あぼーん
062161603/02/13 00:07ID:o+He/HHX
うちにスマートジョイパッド3が二つばかりあるけど、
十字キーはデフォルトで特に問題なし。
アナログは確かに少しずれてる。ブルブルするってことはさすがにない。
キャリブレートすると十字キーの方に影響出るから結局やってないや。
いやまあアナログは使わないから別にいいけど。
0622名前は開発中のものです。03/02/13 01:56ID:vSad8oY+
スマートジョイパッド3+DUALSHOCK2(PS2のコントローラー)使ってますが、十字キー
大丈夫です。スティックはずれてますが、デッドゾーン指定すれば問題ないみたいです。

クラスを3段階に定義しており、
#include"cb.h"
class CA{
CB cb;
};

#include "cc.h"
class CB{
CC cc;
};

class CC{
};

とインクルードファイルを3つに分けているのですが、ビルドすると
error C2011 class型の再定義と出てしまうのですが、これは何なのでしょうか?
0623名前は開発中のものです。03/02/13 04:29ID:blhLE+oa
>>622
なんだかよくわかんない。
どこかでinclude間違ってんじゃない?
0624名前は開発中のものです。03/02/13 06:58ID:YY2ER2Mm
>>622
漏れ全く同じ使い方してる。プリプロセッサに再定義させない指定してるけど。
cc.hなら例えば

#ifndef __CC_H__
#define __CC_H__
〜ヘッダの内容〜
#endif

多分これで回避できると思う。
0625名前は開発中のものです。03/02/13 18:55ID:c9ym2P+W
アドバイスどうもです。解決しました。
クラスCBのメソッドを収容してあるファイル
cb.cpp
の最初に
#include"cc.h"
と書いてしまったため、まさしく再定義されたようでした。
0626名前は開発中のものです。03/02/13 21:57ID:T2BpaXoT
DirectX 8と9、両方のDirectPlayに携わった方、よろしければ質問お願いします。

DirectPlay8から9にかけて、たとえばDirect3DからDirectGraphicsに
移行したときの様な、大幅な変更はありましたでしょうか。
また、少々無理してでも9の方を学ぶべき、理由などございますでしょうか。

障害として、9のsdkを入れると、動かなくなるアプリがある事情がありまして…。
初歩的な質問で恐縮ですが、よろしくお願いします。
0627あぼーんNGNG
あぼーん
0628名前は開発中のものです。03/02/14 00:25ID:xilLUCvM
DirectInput8でキャリブレーションをする関数を教えてください。
キャリブレーションで調べても全然見つからない…
他のキーワードかなんかあるんですか?
0629名前は開発中のものです。03/02/14 00:29ID:T9kWfjsm
VC++ & DirectInput8を使っていて、
パッドの数を取得して、
0〜複数を自動で認識したいんですが、
流れとしてはどうやるんでしょうか?

とりあえず、パッド一個を動かす事はできています。



VB+DirectX7の時は
Set EnumDevice = DInput.GetDIEnumDevices(DIDEVTYPE_JOYSTICK, DIEDFL_ALLDEVICES)
で、EnumDev.GetCountに何個パッドがあるか出てきて、

Set PadDeviceInfo(i) = EnumDev.GetItem(i + 1)
Set PadDevice(i) = DInput.CreateDevice(PadDeviceInfo(i).GetGuidInstance)
で、一個ずつ割り当てていったんですが・・・
0630あぼーんNGNG
あぼーん
0631名前は開発中のものです。03/02/14 01:37ID:s/e0+1Mp
>>628
そんな関数無かったと思うけど…
ジョイスティックのセンタ合わせなどはその製品のドライバ、ツールがやるべきことで
アプリケーションの仕事ではないでしょう。

それとも絶対座標軸で正確な中心を取る方法とかいう話ですか?
どうしてもというなら相対座標で受け取れば、なんとかなる場合もあるんじゃないでしょうか?

>>629
……一つ作成できてるなら、それと同じ方法を繰り返すだけでよくないですか?
列挙した時にGUIDが入った構造体が与えられるので、それに使って作成していけばよいはずです。

マニュアルのようにインターフェイスをグローバルで与えたくなければ、
列挙する時にLPVOID型の転送用の引数がありますので、
そこにインターフェイスを与えればよいと思いますよ。
063262903/02/14 01:59ID:T9kWfjsm
>>631
回答\(・∀・)/ アリガトン

使用するコールバック関数がイマイチ分かってませんでした。
取得に成功したら、DIENUM_STOPを返してて、次に行かないようになってました。
忠告されるまでLPVOID型の引数を無視してました。(笑)
これを使ってもう少しいいように作ってみます。

ためになりました。
063362603/02/14 02:04ID:e3XCNwxz
くぅ、小粋なPlayBoyはいらっしゃらないのか(´Д⊂
もう一度上げさせてください
0634名前は開発中のものです。03/02/14 02:39ID:63yL1klM
>>633
わずかな機能追加とバグフィクスが変更の中心です。
大きな変更はありません。
0635あぼーんNGNG
あぼーん
0636名前は開発中のものです。03/02/14 03:02ID:e3XCNwxz
>>634
ありがとうございます!おかげで心おきなく8Playの猛勉強開始できます。
これで安心して眠れます…本当に感謝です。

今日はきっとあなたの日ですよ(*´Д`)ノ◆パッ
0637名前は開発中のものです。03/02/14 08:02ID:+4PY8YS3
>>628
>>631の言うとおり、アプリ側でやることじゃないと思う。
もしやるなら、うんこハード、ドライバ用に十字キーの閾値の設定くらいかな。
0638名前は開発中のものです。03/02/14 19:24ID:tJTzQwc9
変換行列で、頂点座標を変換するにはどうやって計算しますか?
要するに、変換後の頂点座標が取得したいのですけど・・
0639名前は開発中のものです。03/02/14 20:36ID:DzHm3TpR
>>638
pD3DDevice->SetTransform(D3DTS_WORLDMATRIX(0),&Matrix);
のMatrixを保存しておいて、変換後の座標が必要なときに
座標に掛けてあげればOK。
0640名前は開発中のものです。03/02/14 22:27ID:FTji8okw
DirectX7で、描画先ウィンドウを変えたいんだけど
8以降にある Presentに渡すウィンドウハンドル見たいに
途中で転送先ウィンドウを変えたいんだけど・・・
7では無理ですか?
064163803/02/14 22:33ID:fnvvsKQl
>>639
レスどうも。

頂点座標にマトリクスの各配列を
どういう形で掛ければ良いのですか?
検索でも出てこないもので・・
0642名前は開発中のものです。03/02/14 23:01ID:DzHm3TpR
>>641
D3DXVec3TransformCoord関数で一発
あんまり難しく考えないようにね
064363803/02/14 23:50ID:NpYIeDIA
>>642
そいった物が・・
さっそく使ってみます〜 どうも〜
0644あぼーんNGNG
あぼーん
0645名前は開発中のものです。03/02/15 02:42ID:iI0jLvcO
Direct3D8を使ってるんですけど、
現在フレーム毎に、全部描き直してますが、
DirectDrawで別のSurfaceに書き残すみたいに、
描画した情報をどこか他のものに残す事はできないでしょうか?
IDirect3DDevice8::CreateImageSurface()なるものはあるようなのですが、
これも作っただけで、どう使えばいいか分かりません・・・
0646名前は開発中のものです。03/02/15 03:14ID:ruB4cEsX
ジョイスティックの遊びを設定できるようにしたいのですが、
あの遊びの値というのは、一般的に使われている式があるのですか?

なんか漏れが見たゲームの設定だと、1〜1000で設定できるように
なってたんだけど、これが一般的なのですが?
0647名前は開発中のものです。03/02/15 03:25ID:6ruvhBdO
>>645
8はよく知らないんだけどスワップチェインをFLIPじゃなくCOPYで
作成すればバックバッファには常にフロントと同じ内容が残るのでは?
要はWindowモード時と同じ処理。
D3DSWAPEFFECT_FLIP,D3DSWAPEFFECT_COPY<このへんがキーワードかな。
0648あぼーんNGNG
あぼーん
0649名前は開発中のものです。03/02/15 03:52ID:7eiV5nPW
>>645
IDirect3DDevice8::SetRenderTarget はどうかな?
ちょっとズレてるかもしれんけど。
0650名前は開発中のものです。03/02/15 04:20ID:B2h4zgOk
━━━━━( ・∀・)=終)´Д`(了=(・∀・ )━━━━━
0651名前は開発中のものです。03/02/15 04:29ID:6ruvhBdO
>>646
1〜1000ってのはユーザーに判り易く変換してるだけだと思う。
0652名前は開発中のものです。03/02/15 07:01ID:ruB4cEsX
軸の傾きって、一番ひどいパッドでどれくらいずれてますか?
0653名前は開発中のものです。03/02/15 07:03ID:IQxlefuQ
>>645
それはスナップショット的な物が欲しいということ?
それだったらGetBackBuffer()でサーフェイスを取得しておいて、
レンダリングが終了してたときにCopyRectsで用意しておいたサーフェイスに
転送すれば、描画されたイメージを取得できるよ。


>>646
それはアプリケーションが決めればいい事ですよ。好きにやったらいい。
遊びって大体10%〜30%くらいじゃないのかな?
0654名前は開発中のものです。03/02/15 09:35ID:2CJAwmu6
>>643
おいおい、数学的処理や意味を知らずに使うのはマズイだろ。
簡単に
struct VECTOR
{
float x, y, z;//同時座標じゃなくても出来る
};

struct MATRIX
{
float _11, _12, _13, _14;
float _21, _22, _23, _24;
float _31, _32, _33, _32;
float _41, _42, _43, _44;
};

で、ベクトルと行列の掛け算はで得られる結果X1, Y1, Z1は
X1 = x*_11 + y*_21 + z*_31 + _41;
Y1 = x*_12 + y*_22 + z*_32 + _42;
Z1 = x*_13 + y*_23 + z*_33 + _43;
//左手系、ベクトル×行列の順で、同時座標でいうwは常に1を補うとする。

簡単だろ、各回転行列やなんかは分るだろ?
で、_41, _42, _43が平行移動成分ってのも。
065565403/02/15 09:40ID:2CJAwmu6
タイプミス
>同時座標
同次座標
0656638 03/02/15 11:12ID:7dXkqCa/
>>654
どうも、為になります。

確かに意味も分からずに作って行くと、
後で行き詰まるのは、目に見えてますが・・
どうしても、試したかった事がありまして。
D3DXなんかが有るので、3Dの知識が貧しくてもどうにかなっていたものでして。
一段落したら、3Dの勉強をじっくりしたいですねぇ。
0657名前は開発中のものです。03/02/15 13:50ID:a0UzeSQB
               ∧ ∧
              ( ̄ー ̄)
              (つ  つ
               ( ヽノ
               し(_)

         Now Thread Stoping. ...
         大変見苦しいスレでありました.
           スレストするまでお待ちください。。。ニヤリッ
0658名前は開発中のものです。03/02/15 22:35ID:v4BGs1G4
単純にD3DXVECTOR4で宣言した変数と
行列を
vec4=vec4*matrix;
って感じで頭の3つを取り出せば座標が出ますよね。
0659名前は開発中のものです。03/02/16 01:52ID:3xyVlE7Z
ウィンドウ内でゲームが動いている時、セーブとかオプションを変更する為に
右クリックしてポップアップメニューを出したいのですが、どのようにして出せばいいですか?
環境はVisualC++6.0、DirectXSDK8.1です。
0660名前は開発中のものです。03/02/16 02:01ID:82lNxtkf
 _、,_
(  _!_  )
0661名前は開発中のものです。03/02/16 02:48ID:uicgqHLM
なあ?
バンプマップはわかるんだが、ディスプレースメントマップってなんのためにあるの?
モデリングでつくっときゃいいじゃん
0662名前は開発中のものです。03/02/16 03:14ID:By3z7WHs
ttp://masafumi-t.cool.ne.jp/directx9/ready/ready02.htm

[スマートポインタ]
は、自動開放をしてくれるとの事で、早速使ってみたいのですが、
こちらのサイトからの情報だけではいまいち理解できまへんでした。

どこかにシンプルで簡単なサンプルコードはありませんか?
とりあえずIDirect3D9をスマーティ〜に作ってみたいのですが。
4〜5行で済むことなら直接書いていただくのもアリかな:-)




0663名前は開発中のものです。03/02/16 03:33ID:qivgoxYo
>>662
そこだけじゃなくて他のサイトも見て理解してください。
0664名前は開発中のものです。03/02/16 03:34ID:I55/V1zD
>>659
「猫でもわかるプログラミング」ってサイトにいろいろ詳しく
掲載されてるっぽ。検索してみれ。
0665名前は開発中のものです。03/02/16 04:00ID:ZVOz3UrZ
DirectXは、バージョンをあげても動くというのが建前ですよね。

しかし、実際には動かないゲームやアプリがあります。
うちのWinFastという古いアプリもそうですし、FFもそんな噂を聞きます。

これの原因は何なのでしょうか?
単にコードの冒頭でバージョンを定義してないせいとか…、
いやそんな単純じゃないですよねぇ…。よろしければご教授を。
0666名前は開発中のものです。03/02/16 04:07ID:I55/V1zD
ドライバやOSも関係してくるから一概に言えない
0667名前は開発中のものです。03/02/16 04:08ID:ZVOz3UrZ
>>666
ありがとうございます。ではコーディングする側としては
どうしようも無いんですね。ある意味ほっとしました。
0668あぼーんNGNG
あぼーん
0669名前は開発中のものです。03/02/16 05:24ID:qivgoxYo
他にもOSの種類を9x系に限定したりとかが原因で動かなかったり。
0670名前は開発中のものです。03/02/16 09:05ID:8zpaisS3
>>661
例えば、バンプマップで表現した面を、ライティングで壁に影として映し出そうとした場合。
バンプだと描画のみなのでポリゴンの形の影になるが、
ディスプレースメントならポリゴンも変形してるので、その描画されている形の影が落ちる。

そんな感じか。
0671名前は開発中のものです。03/02/16 10:06ID:LdkrBz+N
DirectSound は同時に演奏できる数に制限はないんですよね。
WDMドライバの場合の WaveOut も同時演奏数に制限はないから、
結局 同時演奏数に制限が加わるのは vxdドライバで WaveOut を使ったときだけなんですね。
0672名前は開発中のものです。03/02/16 11:19ID:PYI2iM28
>>661
よくわからんけど、LODが実装しやすいんじゃなかろーか。
0673名前は開発中のものです。03/02/16 11:29ID:8GBF26gb
>>671
制限はある。CAPSをチェックしろ。
0674名前は開発中のものです。03/02/16 11:52ID:kG6Gu6Lz
>>661
何のために使うか分からなければ使わないでいいと思うよ。
使う時が来たら使えばいい。
だいたいDX9が一般に広がるのっていつの頃だよ……。来年?
0675名前は開発中のものです。03/02/16 12:39ID:U1Dr21mj
DirectX9が広まる心配などする必要ない。
問題は、DirectX9対応(というか使いたい機能を持った)ハードウェアがいつ広まるかだ。
前者はこちら側の対処でどうにでもなる。
後者は難しい。
0676名前は開発中のものです。03/02/16 13:52ID:kG6Gu6Lz
>>675
いや、そういう意味で言ったんだけどね。
だって俺もまだDX8世代のカードで我慢してるし。ゲームやる友達のパソコンも
酷い奴はまだDX7世代だもん。

1,2年前のメーカー品使ってる連中が買い替え始める時期がいつか……。

変な話、シェーダー3.0に完全対応したカードが出てくれないと
俺はビデオボード変えないかも(笑)
0677名前は開発中のものです。03/02/16 14:45ID:8GBF26gb
ん?ゲームする人の論理?
0678あぼーんNGNG
あぼーん
0679名前は開発中のものです。03/02/16 15:10ID:lNvw3jDD
670-677レスありがとうございます。
なんか微妙な用途ですね。
地面につかうとでっぱったポリゴンがキャラにめり込むし。
うーん、誰か効果的な使い方を発見してくれるのをまつことにします。
0680名前は開発中のものです。03/02/16 15:38ID:kG6Gu6Lz
>>677
いや、DX9で定義された仕様を全部サポートしてくれた製品じゃないと嫌だなぁって話。

>>679
ディスプレースメントマップをハードでサポートなんて最高じゃんか。
使いまくれ!
ほら、6面体で焼けて膨らむ餅が表現できるぞ(笑)

それより俺はボリュームを何とかして欲しいなぁ……
0681名前は開発中のものです。03/02/16 16:54ID:tDr+jqjf
プログラム内でスクリーンショット機能を付けたいのですが、
どういう手順でやればいいですか?
環境はVB6.0+DIRECTXでお願いします。
0682名前は開発中のものです。03/02/16 17:22ID:3FlUVw2p
VBは知らないのでC++の例。ウィンドウ枠が可変でプライマリバッファからコピーの場合
  LPDIRECT3DSURFACE8 tmp;
  D3DLOCKED_RECT lock;
  d3ddevice->CreateImageSurface(::GetSystemMetrics(SM_CXSCREEN), ::GetSystemMetrics(SM_CYSCREEN), D3DFMT_A8R8G8B8, &tmp);
  d3ddevice->GetFrontBuffer(tmp);
  tmp->LockRect(&lock, NULL, 0);
  RECT rc;
  GetClientRect(hwnd, &rc);
  int w = rc.right - rc.left;
  int h = rc.bottom - rc.top;
  ClientToScreen(hwnd, (POINT*)&rc);
  BYTE *buf = new BYTE[sizeof(DWORD) * w * h];
  for (int i = 0; i < h; i++){
    CopyMemory( buf + sizeof(DWORD) * w * i,
      (BYTE*)lock.pBits + lock.Pitch * (rc.top + i) + rc.left * sizeof(DWORD),
       sizeof(DWORD) * w);
  }
  delete[] buf;
  tmp->UnlockRect();
0683名前は開発中のものです。03/02/16 18:34ID:A+y5e3fj
>>681
>>645から読み直せ
0684あぼーんNGNG
あぼーん
0685名前は開発中のものです。03/02/17 00:13ID:9vsIryvv
>>673
DirectSoundではサウンドの同時処理は処理速度が許すかぎりいくらでもできる。
CAPSはハードウェアで処理できる限界であってソフトウェアの限界ではない。
0686名前は開発中のものです。03/02/17 04:19ID:WS9BVvAx
3Dを背景とした2Dゲームって、二つの頂点の定義を作っておいて、
毎フレームごとに切り替えるんですか?

つまり、1フレームごとに、座標変換ありの頂点と座標変換なしの頂点を
交互に描画するんですか?
0687名前は開発中のものです。03/02/17 04:43ID:mWd91DKT
>>686
うん
0688名前は開発中のものです。03/02/17 05:09ID:hdzUUYWw
>>686,687
なんだそりゃ?
0689名前は開発中のものです。03/02/17 05:25ID:aOw8ezq9
少々わかりにくいが間違いはなさそうだが
0690名前は開発中のものです。03/02/17 07:19ID:hdzUUYWw
ああ、背景は座標変換あり、2Dオブジェクト郡は座標変換ありってだけのことか。
だがな、用語が変だぞ。
0691名前は開発中のものです。03/02/17 07:55ID:vF3bZenv
あり?
0692名前は開発中のものです。03/02/17 08:04ID:hdzUUYWw
2Dは「なし」だな。すまん。もうこない
0693名前は開発中のものです。03/02/17 08:23ID:jFMHe3lL
逃げちゃ駄目だ!
0694名前は開発中のものです。03/02/17 08:58ID:dBcKYU7J
http://www.agemasukudasai.com/bloom/
0695名前は開発中のものです。03/02/17 09:34ID:tG/PvClA
普通、同じフレーム内に座標変換あり、なし両方書き込むぞ。
なんだ、交互にって?テレビのインターレースかいな。

で、その頂点座標変換あり、なし混在の場合、
頂点変換なし(2D)描画が常に画面の手前になってしまう。

背景(3D)のobjectと何かしら処理が絡むなら(objectをくぐるとか)
自キャラ(2D)もビルボード使って
板ポリで、頂点変換ありでやった方が良いんでない?
0696名前は開発中のものです。03/02/17 10:48ID:E/qUSJ/7
座標変換無しでもポリゴンは描画できるよ。
■ このスレッドは過去ログ倉庫に格納されています