[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 12/11 13:08 / Filesize : 154 KB / Number-of Response : 657
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

3Dグラフィックスプログラミング



1 名前:デフォルトの名無しさん [2006/08/10(木) 04:50:09 ]
DirectXやOpenGL、あるいは言語などにとらわれず、
純粋に3Dグラフィックスのプログラミング技術(アルゴリズムや数学など)
について語るスレです。


313 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 21:57:13 ]
俺、マップ(シーン?ワンフレではない)で共通のキューブマップしか
使ったことねぇからさっぱりわからないや

拡大具合によっちゃワンフレ更新も意味あるけど、
そんなオブジェクトが3体も入るようなカメラでオブジェクトごとのキューブマップなんているのか?
かなーり近づいてキャラの表情が物体に映りこむぐらいしないと演出としてあんま意味無い希ガス

314 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 22:34:29 ]
>309
参考までにその完璧な屈折エフェクトを見てみたい

315 名前:デフォルトの名無しさん [2007/08/14(火) 22:44:26 ]
あれは疑似屈折だぞ。

316 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 22:51:40 ]
つーことはバックバッファをとってきてテキトーにずらして描画するタイプ?

317 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 22:52:48 ]
>>316
www.4gamer.net/news.php?url=/specials/3de/hl2/hl2_01.shtml

318 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 22:54:16 ]
まちがった
そのページから「次へ」を押してくれ。

319 名前:デフォルトの名無しさん [2007/08/14(火) 22:59:21 ]
>>301
GISで多角形で構成される地物を一つの地物に変換したいです。
面の中が空の物は作る必要はありません。

二つの面から外周頂点を求めるアルゴリズムが知りたいです。


320 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 23:04:32 ]
レースゲームのボディの映り込み用のキューブマップとかって
毎フレーム更新してたりするの?

321 名前:309 [2007/08/14(火) 23:50:01 ]
>>310
キューブマップは6面あるので
6回描画しなければいけません。

>>311
それはすぐに出来そうな方法なので
試してみます。

>>313
凄く近いオブジェクトは動的キューブマップ
それ以外のオブジェクトはシーン共通の静的キューブマップ
こんな形で使い分ける感じでしょうか。

>>314-316
アービターの異端者制圧のステージで
味方のキャラが光学迷彩をした際、
背後の死体もちゃんと透けていたんで
まじめに処理しているのかなと思ったんですが
擬似なんですかね・・確かに反射を含まない屈折だけなら
その方法でいい感じにいけそうな気がします。



322 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 00:07:02 ]
そうだよな?
俺、3Dのゲーム組むようになってから最適化したことねーしw
ストリップ化だってやったことねぇw
最適化するぐらいならポリ数と塗り面積落とすわw
だって見た目全然かわんねーもん

323 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 07:18:17 ]
>>332


324 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 07:57:22 ]
>>323
将来のレス番がどうした。

325 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:10:37 ]
NURBS曲線・曲面を扱いたいのですが、ライブラリとかないでしょうか?
2Dのみでもかまいません。

326 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 11:11:09 ]
>>325
Parasolid

327 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 23:36:48 ]
>>325
glut

328 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 23:38:13 ]
ごめんgluだった

329 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 10:56:34 ]
325です。
表示にはgluをつかう予定ですが、表示しかできません。。。
途中の点の座標とか面の向きを知りたいのですが。
Cから使いたいのですが、DLLとかになっているものでも
かまいません。よろしくおねがいします。

330 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 11:00:54 ]
>>329
GLU 1.2

331 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 11:42:36 ]
調べたところ、gluNurbsCallback等がありました。
ありがとうございます。

たとえば、Nurbs面と交わるz平面の交線を抽出する
ことなどは可能でしょうか。



332 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 12:08:37 ]
無理

333 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 19:33:03 ]
Parasolidカーネルってどこで買える?

334 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 20:25:15 ]
そしてハウマッチ?

335 名前:デフォルトの名無しさん [2007/08/21(火) 23:30:25 ]
質問です.

3D プログラミングに興味を持って,「リアルタイムレンダリング」を読んでい
るのですがクォータニオンが良くわかりません.具体的には,42 ページで脱落
しました.

こんな人間がクォータニオンを理解するのによい書籍等はないでしょうか?

336 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 23:42:07 ]
>>335
クォータニオンを使いたいだけだったら理解する必要は無いと思うよ。
解説なんか見ないでソースコードを読んだ方が納得出来るんじゃないかな。

ttp://gamdev.org/w/?QuaternionPowers
ttp://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20040321
ttp://homepage1.nifty.com/seagull/math3d.html
ttp://staff.aist.go.jp/toru-nakata/quaternion.html
ttp://tpot.jpn.ph/t-pot/program/35_quaternion/quaternion.html

337 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 01:00:24 ]
>>336
有り難うございます.

教えていただいた中では,
tpot.jpn.ph/t-pot/program/35_quaternion/quaternion.html
が非常にわかりやすく良く理解できました!

338 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 22:04:20 ]
ttp://lucille.sourceforge.net/blog/archives/000300.html
やってみたいんですが何をやっているのかさっぱり分かりません。
ググってもほとんど情報が無いし・・

339 名前:338 mailto:sage [2007/08/24(金) 22:15:48 ]
とりあえず、表示に必要な前計算をやりたいです

340 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 22:30:25 ]
がんばって!

341 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 22:53:44 ]
3ページ目
We define a combined transport function for the k-th BRDF
term as:

Tk(x,ωi) = gk(ωi)V(x,ωi) (ωi・n(x))
xはサーフェイス上の位置
ωiは入射光の角度
Vは遮蔽項
nはxでの法線

これでtransport matrixが計算できるんでしょうか?
でもKとかBRDF termとかview map とか light mapとかわからない・・
8ページ目で、Kが上がれば上がる程レンダリング結果がよくなっていますが。



342 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 22:56:33 ]
くっ・・俺はこの論文を、ただ眺めていることしか出来ないのか?
こんな事じゃ、いつまで経っても実装に移れないというのに!

343 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 23:06:23 ]
KはBRDF関数をSVDで分解して近似したときの項数だろ

344 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 21:20:57 ]
そうなんだ

345 名前:338 mailto:sage [2007/08/27(月) 23:34:42 ]
同じ人が「All-Frequency Interactive Relighting of Translucent Objects
with Single and Multiple Scattering
」を・・

しかし、これもやっぱり分からないことには変わりありません。

346 名前:デフォルトの名無しさん [2007/09/01(土) 14:33:28 ]
>>345
英語だめすぎておれもわからん。

ひそかに、そのへんを解説してそうな、オーム社からでるCG MAGICに期待している。

347 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 17:57:28 ]
SVDとかWaveletは数値計算ライブラリを使って計算するつもりです。
ライセンスがGPLなのが気になりますが。GPLよくわかんないので。

348 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 19:26:40 ]
分解する前に、BRDFをどうやって用意するのか・・

349 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 19:44:58 ]
>>348
論文ではAshikhmin-ShirleyやLafortuneのモデルを使ってますよ☆

350 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 19:54:56 ]
ttp://www.cs.utah.edu/~shirley/papers/jgtbrdf.pdf
これすか

ttp://www.gnu.org/software/gsl/manual/html_node/Singular-Value-Decomposition.html
この関数にどんな形で渡すんでしょうか?

351 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 19:59:15 ]
このままじゃ挫折します HELP ME!



352 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 20:05:03 ]
>>350
どんな行列を分解するかなんて論文見渡せば10秒で見つかるだろカス

353 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 20:05:52 ]
ttp://www.tmps.org/index.php?GSL%A5%D9%A5%AF%A5%C8%A5%EB%A1%A4%B9%D4%CE%F3%A5%AF%A5%E9%A5%B9%A4%CE%BA%EE%C0%AE

によると、
>gsl_linalg_SV_decomp関数は,m行n列(m<n)の行列Aの特異値分解を計算します.引数Aは計算結果の行列Uで上書きされ,ベクトルsは対角行列Sの対角成分を格納します.また,workはn次元の作業用ベクトル領域です.
日本語でも何が書いてあるのかワカンネ

354 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 20:34:27 ]
>>338を読むための前提知識が足りなすぎる
線形代数からやりなおせ

355 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 20:53:50 ]
ttp://ja.wikipedia.org/wiki/%E7%B7%9A%E5%BD%A2%E4%BB%A3%E6%95%B0
無理です。やり直すどころかやってもいない
詳しい理論が分からなくても実装方法だけ分かればいいやと
思っていましたがやっぱりそうも行かないですね。

To construct the BRDF matrix, we sample both incident and
view directions on a unit disk embedded in a 2D texture
map of 48x48 resolution. The memory required to store
the tabulated BRDF is approximately 37.5 MB.

incident and view directions→incidence and view directions→入射光と視点の角度?

BRDF分解できないと先に進めない・・

356 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 21:46:47 ]
おまえは英語も駄目だな

357 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 15:52:03 ]
分かるかこんなの!

358 名前:デフォルトの名無しさん [2007/09/03(月) 10:38:15 ]
>>352>>356

アドバイスできないなら、ひっこんでろカス
傍で見ていても不快になる

359 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 14:08:40 ]
すみませんでした

360 名前:デフォルトの名無しさん [2007/09/10(月) 22:02:51 ]
(´・ω・`) ショボーン

361 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 12:19:31 ]
スクリーン座標→ワールド座標の変換をする関数を作りたいのですが(D3DXVec3Unprojectみたいな)、

これどういう風に計算するんですか?教えてください
もしくはどこか参考になるサイトがあれば。逆の場合なら解説しているサイトはたくさん見つかるんですけど…




362 名前:デフォルトの名無しさん [2007/09/12(水) 12:20:28 ]
 

363 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 12:32:38 ]
投影行列の逆行列を求めて、座標を表すベクトルを掛ける。

364 名前:デフォルトの名無しさん [2007/09/12(水) 12:45:08 ]
>>363
ありがとうございます


365 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 13:40:51 ]
>>358

アドバイスできないなら、ひっこんでろカス
傍で見ていても不快になる殺すぞ!!

366 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 18:26:53 ]
   ∧_∧  / ̄ ̄ ̄ ̄
  ( ・∀・) < PRT!!!
⊂/  9)  \____
q(   /
  >  >

367 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 23:39:40 ]
3Dアクションの当り判定って一般的にはどうやってとってるの?
進行方向ベクトルのさす1点がポリゴンに交差しているかだけを
見ると、曲がり角に肩をぶつけるような状況の時に抜けちゃうと
思うんだよね。進行方向から扇状に何点か見る感じですか?

368 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 23:51:19 ]
モデルを構成する全ポリゴンと交差判定すればいい

369 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 23:56:19 ]
それ重杉でしょ…。

370 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 00:12:18 ]
当たり判定用のモデルを用意したら良いんじゃないの。単純なフォルムの奴を。

371 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 00:45:18 ]
ポリゴン同士の交差判定は出来ればしたくないなぁ。
「辺の数」+「辺の数」x「線分とポリゴンの交差判定」を
「モデル1のポリゴン数」x「モデル2のポリゴン数」
やるわけでしょ?重いなぁ。



372 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 00:46:16 ]
こまかいけど、
「辺の数+辺の数」x「線分とポリゴンの交差判定」ね。

373 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 07:42:12 ]
単純図形でとる

374 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 08:02:19 ]
単純図形で取ってもさ、早く移動する物体だと検出すりぬけちゃうでしょ
みんなどうやってるんだろう

375 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 08:50:55 ]
もまいらおはようさん。
この話ってキャラとBGの当りのことだよね?確かに一般的な
方法論があるか気になる。やったこと無いけど、円(球)とモデルの
当り判定は軽く正確に取れないのだろうか。

376 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 21:54:36 ]
素人考えの疑問への答えならこの本に大体載ってるだろう
ttp://www.borndigital.co.jp/book/program/4-939007-91-X/4-939007-91-X.html

377 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 22:50:28 ]
>>376
ゴメン、どの辺が素人考えなの?その当り、素人で無い人は
どんな感じでやってるの?

378 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 23:39:21 ]
素人じゃない人は>>376に載ってるような方法(or さらに発展したもの)をやってると思う。
衝突判定とか詳しく勉強したいなら買っておいて損はない。

おおざっぱに説明すると
1, キャラの境界箱みたいのをあらかじめ作る。
2 空間を分割
3 各分割した空間にどんなキャラがいるか調べる。
4 キャラと衝突するのは同じ空間または隣接する空間にいるキャラだ
5 4で衝突する可能性のあるキャラ同士を集め、1で求めた境界箱の衝突チェック
5 境界箱が衝突したらもうちょい細かいモデルで衝突チェック

詳しく知りたい人は BVH(bounding volume hierarchy),
BSP treeとかググればいいかも

379 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 00:13:50 ]
>>378
境界球とかBoxで処理切るのとか、視推台との位置関係で
表示に関係無いモデルの座標変換を省いたりっていうやつは、
今の話題ではないと思うんだよね。>>367は、背景とキャラクタの
厳密で高速なあたりの取り方を聞いてるんじゃないの?

頂点を減らした簡素な背景の当りモデルを一定の区間で分割して、
>>378が言うように自分が存在する周辺27(XZで済む場合は9かな)
区間に対応した当りモデルに対して、キャラが持つ簡素な当り
モデルに対するポリゴン交差判定を実行するってのが結局一番良い
のかね?これならBGを切る区間の幅がキャラのスフィア半径を
超えない限りは大丈夫そうな感じはするけど。
でも、これって理論は簡単だけど、データ管理とか、ソースの
可読性の面で、相当なデメリットを被るから、もっと簡単なやり方を
皆やってるのではないかと思って漏れも聞きたいのだけど。

380 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 01:39:55 ]
領域が重複するように区切ると、1区画だけで済むよ。

381 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 08:52:30 ]
でかい1区画も小さい27区画もあまり変わらなくない?



382 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 10:18:39 ]
全然違うよ。

区画を拡張するサイズは、判定に使うのが球なら半径の分。
(隣接した区画が半径分ずつ広がるから、直径分重複する)

1区画の大きさが100*100*100のサイズだとして、全方向に4だけ拡張すると
1.26倍の体積になる。これで、半径4以下のサイズなら漏れ無く判定できる。
この方法は、特に八分木と相性がいい。

それと、1区画が必要以上に小さくなければ27区画も判定する必要もなく、
一番近い8区画で十分。

383 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 10:43:01 ]
>>382
丁寧にありがとう。なるほど、結構効率が違いそうだね。
どうしても、ある区画と、その隣の区画には、同じポリゴンが
存在することになってしまうと思うから、最大の速度効率で
考えると、キャラ半径分で区画を細切れにして、各区画に
割り当てるデータは、中心を含めた周囲27区画(9区画なのかな?)の
広さをカバーしたものにする、っていうのが最も早そうだね。
区画を細かくすればするほど、速度は上がるが、メモリ消費は
大きくなるって感じかね。

ところで、27区画っていうのは中心を含めた3x3x3の区間で、
ルービックキューブのような状態なんだけど、
8区画っていうのは3D?それともXZ平面上での話?

384 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 12:15:46 ]
>割り当てるデータは、中心を含めた周囲27区画(9区画なのかな?)の
>広さをカバーしたものにする
正確には中心の区画+半径分の広さをカバーする
ですね。

385 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 16:32:27 ]
>>383
8区画ってのは、重複領域がない場合に検査する必要のあるサイズ。
球の直径より小さいと27区画(3*3*3)のチェックが必要だが、直径より
大きければ8区画(2*2*2)でいい。

それと、重複領域がない場合は、通常は地形のポリゴンは隣接する
複数の区画を貫いているから、周囲の区画もチェックするというのは
実際には同じポリゴンに対する判定ばかりで無駄が多い。

386 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 16:54:06 ]
なるほど〜。よくわかったです。
けど、高速の時でも抜けないように判定する方法はあるの?
進行方向に対してなるべく沢山レイを飛ばすしかないのかな?

387 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 17:11:37 ]
元の質問(>>367,374)は速い移動で抜けてしまうという話だったか。

基本的には、肩がこする程度の抜けは無視するものだと思う。
常識的な速さでfpsが極端に低くなければ、移動先で球なり円柱で判定を
取るだけで、荒が目立つほどでもないかと。
そもそも、判定用の図形は実際のキャラクタと厳密に同じ大きさではないから
それの端が多少めり込んだところで問題ないかと。

ただ、移動前-後の座標で直線を作って、その直線×地形の判定は
入れておいた方がいい。
3D格闘ゲームでは点と点を繋いだ直線ではなく、球と球をつないで
ソーセージ型で判定していたりするが、一般のゲームでそこまでしても
コストに見合うほどの効果はないと思う。

388 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 19:21:02 ]
>>387
元の367です。色々なアドバイス有難うございました。
結論としては、キャラの1フレームの移動量を抑えて、
@キャラの簡単なモデルA球や円柱B箱 などで、
移動先の地形と判定を取る。
っていうのが一般のゲームでは基本的な方法という
ことですね。
他にもBGを区分けする方法など、とても参考に
なりました。有難うございました!

389 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 21:25:53 ]
ソーセージは初めて聞いた。
カプセルと表現することが多いように思うけどな。

壁に向かって斜めに動く時に、カプセルでやるほうが綺麗に押し戻せるので、コストに見合う効果があると思う。壁でクラッシュするならいいけど。

390 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 23:11:17 ]
カプセルで当り取るヒントキボン

391 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 23:21:34 ]
球+円柱+球



392 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 23:26:15 ]
速度ベクトルと半径(というか形状のベクトル)じゃないの
こっちにその理論がのってるお
ttp://www.gogo3d.com/products/mathema/index.html
そのまま実装すると重いから手抜きしたり工夫したりしないとだめだが

393 名前:デフォルトの名無しさん [2007/11/03(土) 10:49:50 ]
CPUでOpenGLをエミュレートするプログラムを書きたいのですが
何を参考にすればいいですか?
本かソースを紹介してください


394 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 10:50:36 ]
mesaしか知らない。

395 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 11:04:57 ]
何をやりたいかにも依るけど、TinyGL は小さくてお勧め
OpenGL|ES でよければ Vincent

396 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 19:06:43 ]
以前なんか実行ファイル形式のTIPS網羅したマガジンうpしてくれてたよね
誰か再うp or 続編があったらうpしてください

397 名前:393 mailto:sage [2007/11/04(日) 13:47:50 ]
>>394-395
ありがとう
Vincentで逝ってみるよ


398 名前:デフォルトの名無しさん mailto:age [2007/11/26(月) 12:31:19 ]
正八面体を描画するプログラミングを教えて!!!

399 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 12:55:05 ]
質問です

四次元立方体を描画する猿を探せ


400 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 14:21:25 ]
lib3dsを使って3dsファイルを読み込んで描画したいのだけど、具体的にどうすりゃいい?
lib3ds_file_loadでファイル読み込めてると思ってるのだが、正しいのか?

401 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 14:26:31 ]
>>400
読めただけでは描画はされません。描画してください。



402 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 14:44:26 ]
具体的にはlib3dsのサンプルみりゃいいんじゃなかろうか

403 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 16:11:56 ]
>>398
ラミエル萌え

404 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 20:02:55 ]
現在特定用途用にレイトレレンダラを組もうと考えているのですが、
1〜20数四角ポリゴンでテクスチャ、透明度を使用し、影や光源を考えない場合、どのような最適化方法
を適用するのがいいでしょうか?目標としては、テクスチャなしの640x480で15fpsくらいを出せるようにはしたいです。
バウンディングボリュームは当たり前として、空間分割もやった方がいいのでしょうか?

405 名前:404 [2007/12/31(月) 00:01:19 ]
ちょっと上げさせてもらいます。

406 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 19:49:07 ]
>>404
"光源を考えない"の意味が分からない。
どんなに反射屈折しても光源にたどり着かないなら真っ黒な画像になると思うのだけれども。
多分、ポリゴン色とでもいうべきものを採用という意味なのだろうと思う。
そうだとすると、Z ソートしてポリゴンをラスタライズするのでは何がいけないのかが分からない。

空間分割は、その程度の対象個数だと、実行パスが複雑になることの弊害が多すぎるように思うけど、データにもよるし、結局のところやってみないと分からない。
これもやってみないと分からないのだが、SIMD 演算機があるなら、対象ポリゴンを32個固定にしてアンロールしたヒットチェックを作ったほうが速いかもしれない(その個数ならね)。

ところで今どのくらいの fps がでてるの?

407 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 05:19:16 ]
3Dモデルを出力するツールの作成を検討しています。
出力フォーマットは、汎用性を考えてFBX形式で出力を考えているんですが、
目だった問題点とかあるでしょうか?
フォーマット仕様を読む限りではあまり無さそうな印象ですが。

408 名前:404 [2008/01/02(水) 13:36:42 ]
>>406
遅れてしまってすいません。

光源を考えないというのはポリゴン色を使うということであってます。
ただ、ポリゴンに透明度を適用し、ポリゴン同士の前後関係を正しく
表示したいため、OpenGLなどを使うことはできません。
また、オフスクリーンでレンダリングする必要があるので、
ハードウェアの恩恵を受けることができず、ポリゴンを細分化
するとOpenGLではとても重いので・・・

まだ設計の段階で実際に組んだわけではないのでfpsが
どれくらいでるかわかりませんが、とりあえずバウンディングボリューム
のみでやってみます。
ありがとうございました。

409 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 21:32:32 ]
OpenGLでもオフスクリーンレンダリングできるし、
ハードウェアの恩恵も得られるでしょ。
半透明ポリゴンの正確な描画も一手間かかるだけで問題ない。

410 名前:404 mailto:sage [2008/01/02(水) 22:39:08 ]
>>409
この前OpenGLでオフスクリーンレンダリングすると
どうやってもソフトウェアレンダリングになってしまって重くて
使い物にならなかったのですが・・・
一応GeForce7600GSを積んでるのでハード的には問題ない
はずですが、なぜでしょう?

411 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 23:59:11 ]
具体的ななコードをだせ



412 名前:404 mailto:sage [2008/01/03(木) 01:57:51 ]
>>411
今手元にコードはないのですが、処理の流れは

1.32bitRGBのHBITMAPを作成
2.それを元にデプスバッファ32bitのレンダリングコンテキストを作成
3.テクスチャ、アルファ、デプステストを有効に
4.512x512未満のテクスチャを作成
5.レンダリング

という流れですが、この方法だとハードは使用されないようです。

413 名前:404 [2008/01/03(木) 02:00:12 ]
>>412
この方法というのは、HBITMAPを使用したオフスクリーンレンダリング
のことです。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<154KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef