TAG : rendering

(((o゚ω゚o)))

[ソース表示] ActionScript3を勉強して初めて作ったデモです。基本的にビットマップ処理だけで描画しています。C++プログラマの時代から、ビットマップ処理は興味があって色々と勉強してたので、ActionScript3にデフォルトで用意されている様々な処理関数は感動したのを今でも覚えています。

Real time ambient occlusion on FlashPlayer10

[ソース表示] ライティングもデプスバッファも無い FlashPlayer10 の似非3D機能を使ったリアルタイム大域照明(Ambient Occlusion)レンダリングです。球面の各頂点から見える景色を簡易レンダリングすることで遮蔽率を計算します。大雑把に言えば、物体を真っ黒/背景を真っ白に設定して、原始的なラジオシティ法のエネルギー伝播を1回だけ実行している、とも表現できるかもしれません。 関連エントリ; WonderflでReal Time? Ambient Occlusion

Ambient Occlusion Rendering

[ソース表示] 大域証明 ray-tracing のベンチマークテストであるAOBench(https://code.google.com/p/aobench/)を FlashPlayer10 に移植したものです。当時は ActionScript3に Vector がようやく搭載されたばかりで、まだ認知度が低かったため、その実験と検証を兼ねて投稿しました。 関連エントリ; wonderflで汚名返上

メタボール

メタボールです。まだFlashPlayer9の時代で、FlashPlayer10の3次元計算ライブラリもありませんでした。 この当時PaperVision3Dという3次元計算ライブラリがありましたが、まだベータ版で行列計算のたびにnewをつかってインスタンスを確保するなど、パフォーマンス的にかなり残念な代物でした(もちろんその後のアップデートで改善されました)。そもそも当時のPV3Dは反射どころか、光源計算すら入ってませんでしたので、行列とポリゴンの演算は参考にしつつ演算処理を最適化し、テクスチャ計算、環境マップ、メタボール計算などを、自前で実装しています。