3Dグラフィックスの最近のブログ記事

西川善司さんのMantle記事。 http://www.4gamer.net/games/234/G023477/20130927061/

後藤さんも記事を出していますが、 http://pc.watch.impress.co.jp/docs/column/kaigai/20130927_617112.html

西川さんの記事の方はより「政治的」な背景も説明されており、面白いです。 PS3でのGCMみたいな? ハードウェア特化APIですね。GCMよりは洗練されている印象を受けますが。 もうコンソールゲーム機業界からは離れてしまったので、PS4時代のAPIは良く知らないですが。

私みたいなマルチプラットフォームに対応させるのに余計な努力したくない系の人にはOpenGL一択だったりするのですが、たしかにドローコールのオーバーヘッド9分の1はすごい。 描画命令をとにかく減らすために、今まで色々と面倒なことになっていましたが、 ここまでオーバーヘッドが減ると、開発・実装アプローチも少し変わることになるのかしら?

「ローリスクハイリターン」というのはたしかに。今まで、CUDAやらCgFXやら、開発者への訴求面ではNVIDIAがリードしていた感が強かったのですが、ここにきて逆転するかもしれません。

とはいえ、通常、開発者はNVIDIAやらIntelやらにも対応しなくちゃいけないので、そういうのを考慮すると、どうなんだろ。 各デベロッパ、自社抽象化ライブラリみたいなものを使っていると思いますが、そういうので吸収しちゃうと、効果が薄れる気がする。 ジオメトリ・バッチのまとめ方その他、実装のアプローチを、Mantle版、その他版とでちゃんと分けないと性能差が出ないですよね。

もっとも、アンリアルエンジンなどの各種エンジン・ミドルウェアの場合は、もしかしたら、 そうした描画処理に落とし込む部分の最適化を、プリプロセス(開発ツール側)で面倒みてくれるようになるかもしれません。 ツール利用者側は、あまり最適化を意識せずにジオメトリアセットを登録すれば、あとは良きに計らってくれるみたいな。 アンリアルエンジンもUnityもあまり触ってないので、想像でしかありませんが。

(前回の記事の続きです)

さて、自作のWebGLのゲームをenchant.jsベースで作り直そう、とした場合にですね。
問題となってくることがあると書きました。

それはなにかというと、enchant.jsのWebGLプラグインである「gl.enchant.js」を使うべきか否かという問題です。
gl.enchant.jsはenchant.jsのお作法ベースで簡単にWebGLの機能が使えますよ。という、いわばシーングラフベースに近い3Dライブラリなんですが、
これがまた自由度が低い低い、非常に割り切った設計になっています。

(以下はgl.enchant.jsのバージョン0.3.7の仕様)
・プリミティブの形式はgl.trianglesのみ(ストリップとかファンとかは使えない)
・デプステストやカリングの有無を切り替えられない(有効で決めうちされている)
・自前のシェーダーが使えない(gl.enchan.js内部で独自のシェーダーが使われている)
・ライティングが標準で有効(オフにできない)
・シェーダーを切り替えられないので、マルチテクスチャとか当然できない。

ほんとに、「ボク3D初めて!」な人向けのライブラリですね。
glコンテキストを取得すれば、色々できるのでしょうが、glコンテキストを引き渡してくれるメソッドも無い模様。

一応、任意形状のポリゴンを描画する機能はあるようですが、いかんともしがたい作りです。

とはいえ、改造してしまえばそれなりに便利そうなんじゃないかというのも事実。
というか開発した人が「そういうことやりたかったらぜひ改造してください」的なノリみたいなw

gl.enchant.jsの補助プラグインで、MMDプラグインとかCOLLADAプラグインとかあるしなー。これらの中身まだちょろとしか見ていないんですが、
これらがちゃんと動いているのは、gl.enchant.jsのドノーマルの機能を使っているのではなく、
実際、gl.enchant.jsのメソッドを上書きして、シェーダーをプラグイン独自のものに切り替えたりとかして、色々やっているわけです。

正直、enchant.jsベースにしつつも3D描画についてはglコンテキストを抜き出してgl直打ちした方が自由度は高いんでしょうけども、
gl.enchant.jsベースにすれば、コーディングの作法がenchant.jsベースの作法に統一できるし、シーングラフベースのAPIはいろいろ楽なことも確かです。

問題はパフォーマンスと細かい制御なんですが、
・前者については、作ろうとしているゲームが、FPSやアクションみたいに、べらぼうにシビアな描画パフォーマンスを要求するようなゲームではない。
・後者については、gl.enchant.jsを改造すればいいんじゃね? もしくは機能を上書きするプラグインを開発すればいいんじゃね?

ということで、検討を重ねた結果、gl.enchant.jsベースでやってみようかという方向に傾き中です。

しかしなー。どうなんだろうなー。エフェクトツールの「BISHAMON」がそのうちWebGLランタイムをリリースするらしいし、
そうしたら多分、絶対glを直接いじらないと使えないようなランタイムだろうから、
gl.enchant.jsと併用するには、BISHAMON.gl.enchant.jsみたいなプラグインを自作しないとダメだろうなw

うーん。色々大変になりそうだ……。この判断が吉と出るか凶と出るか……w

っと、その前にまだこのことをbeiさんと相談していないんだった(汗)
こういうことはちゃんと話し合った上で決めないとダメだよな^^;

やべぇ……asm.jsといい、コレといい、最近のMozillaは本気だ。

Unreal Engine 3がWebGLに移植されるようで……。今のWebGLの仕様的に制限はないんでしょうかね? それがちょっと気になりますが。

まぁ、こうやってどんどんWebGLが商業ゲームに使われるようになれば、IEもいずれはWebGLに対応せざるをえなくなるでしょう。やーいざまーみろ、みたいなw

さぁ、負けじと例のプロジェクトを急いで進めねば……。

4Gamerではもっと詳しく解説が載ってますね。
http://www.4gamer.net/games/032/G003263/20130328081/

OpenGLとOpenGL ESが今後統合される可能性が出てきたそうで……。まだ確定ではないですが。
もしそうなった場合、モバイルGPUはサポートしなければならない機能が底上げされるわけで、なかなか面白いことになりそうな予感。
http://www.4gamer.net/games/107/G010729/20130324001/

まぁそれはそうと、もっと個人的に気になっているのはnvFXの方かな。
OpenGLの世界では、cgfxを除いて、DirectXであった便利な「エフェクトファイル」の仕組みがありませんでした。
その福音となりそうなのがnvFXです。
http://masafumi.cocolog-nifty.com/masafumis_diary/2012/10/nvfx-4556.html

ライセンスは何になるか不明ですが、ApacheとかMITライセンスあたりになってくれると、かなりいいんだけどな。

しかし、Githubのリポジトリは未だにReadmeくらいしかなく、かなりお寒い状況。

Sorry for postponing again : I need to wait for the legal Department of
NVIDIA to give me the green light on publishing the source code.
January should be ok.

とのことですが、大人の事情ですか。内部ではちゃんと開発進んどるんだろーな。
一応、スライドで正式に発表したんだし、オイラ期待しちゃうんだからね!!

追記(2012/03/27):どうやら、NVIDIAの開発者イベントGTC 2013で、nvFXのセッションがちゃんとあった模様。開発は続いているみたいね。よかった。
https://registration.gputechconf.com/form/session-listing&doSearch=true&queryInput=&topic_selector=Computer+Aided+Design&type_selector=none

(この記事でいう「CG技術」とは「CG制作ソフトの使い方・ノウハウ」ではなく、「CG理論・プログラミング技術」を指します)

こないだ、ある人から、「ゲーム作りとかに興味があって、CG技術を効率的に学んでいきたいんですけど、どう手を付けたらいいですかね」と聞かれました。
「他にやることもあるんで、できるだけ無駄なくいきたいんですけど」と。

学問に王道なしとはいうけれど、たしかに社会人で勉強となると、できるだけ無駄なく効率的にやりたい、という要件は切実だと思います。
なので、私なりの考えを助言してみました。

3D人さんより。

MMD(Miku Miku Dance)の実質的なライバルソフトが出てきました。
・ボーンのないモデルも簡単セットアップ
・ポーズ間のモーションを自動補完(そのポーズはポーズライブラリからクリックするだけで指定可能)
・BVH形式のインポート・エクスポートが可能。

Blenderで3Dモーションやろうかと思ってたけど、これこっちつかった方が作業効率圧倒的にいいんじゃないの?

3D制作の時代はどんどん加速しているッ!

やるぜやるぜー。いつかエマステキャラを3D化しておもいっきり動かしてやるぜーw

Adobeが、Adobe Creative Cloudの価格を発表しました。
http://blog.livedoor.jp/hotworks/archives/51748751.html

月額5250円(年額63000円)で、
Adobe CS全製品の最新バージョンを常に使い放題、
つい最近発表されたタブレット向けアプリ群「Touch Apps」も使い放題、
20Gバイトのクラウドストレージを利用でき、「Touch Apps」やAdobe CS製品で作成したファイルを閲覧・共有・同期できる。
その他もろもろ。

これは大変お得じゃないでしょうか。常に最新版が使えるというのはいいですね。それも、どのCS製品も使い放題というのがスゴイ。
私はサイト更新にDreamweaver、Webノベルツールの開発にFlashを使ってますんで、この2つの最新バージョンをこの価格で使えるというだけでも嬉しいです。それも、他のCS製品も使い放題というのだから、PhotoshopとかIllustratorとかAfterEffectsとか色々使ってみたいですねー。

オートデスク、ソフトイマージを買収へ(PRONEWS)

おいw Softimage|XSI 7 Essential買ったばかりなのに、この先どうなるんだとw

XSIの機能性が認められたわけだし、開発も続くようだし、むしろ最大手に買収されてXSIの未来も保証されているわけで。いずれはどっかに買収されるだろうとは思っていたけど、しかしオートデスクが3大DCCソフト独占ですよ。
ライセンス料上がらなきゃいいけど・・・。

まぁ、3大ソフト間の相互運用性が向上するのは喜ばしい事ですね。今後はFBXが相互交換ファイルフォーマットとして確立されていくのかしら。
Colladaはどうなるんだろう。すでにある程度普及しているから、消える事はないだろうが……。
この先、FBXの方が支配的かつ実用的になりそうな予感……。

今日は、3DCGとか、ゲーム開発とか3Dに関心のない方にはイミフな日記です^^;

Softimage|XSIという3D制作ソフトがあるのですが、その最新版の7を買っちゃいました。
XSI 6 Foundationは持っていたので、そこからのアップグレードですね。
13〜14万円くらいしました。まだFoundationの機能全部使いこなせてないのに・・・。

「ま〜た無駄金使って」とみんなからまた言われそうだw

いや、でもこないだ買ったAdobe Web Standard CS3はちゃんと使ってますよ! DreamWeaverとFlash Professionalだけね。Fireworksはなんか持て余してる^^;

「XSI練習帳」でまず基本を習得し、その後カスタムディスプレイホストで自作エンジンと連携させよう。

アズマ3Dは、引き続きXSIで開発していきます・・・。

道のりは遠いが・・・orz

3DCGからフルカラーの立体フィギュアを作成するサービス開始(マイコミジャーナル)

色付き3Dプリンタは数年前からありましたが、心待ちにしていた一般向けサービスがついに始まりました。同人関係でけっこう需要はありそうですね。

私もこれを見越して3Dアズマをやっていたのですが、間に合いませんでしたw
地道に3Dアズマを続けて、またそのうちここで途中経過を報告します・・・。

といっても、Softimage|XSIは新バージョンから7万程度だった入門版がついに撤廃・・・。保守込みで50万からって・・・ホビーユーザー切り捨てですかorz
またBlenderに戻るか、あるいはXSI ModToolsで頑張るか・・・どうしたものかなぁ・・・。

1  2  3

このアーカイブについて

このページには、過去に書かれたブログ記事のうち3Dグラフィックスカテゴリに属しているものが含まれています。

前のカテゴリはおとぎストーリーです。

次のカテゴリは2Dグラフィックスです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。