3Dエンジンの技術について語ろう
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
02/06/07 10:46ID:VX129WA.3Dエンジンをつくる上での質問も可
3D Engines List
http://cg.cs.tu-berlin.de/~ki/engines.html
0026名前は開発中のものです。
02/06/09 06:31ID:???同意。
何も考えずに最高のパフォーマンスの出るライブラリなんて存在しない。
アーキテクチャを知らない奴は何がボトルネックになるかわからないから、
とんでもない使い方をするよね。
よく出来たライブラリであればあるほど無理な使い方でもなんとかしちゃうから
結果として非常にパフォーマンスの悪いものが作られてしまう。
例えばαチャンネル付きのテクスチャを何も考えずに描画できたとしても、
内部ではリストに繋いでソートして最後に描画しているなんてことを知らないから、
何も考えずにαチャンネル付けて描画しちゃう。
少し知識のある人なら、
αチャンネル付きのオブジェクト描画は最小限にし、できるなら加算で代用する。
スワップが起こらないように、すべてのテクスチャがキャッシュに載る大きさにする。
不透明と半透明オブジェクトは分離し、半透明は最後にリクエストする。
視点の変化が少ないならプリソートして動的ソートは避ける。
とかいろいろ工夫するよね。
その結果としてパフォーマンスにとんでもない差がでてしまう。
002726
02/06/09 06:44ID:???これを見たアーキテクチャを知らない奴は、
「αチャンネルは遅い」としか捉えられないので、
今度は必要以上にαチャンネルを使わないようにしようと努力する。
丁度、仮想関数は遅いと言ってswitchで分岐している奴のように。
0028名前は開発中のものです。
02/06/09 06:49ID:???どーでもいいけど、そーゆー事を吸収してバカチョンでも扱える
ようになってるのが「エンジン」じゃないのん?オブジェクトの
ソーティングなんか意識するエンジンなんかわざわざ使いたくにゃーよ。
0030名前は開発中のものです。
02/06/09 07:16ID:???0031名前は開発中のものです。
02/06/09 07:26ID:???26の言ってる事ってさ、んー、97年とか98年の
ほんとに3Dゲームが出始めた頃に始めてやった奴が
苦しんだところだよね。
0032名前は開発中のものです。
02/06/09 08:00ID:???0033名前は開発中のものです。
02/06/09 08:13ID:???つーか初心者も初心者が
MSNのDirectXのFAQのページ見て
ハナクソほじりながらフーンとか言っちゃってる
レベルと思われ。
0034名前は開発中のものです。
02/06/09 08:56ID:???0035名前は開発中のものです。
02/06/09 11:06ID:DlpweEuA003626
02/06/09 12:03ID:???Zバッファとαブレンドの問題なんて等に俺は知っている->レベルが低いという
短絡的な思考能力はどうにかした方がいいと思うよ。
俺が言っているのは、
「アーキテクチャを知らないと、重大なボトルネックを生む可能性がある」
ということであって、αブレンドの問題は本質ではなく、たんなるわかりやすい例に過ぎないんだが(藁
知っている例を上げると、レベルが低いと本質を見ず、
知らない例を上げると今度は高度すぎて理解できない。
厨相手に説明するのも大変だ(w
0037名前は開発中のものです。
02/06/09 12:34ID:???ほんとに高度なことも理解している奴なら>>26みたいにくどく語ったりしない。
0038名前は開発中のものです。
02/06/09 12:40ID:???内容には激しく同意しますが、板違いです。
マジレスは控えましょう。ネタで遊びましょう。
遺憾ですが、そういう板です。
0039名前は開発中のものです。
02/06/09 12:46ID:???26のレベルの低さは>>29のレスですべてを語っていると思うが。
004026
02/06/09 12:50ID:???高尚な抽象論に留めておけば有難がるわけですな(藁
例えば>>22さんは高度なことを理解していて、
俺は高度なことを理解できていないということですか?
0041名前は開発中のものです。
02/06/09 13:31ID:???最近は下支えとなるアーキテクチャを理解せずにプログラミングしても
それなりのアウトプットがあるからね。Java/VBなんかが筆頭かなあ。
ゲームプログラミングも、それで済ませられるなら済ませたほうがいい、
ということになるかもしれんよね。
たしかに、そういうライトユーザーがワンサカでてくれば、
開発者の全体のレベルはガンガン下がるわな。
でもさ、ここは技術について語るスレなんだよ。
使う側の態度や心得を語ったり、グチったりしてもしょうがないだろ。
まあ、ライトユーザーはすぐ馬脚を出すから(既に何脚か出てますが:藁)、
そんなときは彼らのレベルを引き上げるべく、
興味の湧く話題を振ってさしあげるのがよろしいかと思う。
0042名前は開発中のものです。
02/06/09 13:37ID:???やっぱ作る側の心理としては、使う側に余計な手間や頭を使わせず
なるだけ抽象化したいって思うもんじゃないのかなぁ。
3Dエンジンって、ただ作る手間を抑える為に存在するものなの?
0043名前は開発中のものです。
02/06/09 13:42ID:???A 作れる人がその手間を省くためのもの
B 抽象化しまくって、基礎知識さえあれば組めるようにしたもの
では大きく違うと思う。
新人君がAのタイプのを見ると面食らうのが普通。
Bは新人君でも使えるけど26が危惧するところの状況に陥りやすい。
0044名前は開発中のものです。
02/06/09 13:55ID:???「使用上の注意を守らずとも比較的安全なものから、正しく使わないと強い副作用を伴うものまである」
「使用上の注意が明示されていない場合、知識や経験に頼らなくてはならない場合がある」
みたいな話しじゃないのかな。
で、完全に抽象化され下位層を無視出来た方が嬉しいという理想と、とにかく基礎から全て学べやボケという理想、両極論がぶつかり合っている?
0045名前は開発中のものです。
02/06/09 13:58ID:???教育用には43でいうところのBのようなものが必要だろうし、
手間を省くにはAが便利だろう。
0046名前は開発中のものです。
02/06/09 14:08ID:???それは逆で、教育用にはまず低レベルから教えることが重要だと思います。
お手軽ライブラリで形だけ作らせるのはゲー専の授業と変わらないと思いますね。
まあ使い捨ての人材なら問題ないのですが。
0047名前は開発中のものです。
02/06/09 14:35ID:???実際になにをやっているかを知らないと使ってはいけないというのは大体同意なん
だけど、
>スワップが起こらないように、すべてのテクスチャがキャッシュに載る大きさにする。
>不透明と半透明オブジェクトは分離し、半透明は最後にリクエストする。
>視点の変化が少ないならプリソートして動的ソートは避ける。
人によって3Dエンジンの定義が違うだろうけど、これってまさに3Dエンジンが実装
すべき機能ではないの?結局の所はリソースを馬鹿みたいに使われればどっち
にしろ遅くなるけど、マテリアル関連の最適化みたいのはアプリが一々考えなくて
もいいんじゃないか俺はと考えているので。
あとはエンジン側に細かなプロファイル機能とドキュメントをつけておけば大体は
ボトルネックを考えられる手がかりにはなるんじゃない?
ところでPCのFPS以外で社外から導入したエンジンってどれくらい使われてるんだろ?
Renderwareとかを3Dエンジンの一種と考えても売れたゲームってGTA3くらいしか世間
のソフトでは思いい浮かばないんだけど…つーか、自社でしっかりしたゲームを作って
無い会社のエンジンってイマイチ信用できないなーって思うの俺だけ?
0048名前は開発中のものです。
02/06/09 14:43ID:YY34ESuUHavockはどうなん?
0049名前は開発中のものです。
02/06/09 15:38ID:???26の言っていることは初歩の初歩ですごいとか言うレベルじゃない(26本人はわからないが)
アレでレベルが高いと思える人は3Dゲーム作れるに至るまでにすごい苦労するでしょう。
0050名前は開発中のものです。
02/06/09 15:59ID:???確かにな。
3Dエンジンのインターフェイスなんて
アマプログラマーの俺には知る由もないが
>視点の変化が少ないならプリソートして動的ソートは避ける。
こんなディープな処理まで、ユーザーに許可してる、
ユーザーがするよう期待しているなんてちょっと考えられないな。
何でも出来るってのは聞えはいいが、
それだけ選択しなきゃならない項目が増えるってことだからな。
まあ、ソ−スの公開とこれとはまた別の問題であることを
あらかじめ断っておく。
0051名前は開発中のものです。
02/06/09 16:08ID:???アマプログラマとかって逃げに入ってる割に偉そうなのがなんとも。
3Dエンジンって言葉の定義が曖昧な以上、
どんなインターフェースであろうと間違っちゃいない、と
>>45辺りで指摘されてるのにまだ続けるのかね?
0052名前は開発中のものです。
02/06/09 16:16ID:???元にDirect3DやOpenGLがあって
金を貰ってライセンスするソフトである以上
それなりの水準ってものがあると思うんだが。
半透明ソートすらサポートしてなくていいの?
知らんけど。
0053名前は開発中のものです。
02/06/09 16:21ID:???>アマプログラマとかって逃げに入ってる割に偉そうなのがなんとも。
実際に商用のエンジンを見たことがないから、そう正直に言ってるだけだが。
君って>>41?
なんでそう攻撃的なん?
0054名前は開発中のものです。
02/06/09 16:34ID:???別に半透明ソートがライブラリレベルで必要無い、なんて誰も言ってない。
例えばソート方法は精度と速度・メモリ効率とのトレードオフなわけだし、
ソートの単位がマテリアルなのかポリなのかモデルなのかによっても実装が違ってくる。
いくつかの代表的なアルゴリズムは用意しそれをデフォとするが、いざとなれば
ユーザー側でいくらでもカスタマイズできるようにするって方が、
出来ないよりは良いとは「俺は」思う。
もちろん、そんなこと一切考えないでOKな(ただしパフォーマンスが多少なりとも劣る)
3Dエンジン、ってのもそれはそれで価値はある。
つまりは適材適所ってわけだ。
これくらい長く書かないと理解してくれないのか。
0055名前は開発中のものです。
02/06/09 16:37ID:???あれはサポートしてねーつうことだったのかな。
0056名前は開発中のものです。
02/06/09 16:38ID:???0057名前は開発中のものです。
02/06/09 17:01ID:oH4fBV4.俺も今、はじめてのハードで3Dエンジン作ってます。
ユーザーって、主にデザイナーの事ですよね?
シーンの構築ってほぼ自動にするし。
005847
02/06/09 17:45ID:???#ユーザーって書いたっけ?
絵描きさんもそうだけど、ゲームコード書いてくれるプログラマも使ってくれる
人と想定してるよ。
ソートに関してはなんというか…粒度の問題があるんでオブジェクト単位の
ソートに関してはベースクラスをユーザーが継承してアルゴリズムを変えられる
ようにしてるけど、ポリゴン単位とか、凸単位のストリップとか、より粒度の細かい
ソートは使うかどうかの指定しかしてないなぁ。逆にこの当たりのレベルになると
実装の良し悪しはあってもアプリによってカスタマイズしたくなるような方向性の
違いってあるのかを聞いてみたい。
0059名前は開発中のものです。
02/06/09 18:08ID:???俺の場合、αポリゴンは例外的に扱っているよ。
トライアングルリスト固定で、全部一枚のテクスチャにまとめてUVのみで指定。
ソートはVU0のマイクロコードで並列に廻している。
FFXみたいにカメラがある程度制限されている場合は
プリソートしてエッジアンチかけたりとかもいいかも。
006047
02/06/09 19:34ID:???まぁPS2では大体そんな感じになるだろうね…。他のソートスキームに関しても
まあ多分想像どおりの方法だよ。ただ、それはレンダラーレベルの話であって、
3Dエンジンを使用する側からはそういったことを意識しないですむような実装
にした方がいい気がする。まぁ、この辺の「カスタマイズの可能性を残しつつ
汎用的で高速に」といった矛盾とどこで折り合いをつけていくか、みたいな部分
が実装者によって考え方がまちまちで、面白いところではあるんだけど。
ちなみにシーンのカリングアルゴリズムについてはゲームに完全に依存するの
でここは抽象クラスと単純な視錐台カリングアルゴリズムを適用したサンプルし
か提供してなくって、あとはゲームにお任せすることにしてますがこの辺はどう
してます?
0061名前は開発中のものです。
02/06/09 20:02ID:???0062名前は開発中のものです。
02/06/09 22:43ID:6LWwWiAIことになるのかな?
まぁでも表示部分だけじゃなくて、当たり判定やモデルアニメーションなんかも
サポートしなきゃ意味ないよね。
0063名前は開発中のものです。
02/06/10 03:38ID:???0064名前は開発中のものです。
02/06/10 04:35ID:???それ以前にライブラリとエンジンの差もわかってないっぽい。
ざっと流して読んだ感じじゃ
・ハードのアーキテクチャも理解してない奴に3Dエンジン使う権利ナシ
・知識が無くても使えるのがエンジンじゃねーの?
の両者の戦いって感じだけどどう考えても後者のほうが正しいんじゃないの?
つまんねーハードの知識習得に費やす時間があるなら賢いAIでも作る事に時間
費やした方がポジティブだべ?
0065名前は開発中のものです。
02/06/10 09:14ID:???ほほぅ。
0066名前は開発中のものです。
02/06/10 09:24ID:???必死だな。(藁
0067名前は開発中のものです。
02/06/10 16:31ID:1dQb7mzQそれよりもエンジン情報の交換の場にした方が有益。
0068名前は開発中のものです。
02/06/10 18:28ID:???0069名前は開発中のものです。
02/06/10 21:39ID:???指し示す機能とは何がありますか?
0070名前は開発中のものです。
02/06/10 22:12ID:???0071名前は開発中のものです。
02/06/10 23:01ID:OLYHhar2そのエンジンがあれば市販級のゲームが作れるだけの機能は欲しいね。
ボーンアニメーションファイルをサポートしてなきゃウソだ。
0072名前は開発中のものです。
02/06/11 00:26ID:???0073名前は開発中のものです。
02/06/11 00:39ID:???すげーナッ!「ライブラリとエンジンの差」!!!
漏れの知らない間にどっかの権威ある団体か何かが決めたの!?!?!!??
しらんかったっっっ!!!浅学な漏れに御教授たのんますYOOOOOOOO!!
0074名前は開発中のものです。
02/06/11 01:09ID:???線引きはどこなんだ?
>64にまず語ってもらいたい。
0075名前は開発中のものです。
02/06/11 01:25ID:???これで売り物つくれそうと素人が思えるくらいのが猿人。
サンプルがくるくる回ったりするのがライブラリ。
作ってみるとなぜか動かないのが論文
0076名前は開発中のものです。
02/06/11 01:32ID:???やっぱ学生か。良かった。
0077名前は開発中のものです。
02/06/11 01:38ID:???0078名前は開発中のものです。
02/06/11 02:18ID:???タダで手に入るDirect3DやOpenGLに毛が生えただけのような
のはちょっと・・。
0079名前は開発中のものです。
02/06/11 10:48ID:???0080名前は開発中のものです。
02/06/11 12:39ID:???それだけじゃなくて、MS以外のテクニカルサポートがつくことも重要なんじゃないか?
低レベルAPI等の糞仕様を気にせずに書ける用になるからな。
えてして、日本じゃそれはテクニカルサポートではなく厨房サポートになりがちだが。
0081名前は開発中のものです。
02/06/11 16:38ID:???糞仕様とか言っている時点で厨房臭い。
DirectX8のAPI仕様は洗練されていると思うのが普通。
まあそんなお前はHSPでもやってろってこった。
0082名前は開発中のものです。
02/06/11 16:55ID:???おまえ馬鹿か?
別にDirectX8が糞と言っているのではなく、
下層にある低レベルAPIが糞だとしてもって事だよ。
0083名前は開発中のものです。
02/06/11 16:58ID:???0084名前は開発中のものです。
02/06/11 23:48ID:???GetDCデトレマス
0085名前は開発中のものです。
02/06/12 00:46ID:???DirectX8の事だが?
0086名前は開発中のものです。
02/06/12 23:00ID:???DirectXでもSurface7が使えますが?
0087名前は開発中のものです。
02/06/13 00:08ID:???IDirect3DSurface8からIDirectDrawSurface7を取得する方法を教えてくれ
0088名前は開発中のものです。
02/06/14 06:45ID:???0089名前は開発中のものです。
02/06/14 11:44ID:???http://crystal.sourceforge.net/
0090名前は開発中のものです。
02/06/14 11:45ID:???0091名前は開発中のものです。
02/06/14 17:28ID:EAGqNRQU使われている技術を語れよ。
それなら定義はさほど問題でもないだろ
0092名前は開発中のものです。
02/06/14 17:38ID:???ハァ・・・。
0093名前は開発中のものです。
02/06/14 17:52ID:???旧GDIとの互換性は知らんけど。
0094名前は開発中のものです。
02/06/14 18:49ID:P6GE6a9g0095名前は開発中のものです。
02/06/14 18:52ID:???0096名前は開発中のものです。
02/06/14 18:59ID:???いじるのではどっちが楽しい?
0097名前は開発中のものです。
02/06/14 19:40ID:im.OkD9Uすまん。つぎのつぎだっけ
0098名前は開発中のものです。
02/06/14 21:10ID:nAZp4osEちんぽ
0099名前は開発中のものです。
02/06/14 21:15ID:???0100名前は開発中のものです。
02/06/15 00:47ID:???>>101 遅えよ間抜け
>>102 なんでこの板にいるの
>>103 いますぐ辞表出せ
>>104 一生オナニーライブラリ書いてろ
>>105 あきれて物もいえん
0101名前は開発中のものです。
02/06/15 01:06ID:???>>101 遅えよ間抜け
>>102 なんでこの板にいるの
>>103 いますぐ辞表出せ
>>104 一生オナニーライブラリ書いてろ
>>105 あきれて物もいえん
0102名前は開発中のものです。
02/06/15 01:07ID:???>>101 遅えよ間抜け
>>102 なんでこの板にいるの
>>103 いますぐ辞表出せ
>>104 一生オナニーライブラリ書いてろ
>>105 あきれて物もいえん
0103名前は開発中のものです。
02/06/15 01:07ID:???>>101 遅えよ間抜け
>>102 なんでこの板にいるの
>>103 いますぐ辞表出せ
>>104 一生オナニーライブラリ書いてろ
>>105 あきれて物もいえん
0104名前は開発中のものです。
02/06/15 01:07ID:???>>101 遅えよ間抜け
>>102 なんでこの板にいるの
>>103 いますぐ辞表出せ
>>104 一生オナニーライブラリ書いてろ
>>105 あきれて物もいえん
0105名前は開発中のものです。
02/06/15 01:07ID:???>>101 遅えよ間抜け
>>102 なんでこの板にいるの
>>103 いますぐ辞表出せ
>>104 一生オナニーライブラリ書いてろ
>>105 あきれて物もいえん
010688
02/06/15 01:49ID:???Crystal Space は知ってたんだけど、もっと良いのがあるかなと思ってたので参考になります。
OGRE のサイトを見てみたら、きれいさ重視みたいなので勉強になりそうです。
>>90
1 にあるので見たんですが、全部見ていく前に数に負けて、教えてクソになりました。スマソ。
0107名前は開発中のものです。
02/06/15 08:09ID:xUe6EDMYhttp://www.zdnet.co.jp/news/0206/14/ne00_cg.html
Cg
http://www.nvidia.com/view.asp?IO=cg
0108名前は開発中のものです。
02/06/15 12:16ID:quflp1bkCg++が出るまでまった方がいい。
0109名前は開発中のものです。
02/06/15 12:27ID:???C#g++がでるまで
0110名前は開発中のものです。
02/06/15 12:52ID:???0111くろさん ◆kuRoSUKI
02/06/15 23:16ID:???0112名前は開発中のものです。
02/06/16 02:55ID:???0113名前は開発中のものです。
02/06/16 06:53ID:??????
0114名前は開発中のものです。
02/06/16 11:08ID:???納期曖昧と評価曖昧ゆえにいまいちナニしてんだか不明。
大企業なんだけどさ。
要はヌルマ湯につかってんだよ。
さっさとゲーム作れや。
0115名前は開発中のものです。
02/06/16 11:56ID:???いいもん売ってなかったら作るしかないニダ
0116名前は開発中のものです。
02/06/16 15:11ID:???0117名前は開発中のものです。
02/06/16 20:14ID:???>納期曖昧と評価曖昧ゆえにいまいちナニしてんだか不明。
専門で作っててヘボかったら最悪だな。
しかしそいつら以外はライブラリも作れないヘボ野郎に
なっていそうだ。
0118名前は開発中のものです。
02/06/16 22:03ID:???美しいライブラリを作るのに余念がないのですよ。
ゲーム作るなんていう現実の問題につき合わせたら、汚くなっちゃうだろ。
それはイヤだな。
とか言ってたりして。
0119名前は開発中のものです。
02/06/16 22:04ID:???得られないことが判明した」
というための部署では。
0120名前は開発中のものです。
02/06/17 00:17ID:???ウチの会社もライブラリ(及び3Dエンジン)チームは独立してるよ。
で、ゲーム開発チームはそのライブラリを使用してる。
それが普通じゃないの?
0121名前は開発中のものです。
02/06/17 00:36ID:???たち遅れている会社は違うんだよ。
大手とか吹いてるところほど、その下地はカスカスだったりする。
>>114なんかは、まぁ言ってみればフェードアウト組ってやつだから、
暖かい目で見守ってあげませう。
0122名前は開発中のものです。
02/06/17 00:47ID:???114みたいに変な目で見られてるというのはまずいね。
0123名前は開発中のものです。
02/06/17 00:50ID:???ウェアと社内ライブラリの話になったのですが、それらを使う最大のメリ
ットとしては技術者の暴走を止める事が出来ると聞いて少しびっくりしま
した。
つまりはPS2を使いこなせば相当なものが作れるとしても、それよりも
他の部分でクオリティを高めた方が会社的には建設的だと。
正論だけど微妙な意見ですな。とりあえず苦笑いして流しておきました。
0124名前は開発中のものです。
02/06/17 02:37ID:???楽しみを奪うな。フィールドRPG量産するのが仕事かよ
という叫びはないのか
0125名前は開発中のものです。
02/06/17 03:20ID:???と思うが。
0126名前は開発中のものです。
02/06/17 04:46ID:rHaZXXIcnews記事だとなんだかよくわからんのだが、
要するにシェーダー用コンパイラを作りました。
っつーこと?
■ このスレッドは過去ログ倉庫に格納されています