読者です 読者をやめる 読者になる 読者になる

wonderflでガチ3D


wonderflで3D 【Flat shading】

とりあえず,ベーシックなフラットシェーディングを Flash player 10 から導入されてた3Dライブラリで実装してみた.このコードの中で220行くらいの簡単なレンダリングエンジンも書いたんだけど,行き当たりで書いたので仕様的にかなり残念な感じに仕上がってる.
でも,220行でレンダリングエンジン一式が書けるのは,FP10の3Dライブラリに3D計算に必要な基本的な要素が一通り入ってるおかげ.


FP10の3D計算の基本ライブラリは,3D計算中に new を発生させる前提で設計されてるように感じる(例えば,clone()はあるのにcopy()は無いとかそういうの).PaperVision3Dのソース内に潜ってごにょごにょしてた時も思ったんだけど,1フレームで何回も計算するような場所で,毎度 new するのはいかがなものかと思ってしまう(最適化で適切にスタック領域内に展開されるんなら良いんだけど,未確認).それが LL の流儀っぽいんだけど,3D計算においてもその流儀を通すのは自分には気持ち悪いなぁと.結論,3D計算とLLって相性悪くないか?と思ってしまう.書き方次第で極力newを減らす事は出来るので,相性悪いってのは言い過ぎなんだけど.