HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0520
デシャHGIMG3 <処理軽量化> 画面に映らない部分のポリゴンは計算されている?2解決


デシャ

リンク

2006/5/20(Sat) 17:35:24|NO.799

3Dプログラムの基本的な知識だと思うのですが、
わからないので教えてください。

例えば、1000ポリゴンで作った人物のモデルを3D画面に登場させて、
それを、
「カメラで正面から全身をみたとき」や
「上半身正面だけをフォーカスして画面全体に表示させたとき」
に、そのとき画面に映っていない部分のポリゴンは計算されていないのでしょうか?

多分、想像するに計算されていないと思うのですが、
計算しないためには、その部分が画面に映っているかどうかを
判定してやる必要もありそうで、
もし徹底した処理の軽減化をするなら、
その際、元のモデルから後ろ半身や下半身を削除したポリゴンモデル
を使用したほうがよいのでしょうか?



この記事に返信する


Drip

リンク

2006/5/20(Sat) 21:12:55|NO.803

Dripです。

 デシャさん、こんにちは。hgimg3では、画面に映らないポリゴンも計算されています。
(当たり前ですが、「映らない」という判定をしていないと映る物体もわかりません。)
ただ、OBJ_HIDEを適用すればオブジェクトを幽霊状態(理論上存在はしているが、見かけ上は
存在していない状態)にすることはできます。(selefxで100%透過するのとも別の扱いです。)
しかし、私もかなりのポリゴン数の物体を表示していますがポリゴンはDirectX側で高速に処理して
くれているのであまり気になっていません。
(‥というか問題は描画モードや距離なのですが‥極端に速度変わります;;)
(ドラクエ8のようなマップを考えている場合は話は別です。
 自分なりに高速に処理されるアルゴリズムを工夫するしかありません。)

 インタプリタ言語では、ポリゴンが画面に表示されてるか否かのチェックも重くなりがちなので、
どのレベルまでチェックして反映するのが一番高速かは、試行錯誤の繰り返しをするしかありません。

 処理速度のチェックに関しては自分でベンチマークを作って調べてみるのが
一番だと思います。それが無理でも、画面外に大量のオブジェクトを表示してタスクマネージャで
CPUをチェックする等でも調べられます。がんばってください。



デシャ

リンク

2006/5/24(Wed) 05:57:21|NO.841

>Drip さん

負荷のチェックの仕方まで説明してくださってありがとうございます。

自分は比較的新しいマシンで開発しているので、すこし古いスペックのユーザーのことが
気になりました。また自分が用意したモデルはムダにポリゴンが多くて
(髪の毛のポリゴンが内側まで作られていたり、
見えないトコロまで面単位でテクスチャを貼ってしまっていたり。しかも透過)

まあとりあえず作れるだけ進めてみます。


OBJ_HIDEを使うか、カメラ外のオブジェを判定して毎回削除して登録しなおすか、
必要に応じて使い分けてみます。



ONION software Copyright 1997-2018(c) All rights reserved.