出し惜しみせずに3Dの技術を誰かが答えます
■ このスレッドは過去ログ倉庫に格納されています
00011
01/11/15 21:43ID:EsRJgfGr誰かが答えます。
じゃんじゃんネタ振ってくれ。
俺も業界で飯食ってるが知ってる事は出し惜しみせずに
答えるよ。みんなでレベルアップしようぜ。
とりあえずBBXとBio120%の過去ログは見とけ。
0049名無しさん@お腹いっぱい。
01/11/17 19:51ID:???0050名無しさん@お腹いっぱい。
01/11/17 20:23ID:???焦点からズレている所はにじんだ様に見えるし。
0051名無しさん@お腹いっぱい。
01/11/17 23:17ID:???プログラムが作りたいのですけど、衝突判定で質問です。
…ぶっちゃけた話、Zソートかけたときにカメラ座標と
一番近いポリゴンが衝突してるかどうかの判定対象でいいんですよね?
あと、全部のプリミティブを一旦登録してから
描画開始だと、カメラの後ろにある「見えないポリゴン」まで
描画の対象になってしまいませんか?それだと効率が悪いような気がするのですが…
Zソートの段階で、「このプリミティブはスクリーン上から見えるのか?」という
検討はすべきですよね?
0052名無しさん@お腹いっぱい。
01/11/17 23:56ID:???仏語読みで「イマージュ」と発音するのだと聞いたけど
みなさんも当時はこのニュースをみて騙されたりしたんですか?
0054名無しさん@お腹いっぱい。
01/11/18 03:15ID:???MIPMAP生成(縮小BLTでもいいかも)でやれば、それっぽくできるかも。
http://www.gamasutra.com/features/20010209/evans_03.htm
もし見れなかったら、登録無料なんで是非見てみるべし。
>>51
近いものだけが当たるとは限らない気が…、たとえば
複数の面に同時に当たる可能性もあるよね?
(カメラが部屋の隅にぶつかる時とか)
// 「近い」の定義も文面から良く分からなかったけど。
あと、オブジェクトのカリングはZソート、描画プリミティブの登録以前に
視垂台上でカリングしちゃえばいいんではないかな?
0055名無しさん@お腹いっぱい。
01/11/18 04:54ID:???3D空間を格子状に区切ったバウンディング領域を
作ってから、1つのバウンディングBOX内に引っかかる
全てのポリゴンインデックスを持たせて
カメラの居るバウンディングBOX内の全ての
ポリゴンと衝突判定ってのでどう?
複数のバウンディングBOXを突っ切るように
移動した場合はそれら全ても判定する。
チェックしたポリゴンは判定済みフラグを持たせて
重複チェックは避ける。
でもこれってBSPってのを利用するともっといいみたい。
0056名無しさん@お腹いっぱい。
01/11/18 07:54ID:k3asQ08Vxfile読み込もうとしても受け付けないし・・・・
根本的に使い方まちがってるんですかね。アニメをしたいんですが。
0057名無しさん@お腹いっぱい。
01/11/18 08:22ID:ng/298Hx0058名無しさん@お腹いっぱい。
01/11/18 12:34ID:???0059名無しさん@お腹いっぱい。
01/11/18 20:12ID:???Mayaのほうがカッコ良いけど。
0060NAME OVER
01/11/18 22:46ID:Eze+A0zZになるのですが色は付けられないのでしょうか?。
0061名無しさん@お腹いっぱい。
01/11/18 23:06ID:???頂点色は?
0062名無しさん@お腹いっぱい。
01/11/19 00:27ID:???{
float x, y, z; // 位置座標
float nx, ny, nz; // 法線
DWORD Diffuse; // ディフューズ色
} VERTEX;
(D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE )
この頂点フォーマットを使用すれば付けれるよ。
0065名無しさん@お腹いっぱい。
01/11/20 00:55ID:8QJ39yii0066名無しさん@お腹いっぱい。
01/11/20 01:58ID:uF4aKngiこれ書いてるってことはコンスタントシェーダー使ってる?
Vertex&Pixelシェーダー使った方が圧倒的に楽だよ。
アセンブラを敬遠する人もいるかも知れないけど、1度トライしてみて欲しい。
頂点フォーマットを自分で設計できるのは便利だから
0067名無しさん@お腹いっぱい。
01/11/20 02:23ID:uF4aKngistruct BasicPoly
{
float x,y,z;
int color;
};
型定義はこれ
DWORD Vhandle,Phandle;
static const DWORD PolyType[] = {
D3DVSD_STREAM( 0 ),
D3DVSD_REG( 0, D3DVSDT_FLOAT3 ), //x.y.y
D3DVSD_REG( 1, D3DVSDT_D3DCOLOR), //color
D3DVSD_END()
};
このおまじないも書いておく
初期化関数内でCreateVertexBufferで確保した領域に値を入れる
BasicPoly *V;
VBuffer->Lock(...);
for(i = 0;i < POLY_MAX;i++)
{
V[i].x = ...;
V[i].y = ...;
V[i].z = ...;
V[i].color = 0xffffffff;
}
VBuffer->UnLock();
シェーダーのハンドルを取る
Vhandle = CreateVertexShader( dwVertexShader );
Phandle = CreatePixelShader( dwPixelShader );
描画関数内で
SetVertexShader( Vhandle );
SetPixelShader( Phandle );
SetVertexShaderConstant( 20, tmpMatrix._11, 4 );
ここで全てのMatrixをかけたものを渡す。
SetStreamSource(...);
DrawPrimitive(...);
で終了
0068名無しさん@お腹いっぱい。
01/11/20 02:24ID:uF4aKngivs.1.1
dp4 oPos.x, v0, c20
dp4 oPos.y, v0, c21
dp4 oPos.z, v0, c22
dp4 oPos.w, v0, c23
//x,y,zにSetShaderConstantで渡されたMatrixをかける
mov oD0, v1
//Colorをそのまま転送
Pshaderの中身は
ps.1.0
mov r0,v0
//Vshaderから渡されたColorをそのまま使用
2つのShaderはそれぞれ拡張子をvshとpshにして
xsasm -h *.vsh
xsasm -h *.psh
でヘッダーを作る
それにCreate***Shaderの引数が入ってる
なんか汚い説明だし、これ実行しても頂点カラーを指定した板きれが出るだけ
後はShaderのリファレンスを見ながら改良していけばいいと思う
ShadowVolumeだろうが、Bump環境だろうが、Furだろうが思いのままだ
健闘ヲ祈ル
0069名無しさん@お腹いっぱい。
01/11/20 09:36ID:Nj1lFQ200070名無しサソ
01/11/20 10:06ID:???公開されてるよ。場所は探してね。多分分かるから(笑)
0071名無しさん@お腹いっぱい。
01/11/20 11:35ID:???つーか、i810Eとかにも対応なんてしたくねーっちゅうの!!
世の中GeForce2以降とRADEONで統一してくれYO!
0072blender信者(w
01/11/20 12:48ID:hX7SJf0tblenderはxfile読み込みのスクリプトがなかったはず。
blenderはやめてtrueSpaceにした方がいいのでは。
もしくは、コンバータでDXFに直して持って来るとか。
アニメーション付けするだけなら、xfile用のモデラ&アニメーションツールを
freeで公開されている人がいるので探してみては。
0073名無しさん@お腹いっぱい。
01/11/20 13:42ID:???あんたがメチャ面白いゲームをGeForce2とRADEON限定で
作り出せばいいかもよ。
0074名無しさん@お腹いっぱい。
01/11/20 14:31ID:WD3W2AjAわかんねー
0076名無しさん@お腹いっぱい。
01/11/20 15:51ID:???2chなのでななしさんですますことにする。
つーか、解からない事ありすぎるから教えろや、ゴルァ!!
0077名無しさん@お腹いっぱい。
01/11/20 15:59ID:???一時期の洋ゲー方式ですね。
OpenGL対応ボードが普及したのもQuakeのおかげみたいなもんだしヽ( ´ー`)ノ
0078_
01/11/20 16:21ID:t2UWc/yC0079(・∀・)つ∴ニクコプーンクエ!!
01/11/20 16:54ID:???この頃は、春になるとスギ花パーティクルによる結膜炎で悩みます。
パーティクル超嫌いです。
悩みをブチマケたらスッキリしました。
008051
01/11/20 17:54ID:???いただいたアドバイスどおりに実装しようとして
マップデータのローダーを観てて気付いたのですが、
「Stripしてる三角形の扱いはどぎゃんすればよかですか!?」と。
独立した三角形としてプログラム内で扱って…というのは
手としてアリなんでしょうか?そのためのプリミティブの保存領域や
コマンドの転送が余計に必要になりますよね?
0081名無しさん@お腹いっぱい。
01/11/20 20:20ID:???表示モデルとあたり判定を取らないほうがいいよ。
もっとローモデルにしたものを独立三角形データで
用意してバウンディングボックスデータを
事前に生成しておく。
008251
01/11/20 21:00ID:???>>マップデータのローダーを観てて気付いたのですが、
↓
「マップデータのローダーを書くために、
モデルデータを観てて気付いたのですが、」
>81
狼狽しててわかりにくい日本語で書いたにも関わらず
回答ありがとうございます。
つーことは、描画・表示用のプリミティブデータと
当たり判定用のローモデルデータを別に用意した方が
ベターって理解でいいでしょうか?
んで、バンウンディングボックスなんですが、
その格子の中に頂点を持っている三角形であれば対象にしても
構わないんですよね?
008344
01/11/20 21:05ID:???コラム一通り見たけどテクスチャ自体の作成は無いと
思うが。
IF氏あたりがコラム書いてくれねーかなぁ。
動的スフィアで屈折&反射マッピング。
0084名無しさん@お腹いっぱい。
01/11/20 21:58ID:???>当たり判定用のローモデルデータを別に用意した方が
>ベターって理解でいいでしょうか?
そうしないとバウンディングボックス用のデータ作成に
時間がかかるじゃん。
>その格子の中に頂点を持っている三角形であれば対象にしても
>構わないんですよね?
それも当然対象になるけどボックス内に頂点が無くても
三角形がボックスと交差している事はある。
ボックスの12個の辺が三角形と交差していないか
面と直線の判定で調べる必要がある。
0085名無しさん@お腹いっぱい。
01/11/20 21:59ID:???0086名無しさん@お腹いっぱい。
01/11/20 22:22ID:???0087名無しさん@お腹いっぱい。
01/11/20 22:35ID:???0088名無しサソ
01/11/20 23:03ID:???分かりにくい解説かなぁ・・・。
要するにスフィアマップを特殊な座標変換で直接作成する
お話なんだけど。
0089名無しサソ
01/11/20 23:08ID:???>83
場所を間違っていると行けないので一応。
bioのBBSに話題が出ているから、たどってみよう。
それでも分からない事があれば質問をどうぞ。
009083
01/11/21 00:54ID:???>お話なんだけど。
結局それが必要なのは解っているんだけど仕組みが
イメージ出来てないおれ。
フレームバッファに背景描いてからテクスチャにコピー
した後に特殊な変換掛けるって感じなの?
でもそれだと前面以外の横や上下分もレンダリング
してやらないとダメなような。
360度って事だと結局6方向要るだろうし。
なんか物凄い勘違いしているとは思っているが。
もしかしてモデルの頂点トランスフォームを自前で
全てやって単位化した円のなかに納まるように変換して
トランスフォーム済み頂点で描画して作成するとか。
んな恐ろしい事するわけないか。
0091名無しさん@お腹いっぱい。
01/11/21 01:06ID:xQAW9/lm0092名無しサソ
01/11/21 01:16ID:???その「もしかして」が正解(笑)
DirectX7からだと、直接テクスチャサーフィスに描画できるから、
フレームバッファに書かなくても大丈夫だよ。で、描画先にSphereMap
用に確保したサーフィスを指定して、自前の変換で円の中にがりがり
書いていく。その座標変換の方法を紹介してあるんだけど。
ただ、色々欠点があるので、Dual-Paraboroidの方を詳しく勉強
した方がいいかも。
009390
01/11/21 01:31ID:???ななななっなにゅ〜!!悪夢のようだ。
んじゃ頂点シェーダー使わないと速度的に無理じゃん。
しかも全方位のモデルを描画だからクリッピングも
クソもオクールジョンカリングも無い。
グランツーの様なゲームで動的環境マップしようと
したら背景ポリゴン多すぎて不可能じゃないの?
そのへんはDual-Paraboroidとやらも同じでっか?
0094名無しサソ
01/11/21 01:55ID:???映り込むオブジェクトを上手く取捨選択するのなら、そこまで
無理ではないよ。自前変換にかかるコストは比較的高いけど、
死ぬほどではない。問題は破綻をどう防ぐか。通常のクリッピング
とは全然勝手が違うからね。
具体的な解決策としては、簡略化した背景をいくつかのブロック
に分けて置いて、距離的に離れたオブジェクトは最初から描かない、
とかね。一度に描くのが2000ポリゴン前後位だったら、CPU側の処理
でもまだ現実的だと思う(Pentium!!!クラスのPC、TNT2以上のビデオ
カード前提で)。もちろん出来る限りの高速化の工夫は必要になりそう
だけど、何とか実用にならないかなぁ。
ちなみに、Dual-Paraboroidもやっていることは基本的に一緒。ただ、
話を聞いた限りでは、180度の映り込みを2枚描いて、それを切り抜いて
かつ歪ませてSphereMapを作るとか。某氏は座標変換をVertexShader、
画像処理をPixelShaderに任せているという話。
0095名無しさん@お腹いっぱい。
01/11/21 13:20ID:???横入りスマソ。おれもちょうどその辺やってるんで。
円の中に収まるように描いていくってとこだけど、
画角を180度とかに広げて描画したらそれっぽくならないですか?
あと、この話題で出てくるHPのアドレス教えてくださいナリ
009695
01/11/21 13:24ID:???カメラ方向に向いた視点をセットして周りの背景とかを描画するんでOK?
複数オブジェクトに環境マップしたいときは・・・コストかかりまくり。鬱
0097名無しさん@お腹いっぱい。
01/11/21 15:09ID:???Dynamic Sphere Mapping
http://www.opengl.org/developers/code/sig99/advanced99/notes/node180.html
Dynamic Dual-Paraboloid Mapping
http://www.opengl.org/developers/code/sig99/advanced99/notes/node187.html
http://cgi3.tky.3web.ne.jp/~tkano/DynamicParaboloid.shtml
advanced99では、いったんキューブマップに通常の線形変換で描画してから
それを歪ませて環境マップを作成している。一方、Kano氏の方法では、
頂点座標を非線形変換させて環境マップに直接描画している。
通常の線形射影変換では、原理的に画角を180度にはできないのでは?
0098名無しさん@お腹いっぱい。
01/11/21 21:34ID:kiEpb28WDirect3DでXファイルを読み込んで表示するまではできたんですけど(ライブラリ使いましたが)
モデリングする時と実際に表示される時の大きさが分からないと不便なので
カメラも視点がXY方向の平面に垂直だとして、
3Dでの640が画面の640ピクセルになるようにしたいんですが、
(0,0,0にある640*480の物体が画面いっぱいに表示されるということ)
どのような式を書けばいいんでしょうか。
カメラに映るZの範囲は-100〜100にしたいです。
ということはカメラのZは-100ですよね。
XYに垂直なのでX = 0, Y = 0 まではわかるんですが、
視野角度というものを何度にすればいいのか分かりません。
教えてください。
009993
01/11/21 21:55ID:???確かにCPUで2000ポリぐらいは行けそう。
それでも背景は2回描くはめになるからやっぱり
コストは高そうだなぁ。
VertexShaderで頂点変換は必須になりそうだ。
写りこみ用モデルはローポリ&テクスチャで
ごまかしたやつを使うか。
>>97
>一方、Kano氏の方法では、
>頂点座標を非線形変換させて環境マップに直接描画している。
kano氏もいぢわるしないで日本語でバカにも解るように
解説してくんねーかなぁ。
0100名無しさん@お腹いっぱい。
01/11/21 22:12ID:???スレ違いだと、思うぞ。
OpenGLプログラミングガイドにそれなりに載っている。
3D初心者はDirectXよりも、OpenGL+GLUTライブラリの方が良いと思うが。
0101名無しさん@お腹いっぱい。
01/11/21 22:30ID:???トランスフォーム済みの頂点フォーマット
使っちゃダメ?
2Dスプライト的に使うならD3DFVF_XYZRHWを
使えば十分。
3DでやりたいならCマガジンの10月号で
似たような記事があったよ。
>>100
まっageてくれたからいいじゃん。
おれ的には初心者の質問もOKだと思うよ。
0102名無しさん@お腹いっぱい。
01/11/21 22:57ID:???>kano氏もいぢわるしないで日本語でバカにも解るように
>解説してくんねーかなぁ。
掲示板やメールで質問してみるとか。
ここも見てるだろうけどリアクションは無いと思うのん。
つうかKanoさんモテモテね。きゃは。
0103名無しさん@お腹いっぱい。
01/11/22 00:34ID:hpjXjtgwこのエフェクトやってみたいんですが仕組みについて
ヒントだけでも聞かせてもらえないですか?
0104名無しさん@お腹いっぱい。
01/11/22 00:54ID:GSH8d9fw上で散々っぱら話されている動的スフィアマップと大体同じ考え
なんじゃないかな。
違うのはテクスチャー行列(というかテクスチャの座標変換)
を反射から屈折にするくらいかな。
っていうか屈折って行列で表現できるのかはわからないけど。
0105名無しさん@お腹いっぱい。
01/11/22 01:15ID:???モデルの頂点を透視変換かけたものをuv座標に
してから適当にずらすとかあったが。(んなアホな)
他の可能性としてはバンプマッピングも
考えられんか?おれには解らんが。
0106名無しさん@お腹いっぱい。
01/11/22 01:18ID:???別に、動的スフィアみたくテクスチャを変形しなくても
背景をテクスチャにレンダリングしてそれをそのまま
環境マップ用のテクスチャとするだけでそれっぽく見えないかな?
変換の式を適当にいじる必要はあるだろうけど。詳細はわからんっす。
屈折マッピングについては
↓聖地とか
http://developer.nvidia.com/view.asp?IO=Refraction_paper
↓聖書とか
Game Programming Gems
・・・にあります。
0107名無しさん@お腹いっぱい。
01/11/22 01:21ID:???0108名無しさん@お腹いっぱい。
01/11/22 01:29ID:???動的キューブ環境マップか動的スフィアが
必要になってきて速度的にヤバそうだな。
>背景をテクスチャにレンダリングしてそれをそのまま
>環境マップ用のテクスチャとするだけでそれっぽく見えないかな?
この路線がいいとは思うがそのままだとうまく
いかんと思うなぁ。
0109名無しさん@お腹いっぱい。
01/11/22 01:38ID:???普通に考えると、
>背景をテクスチャにレンダリングしてそれをそのまま
>環境マップ用のテクスチャとするだけでそれっぽく見えないかな?
このやり方では映り込んでいるように見えると思う。
屈折させたいなら環境マップとテクスチャ座標の計算式は
変えなきゃだめだと思う。
0110名無しさん@お腹いっぱい。
01/11/22 01:43ID:???>変えなきゃだめだと思う。
Gemsにもあるスネルの法則ってやつで
屈折させるんだと思うけど、どこにどーやって
組み込むんだろう。
環境マップも頂点シェーダーで独自で計算とか?
0111名無しさん@お腹いっぱい。
01/11/22 01:45ID:???0112名無しさん@お腹いっぱい。
01/11/22 01:45ID:???光の進入角を-Nと考えると、結構簡単に屈折した法線角を
でっちあげることはできそう。
0113名無しさん@お腹いっぱい。
01/11/22 01:50ID:???0114名無しさん@お腹いっぱい。
01/11/22 01:55ID:???なるんだけど、なんか小手先みたいな感じがして積極的に
ゲームに取り入れる気がしないよう。
もっと包括的に、シーングラフレベルでのテクニックみたいなの
はないかなあ。シーングラフで屈折マップも表現できるのなんて
無いか。
0115106
01/11/22 02:32ID:???↓
SetTextureStageState(1, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_COUNT2)
SetTextureStageState(1, D3DTSS_TEXCOORDINDEX, D3DTSS_TCI_CAMERASPACENORMAL)
・・・とかやってみる。
↓
マトリックスをゴニョゴニョ
↓
屈折まっぷ(゚д゚)ウマー
とか、こんな程度でなんとかならんもんかと妄想してみる俺・・・
0116名無しサソ
01/11/22 09:32ID:???SphereMapを使うと良いとは思うけど、光学迷彩はそこまでしなく
ても良いんじゃないかな。透過する背景が遠方にあると仮定して、
屈折した先の光線の角度を視野角内に何とかして収めれば、
フレームバッファをそのままテクスチャに使えると思う。多分(適当)。
厳密にやるならPixelShaderとかの出番だね。真面目にやるか
汎用性・高速性を取るか。PSのMGSでもそれなりに見えるから、
自分は後者で良いかな。
0117名無しサソ
01/11/22 09:38ID:???>95
SphereMapは球の表面に映り込む風景だから、単純に
視野角を狭めるだけではおかしくなると思う。>96のはその通り。
これはCubeMapも一緒だね。解説は>97にも紹介されている
けど、bio100%の3DFollowsBBSにその話題が出ているから、
リンクを辿ってみて。ちなみに、自分が話しているのは>97の
ようなCubeMapからSphereMapを作るの方法ではなくて、直接
ShereMapを描画する方法。
>99
当たり前の話だけど、人間の目って動く物体の映り込みの
中身まで、そんなに見ていないよ。と言うわけで、ローポリで
十分だし、実際にもそうされていると思う。GT3でもよく見ると
案外省略されまくってるし。ただ、動的か否かはやっぱり違うね。
0118名無しさん@お腹いっぱい。
01/11/22 10:03ID:???0119名無しさん@お腹いっぱい。
01/11/22 10:08ID:???その形をレンズに置き換えて見ると向こう側の絵は
虫眼鏡のように拡大されるはずじゃないですか。
それが環境マップのように縮小されて張られているけど
おかしくない?
0120115=106
01/11/22 11:58ID:???D3DTSS_TCI_CAMERASPACENORMAL
じゃなくて
D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR
だった。
・・・つってもただの妄想なんでいちいち訂正せんでもいいが。
0121名無しさん@お腹いっぱい。
01/11/22 13:44ID:/aoY3CGVIF氏って誰?
0122名無しさん@お腹いっぱい。
01/11/22 13:57ID:???http://www5.tok2.com/home/IF/index.html
0123名無しさん@お腹いっぱい。
01/11/22 14:13ID:3nhjK6ydThanks。解説が詳細でイイ!
0124名無しさん@お腹いっぱい。
01/11/22 21:32ID:hpjXjtgw>屈折した先の光線の角度を視野角内に何とかして収めれば、
>フレームバッファをそのままテクスチャに使えると思う。多分(適当)。
その計算式が解るなら苦労しないんだけど。
いまいち根拠にとぼしいから試す時間を裂けん。
もしかして成功例とかある?
>>120
>D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR
試してみたが屈折というより反射に見えるじゃないか。
その妄想完成させてくれよ。
0125名無しサソ
01/11/22 21:58ID:???申し訳ない。こちらも時間が割けないのは同じでね(苦笑)
光学迷彩は上に書いてあるようにBBXの少し前のログに
残ってるよ。11月3日の書き込み。そこから実践している
ページもリンクされているので辿ると良いよ。個人的には、
あんまりここで直接リンクを張りたくないんだけど、良いのかなぁ。
自分はちょっと嫌な物で。
0126名前は開発中のものです。
01/11/23 00:04ID:???それなら、JAVA、3Dあたりの用語でわかる人はわかるかと。
0127124
01/11/23 01:12ID:???>光学迷彩は上に書いてあるようにBBXの少し前のログに
>残ってるよ。11月3日の書き込み。そこから実践している
>ページもリンクされているので辿ると良いよ。個人的には、
さんきゅ〜。確かに実践してるんで参考になるよ。
やっぱ実際に見ると感動があるね〜。
あれなら時間裂いて試す価値あり。
ただ120の言ってる環境マップを利用した方法も
可能じゃないのかなぁと期待はしてたりする。
あとバンプ利用するとピクセル単位で屈折を
表現出来そうで面白そうだなぁ。
0128名前は開発中のものです。
01/11/23 05:39ID:???0129120
01/11/24 08:33ID:???そうですか、反射に見えますか・・・なるほろ。今後の参考にします(^^
#って、自分の妄想の実験を人任せにする奴
0130名前は開発中のものです。
01/11/27 17:11ID:???0131名前は開発中のものです。
01/11/28 15:08ID:???実際にゲームで使われてるのかなぁ?
このゲームは凄いよみたいな情報キボンヌ
0132名前は開発中のものです。
01/11/28 17:21ID:???某箱用のゲームで使われていくハズ。
0133名前は開発中のものです。
01/11/29 01:06ID:???どっちが高速に処理できるんだろ?
つーか動的環境マップで一番実用的なのはどれ?
0134名無しサソ
01/11/29 10:40ID:???だとセルシェード系はこれを使っているのでは?他に高速で実現出来る
方法を知らないだけかも知れないけど。
>133
現状ではCubeMap以外選択肢がないかも。GeForce/Radeonが
それなりに普及していて、でもShaderがそれ程普及していない現在だと。
自分はSphere派だけど、あまり未来はないと感じてるよ(苦笑)
0135名前は開発中のものです。
01/11/29 13:46ID:???もちろんTnLHALで可能。詳しくはHeidrichのオッサンの論文でも読んで。
動的生成の場合のネックは座標変換とZテストかな。
1枚のテクスチャがカバーする視野が180度なおかげでクリッピングが簡単だから、
描画負荷はSphereとそう変わらないレベルになりそう。テクスチャは2枚だと
RenderTargetの切り換えで遅くなりそうだから、1枚のテクスチャをViewPortで
分けて使うのがいいかと。
>>134
半球ライティングとテクスチャは関係ないよ。
テクスチャを併用するとShaderでは内積を1回計算するだけで済むから、近似
としてテクスチャが使われることはあるけど。ただ、テクスチャを使ったシェー
ディングはテクスチャのサイズをかなり大きくしないとマッハバンドが目立つ
のが欠点。
0136名前は開発中のものです。
01/11/29 14:32ID:???座標変換は具体的にどうやるんですか?
0137名無しサソ
01/11/29 14:47ID:???いや、現状でテクスチャ以外で実装している人は居るのかな、と。
・・・・・良く考えればShaderが使えるよの中だから、居そうだね(自滅)
マッハバンドは嫌な欠点だね。使いどころを考えないと。
0138名前は開発中のものです。
01/11/29 23:04ID:???0139名前は開発中のものです。
01/11/30 01:05ID:poVUBJ45おれもDual Paraboloidは全然理解してないけど
頂点の座標変換ならココで説明してる気がする。
http://www.opengl.org/developers/code/sig99/advanced99/notes/node185.html
このページの説明を実践すれば欲しいテクスチャが2枚生成されるって
事でよいかな?試した人いる?
0140名前は開発中のものです。
01/11/30 01:47ID:???誰か試した?
0141135
01/11/30 03:06ID:???Dual ParaboloidはD3DTSS_TCI_CAMERASPACEREFLECTIONVECTORを使うわけだけど
D3DTSS_TCI_CAMERASPACEREFLECTIONVECTORで自動的に計算されるベクトルと、
環境マップされる物体から環境までのベクトルとの関係を考えれば簡単に分かると
思いますよ。
# ズバり答えを書いてもいいけど、図でも描いて自分で考えてみてください :-)
# これって出し惜しみ?
SphereMapの場合は、ハーフベクトルを求める必要があるんですよね?>やった人
そのコストを考えると、Dual Paraboloidでも座標変換のコストはほとんど変わら
ないと思います。
0142名前は開発中のものです。
01/11/30 07:52ID:???DirectXでトゥイーニングを使った 人物のアニメーションを自前でつくろうとしているんですが、
メタセコイア を使って同じ頂点数で ポーズの違うXファイルを2つ用意して、時間によって頂点座標を
線形補完させるというやりかたをしようと思ったんですが、
モデリングした2つのXファイルの頂点情報の並び方が違ってしまいます。
座標を変えても同じ頂点情報の並びになるようなモデリングソフトを誰か知りませんか?
0143136
01/11/30 12:57ID:???いや、なんか基本的なことが解かってないんで申し訳ないです・・・
Dual〜とかsphere用のテクスチャを作成する際に
テクスチャに対してレンダリングしますよね。
その時に座標変換用のマトリックスを作成して透視変換をかけると
思うんですが、これって通常のプロジェクションマトリックスの替りに
環境マップ用のものにすれば良いということですか?
なんか、レベル低くて申し訳ないっす・・・鬱氏
0144名前は開発中のものです。
01/11/30 14:54ID:???2パターン作ればすむ話では?
0145名前は開発中のものです。
01/11/30 21:09ID:poVUBJ45市販の3Dソフトならだいたい出来ると思うけど。
使った事ないけどフリーならMikotoってのもあるが。
http://www2.nbn.ne.jp/~you-ri/cgi-bin/?11271800
http://niigata.cool.ne.jp/cyphers/tuft/miko/
それより頂点列の並びが変わるってのは元データを
少しいじってXファイルにしても元データと並びが
変わってるの?普通あまりありえんと思うけど。
0146名無しサソ
01/11/30 21:35ID:???案外こういう事している人達って多くはないのかな?
>141
ハーフベクトルという言葉の詳しい定義は知りませんが、
全天球の空間を半球の空間に変換する計算の事でしょうか?
多分それ程負荷は変わらないかと。クリッピングを除けば。
しかし、どうも知っている人のような・・・(笑)
>142
そう言う物なの?>144の話している通りでは駄目なのかなぁ。
マテリアルとかを変更していると変になりそうだけど。元が同じ
モデルで頂点座標だけ移動させる限りは大丈夫のような。
0147名前は開発中のものです。
01/11/30 21:45ID:???入らないポリゴンはクリッピングで省くんですか?
でもそれを判定するには座標変換しないとわからない
と思うから結局半球への変換は背景モデルを2回
座標変換するって事?
もしそうだとスフィアの2倍変換が必要になるけど。
0148名前は開発中のものです。
01/11/30 22:37ID:???出し惜しみしないで質問しまくると厨房と呼ばれてしまう罠(鬱)
しかも、某BB※とか野朗BBSでも同じく教えて君な俺…
#いや、低レベルな質問には答えるようにしてますってば。(←それしか答えられない)
■ このスレッドは過去ログ倉庫に格納されています