まあまあなんとか動いてきた。
スクリプトはRubyまんまっていうかevalしてるだけだけど。
あまりにもサイズが大きくて困ってたモデルは、頂点情報を圧縮してちょっと縮んだ。
圧縮といっても頂点、法線、頂点色、テクスチャ座標が面倒なのでそれぞれfloat4つだったのを、法線がshort3つ、頂点色がubyte4つ、テクスチャ座標がfloat2つにしただけ。
テクスチャ座標もshort2つにしたかったけど、shortで渡すと値そのままになるというので止めた。テクスチャ座標行列とかでなんとかする手もあるんだが、そこまでするのはめんどい。
しかしあと従法線も欲しくなっちゃったなぁ。ノーマルマップ付けたい気がする。いやいや、それはいまは考えないようにしよう。
16bit浮動小数点数使えれば楽なんだけどねぇ。そんなに精度が必要なモデルでもないし。でも16bit浮動小数点数はどこでも実行できるとはいえないのでパス。
750頂点程度の60フレームで3.2MB。15fpsくらいで動かすから4秒。うーん軽いとは言いがたいがでかすぎるという程でもないな。まあこんなものかもな。
あとはメッセージボックス作って、レンダリングをいろいろいじったらだいたい完成かも。
メッセージボックスは表示自体はそんなに難しい所もないが、どこに表示するかが悩ましい。
レンダリングはどうしよう。いまRikoは固定シェーダだとライティングとか設定できないんだよねぇ。
頂点シェーダ必須にしてあるんで、そこでライティングしてやればいいだけなんだけど、毎回頂点シェーダもないGPUで動きませんという報告がくるんだよな。
いやでもそういうのは心を鬼にして切り捨てないと。まあ文句いわれるのは完全に2Dしか扱わないのに頂点シェーダ必須とか言ってたのが悪いわけで。今回は3Dだからあきらめ付くだろう。
で、とりあえず簡単な普通のグーローシェーディング、需要がちょっとありそうないたってシンプルなトゥーンシェード、この二つは最低限サポートしよう。
あとできれば3Dテクスチャ使った変形版トゥーンみたいなのも作れればいいんだが、3Dテクスチャ使ったこと無いからちゃんと動くのかな?
環境マップもサポートできるといいなぁとはおもうけど、使いどころが微妙かも知れん。
ノーマルマップはフラグメントシェーダ必須になるけど、ちょっと組んでみたいものではある。テクスチャ作る方が大変かな。
フィルタはあんまりかかる所無いな。キャラが小さいと輪郭線もフィルタでは結構きついんだが。まあできればやってみるか。
とりあえず今回も描画設定は高負荷版と通常版でわければいいか。
あんまりインタラクティブにしようとしなければ大変なところもないな。後はモデルとアニメーションの素材をだな…。
輪郭線を裏面線描画でやってみたけど、稜線がでないのはやっぱりさびしいなぁ。俺のモデルの作りがしょぼいのが一因でもあるんだが。
法線マップと輪郭線フィルタとか相性よさげなんだが負荷もモデル容量も増えちゃうよ。
そういえばOpenGLExtensionViewerでみてたらIntelでもGMA900以降でARB_fragment_programがあった。
あれー、前からあったっけこれ?あるならフラグメントシェーダ必須も悪くないなぁ。それ以前だとなんだかんだで動かない可能性があるし。
でも速度を考えるとフラグメントシェーダ必須はやばいか。
CS4の日本語版体験版が出てたのでFireworksCS4落として使ってみた。発売されればシリアルいれてそのまま使えるしね。
まあ正直言って機能的にはCS3と変わってない。
UIが変わったのは思ったより良かった。パネルをアイコンにまとめておけるのは結構便利。他は変わってない気がするけど。
PDF書き出しとかAIR書き出しとかつかわねー。それより描画機能の強化をしてくれ。パスをいじるフィルタ希望。
でもCS4の一番のメリットは反応が速くなったことだね。CS3も前に比べればちょっとはましだったんだが、CS4はやっとぶちきれずに使えるレベルになったかもしれない。
何か選択してから一拍置かないと移動も出来ないような状態とはおさらばだぜ!
でもやっぱりタブレットでお絵描きなんかしようものならぶちきれ…る前にさっぱり使いものにならないから安心だね!
まあこの速さならFireworks好きはアップグレードして問題ないだろう。
あとIllustratorをどうしようかな。CS3でもあんまり使ってないけど、透明度グラデがマスク作らずとも自然に出来るようになってるのはよさそうなんだが。しかしそれだけのために2万以上の値段は高いでござる。