CATEGORY : FlashPlayer10

Self Shadow on FlashPlayer10

[ソース表示] ライティングはおろかデプスバッファすら実装されていない FlashPlayer10 の似非3D機能で,セルフシャドウのレンダリングをやってみました。GPUを叩けるようになったFlashPlayer10 の Stage3D では、もっと複雑な処理も簡単に高速に実装できるようになっていますが、技術的にやっていることは一緒です。 技術解説エントリ;ActionScript でセルフシャドウレンダリング

Clear Water with refraction rendering

[ソース表示] saharanさんの3D水面 / Water 3Dに屈折レンダリングを加えてリアルな水面を実装しました。当時はまだStage3Dが未実装だったため、ForkしたコンテンツはFlashPlayer10で動作しますが、上のデモはStage3Dバージョンです。 FlashPlayer11(Stage3D)コースティックバージョン;Clear Water with caustics [Stage3D version] FlashPlayer10(似非3D)バージョン;Clear Water with refraction rendering forked from: 3D水面 / Water 3D FlashPlayer10(似非3D)コースティックバージョン;Clear Water with caustics 技術解説エントリ;ActionScript で屈折レンダリング+Molehill雑感

にょきにょきシンセサイザー

[ソース表示] SiON SoundObject の1つである Arpeggiator と si.sound.synthesizers.AnalogSynth クラス によるシンセサイザです。 SiON SoundObject Quartet でも使われている Arpeggiator の音合成に AnalogSynth モジュールを用いて各パラメータをUIからいじれるようにしています。AnalogSynth モジュールにより、一般的な減算型シンセの VCO/VCA/VCF を用いた音色エディットが可能となります。 Arpeggiator による演奏や AnalogSynth による音色エディットを使いたい場合は参考にしてみてください。 SiON Kaoscillator は、よりシンプルな Arpeggiator の使用例です。

Bound Ball Synthesizer 2

[ソース表示] 跳ねるボールのバウンドによって自動演奏を行います。 上述 Puppyish Pentatonicism と同様ランダムなタイミングで発生するバウンドの効果音を、Synchronized Sequence 機能によってリズムに合わせています。このアプリでは上述のタイムラグをごまかすために、接地タイミングの先行計算を行って早めに発音させています。インタラクティブ性があり(クリックで発音)、演算が単純(バウンドのみ)な場合に有効な方法です。 物理演算+音生成の実装における、Puppyish Pentatonicism 以外のもうひとつの選択肢となります。

Depth buffer test on FlashPlayer10

[ソース表示] FlashPlayer10 の 3D機能で深度バッファを実装しました。FlashPlayer10では、深度バッファは実装されていないため、BitmapDataのthreshold()メソッドと描画方法を色々組み合わせて実装しています。 画面クリックで、実際にレンダリングしている深度バッファをグレースケールで表示します。実際にGPUで採用されている深度バッファは、焦点からのz方向距離の逆数を使うことで、近くは細かく遠くは粗く計算しますが、この実装ではz値をそのまま256段階のビットマップに落とし込むため、境界の判定が粗いです。

Real time ambient occlusion on FlashPlayer10

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

Arena Shooting in 100 Lines

[ソース表示] 100行の Arena shooting geme です。ActionScriptでは改行は空白として認識されるので、行数は意味がないのですが、一応 1行120文字制限 セミコロンは1行に一個 複数行にまたがるクロージャは閉じ中括弧に1行使う という制限をかけてコーディングしています。 関連エントリ;wonderflで100行で全方位シュー