2011年03月03日 18:3月
FlashPlayer Incubator の公開につづいて Molehill API での shader を作成するための PixelBender3D も公開されたようです。
Adobe Pixel Bender 3D | vertex and fragment shaders, molehill – Adobe Labs
下準備
さて、いざ使ってみようと起動しようとしても起動しませんね・・・。
ReadMe.pdf には command-line compilers と書いてありますが、Mac 版はなぜか App 形式の pb3dutil が入っているようで、このままでは Terminal などを使って Shader をコンパイル出来ません。ので、pb3dutil を右クリック、「パッケージの内容を表示」で必要なファイルを引っ張り出しましょう。パッケージの中は以下のような内容になっていると思います。

/usr/local の中に PixelBender3D 用のディレクトリを作って Frameworks, MacOS ディレクトリをコピーしましょう。Mac OS ディレクトリは bin とリネームしておきましょう。
さて、次は Terminal などで pb3dutil を実行するために bash 等にパスを通す必要があります。~/.bash_profile などに下記のようにパスを記述します。
export PATH=/usr/local/PixelBender3D/bin:$PATH
パスを追加したら Terminal に設定の反映をするために .bash_profile を再読込させるために、下記のコマンドを実行します。
source ~/.bash_profile
これで、Terminal から pd3dutil が使用できるようになりました。
使用方法
Vertex Shader のコンパイル
pb3dutil VertexKernel.pbvk outputFileName
一つの pb3dasm ファイルができあがる。
Fragment Shader のコンパイル
pb3dutil FragmentKernel.pbmk materialVertexOutputFileName fragmentOutputFileName
二つの pb3dasm ファイルができあがる。
fragment shader は二つファイルができあがるみたい。ちなみに pb3dasm はテキストファイルだった。
, Tags : タグ: PixelBender3D, Category : Program
2011年03月03日 17:3月
さて、ついに Flash にも OpenGL や DirectX のような GPU を使うためのローレベル API が使える Flash Player 11 の Beta 版が公開されました。
FDT や Flash Builder での Molehill を使いたい場合は clockmaker さんのインストール方法で使えるのでそちらを参考にしてください。
Molehill を搭載した Flash Player Incubator プレビュー版が公開
通常だと Away3D や Papervision3D, Alternative3D などのライブラリを使って弄るのですが、ここでは全くライブラリを使わずに描画していこうと思います。
とりあえず、単純に矩形にテクスチャー張って回してみました。
Molehill Test(要FlashPlayer11:incubator)
どうやら、OSX の Chrome だとうまく GPU で動いてくれてないみたい。Safari だと大丈夫でした。
OpenGL みたいな最小限のパイプラインがないっぽいので、Context3D ごとに shader を準備してあげる必要があるっぽい。
shader は PixelBender3D がでるまでは AGALMiniAssember.as で作成する必要がありそう。
AGALMiniAssember での書き方はドキュメントの Program3D に色々書いてありました。
AGALMiniAssember はなぜか含まれていないようなので下記から取得してください。
Digging more into the Molehill APIs – ByteArray.org
記述自体は見慣れない感じですが shader 書いたことある人ならすぐに理解できそうな感じです。
ローレベル API だけ使って描画するコードはこんな感じになりそうです。
Molehill の最小コード — Gist
次はもうちょっとまともな描画を書こう。
, Tags : タグ: Flash, Molehill, Category : Program
2010年11月06日 12:11月
最近、Git のクライアントでいいのが無いか探したときに見つけたものとかをメモっておこうと思う。
Terminal
http://git-scm.com/
なにもいうまい。
Gitti
http://www.gittiapp.com/
未だに Beta 版だがいまのところもっとも使い易いクライアントな気がする。使用するにはサイトから登録する必要あり。
最近になってアプリを起動すると Gitti Expired とでるようになって使えなくなっている・・・。
GitX
http://gitx.frim.nl/
push や pull などがなくローカルリポジトリに対しての操作しかできないがログが視覚化されて見やすいので Gitti が出てくるまで Terminal と併用して使ってました。
GitX(Custom Ver.)
GitX は github にてソースコードが公開されていてそれにたいしていろんな人が fork してどんどんカスタマイズされたバージョンが存在している。
https://github.com/pieter/gitx/network
push や pull などが出来るようになってたりするバージョンがあるので自分は下記の GitX を使ってます。
https://github.com/brotherbard/gitx/
Tower
http://www.git-tower.com/
osx でつかうならとりあえず Tower をお勧めしたいくらいに良くできている。
少し前に ver 1.0 が公開されました。
Comming this November! と言うことで、まだ使えないけど期待大なクライアント。
スクリーンショットを見る感じだと Gitti に似ている感じかな。
Gitbox
http://gitbox.pierlis.com/
シンプルな Git クライアント
smartGit
http://www.syntevo.com/smartgit/index.html
smartSVN や SmartCVS などをつくっている syntevo がつくっている Git クライアント。
windows や Linux 版もある。
他にもいいクライアントがあったら是非教えてくださいー。
, Tags : , Category : Program
2010年10月21日 00:10月
Mathクラスでよくやる高速化備忘録 で書かれていた物とBitwise gems – fast integer math を混ぜて FDT の CodeTemplate 作ってみました。
fastMathCodeTemplate.zip
- abs : Math.abs
- ceil : Math.ceil
- floor : Math.floor
- round : Math.round
- max : Math.max
- min : Math.min
- checkeven : 偶数かチェック
- divide : 2の自乗の除算
- multiply : 2の自乗の乗算
- flip : 数字の符号反転
- modulo : 剰余
, Tags : タグ: CodeTemplate, FDT, Category : Program
2010年05月07日 19:5月
Swarm とか BitmapCanvas とか色々用意されててもそもそしてたらいつのまにかできた。こういうのはやっぱたのしいな。
the HYPE Framework
package
{
import flash.filters.ColorMatrixFilter;
import hype.framework.core.TimeType;
import flash.filters.BlurFilter;
import hype.extended.rhythm.FilterCanvasRhythm;
import hype.extended.behavior.FixedVibration;
import hype.extended.behavior.Swarm;
import hype.extended.color.ColorPool;
import hype.extended.layout.ShapeLayout;
import hype.framework.core.ObjectPool;
import hype.framework.display.BitmapCanvas;
import hype.framework.rhythm.SimpleRhythm;
import flash.display.Sprite;
/**
* @author Mk-10:cellfusion
*/
public class Sample extends Sprite
{
private var _rhythm:SimpleRhythm;
private var _pool:ObjectPool;
private var _colorPool:ColorPool;
private var _clipContainer:Sprite;
private var _layout:ShapeLayout;
private var _bc:BitmapCanvas;
private var _blur:FilterCanvasRhythm;
public function Sample()
{
var bg:Sprite = new Sprite();
bg.graphics.beginFill(0x000000);
bg.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
bg.graphics.endFill();
addChild(bg);
_layout = new ShapeLayout(bg);
_bc = new BitmapCanvas(stage.stageWidth, stage.stageHeight);
addChild(_bc);
_clipContainer = new Sprite();
_colorPool = new ColorPool();
_pool = new ObjectPool(MyCircle, 100);
_pool.onRequestObject = poolRequest;
_rhythm = new SimpleRhythm(addNextClip);
_rhythm.start();
_bc.startCapture(_clipContainer, true);
_blur = new FilterCanvasRhythm([new ColorMatrixFilter([0.99, 0, 0, 0, 0, 0.99, 0, 0, 0, 0, 0.99, 0, 0, 0, 0, 1])], _bc);
_blur.start(TimeType.TIME, 100);
}
private function poolRequest(clip:Sprite):void
{
clip.scaleX = clip.scaleY = 0.8 * Math.random() + 0.2;
clip.x = stage.stageWidth * 0.5;
clip.y = stage.stageHeight * 0.5;
_clipContainer.addChild(clip);
var swarm:Swarm = new Swarm(clip, _layout.getNextPoint(), 5, 0.09, 25);
swarm.start();
var sVib:FixedVibration = new FixedVibration(clip, "scale", 0.9, 0.1, 0.2, 1, true);
sVib.start();
}
private function addNextClip(r:SimpleRhythm):void
{
if (_pool.isFull) {
r.stop();
} else {
_pool.request();
}
}
}
}
import flash.filters.DropShadowFilter;
import flash.display.Sprite;
class MyCircle extends Sprite
{
public function MyCircle()
{
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFFFFF);
circle.graphics.drawCircle(0, 0, 3);
circle.graphics.endFill();
addChild(circle);
filters = [new DropShadowFilter(0, 45, 0, 1, 2, 2, 1, 1)];
}
}
, Tags : タグ: drawing, hype, Category : Program
2010年04月29日 12:4月
!/blog/event/flashoop_35/ttl_flashoop_35.jpg!
Flash OOP 勉強会にて Flash の開発環境の勉強会があるので、FDT について語ってこようと思います。
FDT だけではなく FlashDevelop や Flash Builder についての環境の話も聴けるので、この勉強会で自分に合いそうな環境を探してみてはいかがでしょうか?
第35回 Flash OOP勉強会「Flash OOP presents/Flash開発環境自慢大会!」with Adobe station5
h3. イベント詳細
日時 : 5月11日(火)
会場 : THE GALLERY
渋谷区神宮前4丁目21-8 OWビル2F(Google Map)
内容 : Flash Builder、FlashDevelop、FDTの各開発環境の紹介をし、ユーザーによる「環境自慢」トークを行ないます。
司会 : 富川 真也 氏(Flash OOP)
スピーカー : FlashDevelop 佐藤 陽亮(bkzen), FDT 俺(Mk-10:cellfusion), Flash Builder 浦野 大輔(uranodai)
セミナー申し込みページ
※ 既に予約受付完了しました、たくさんの申し込みありがとうございます。
, Tags : , Category : Event
2010年04月21日 15:4月
!/blog/diary/progbook/ttl_progbook.jpg!
FLASHer の味方 Progression 本の執筆をしました。
Progression てのはなんぞやという説明から、コンポーネントの使い方、コマンドやシーンの説明、etc… ここまで Progression について説明されてる書籍はないんじゃないかしらというくらいになかなかのボリュームだと思います。
これから Progression を使いはじめる方やすでに使っている方にもお勧めですよ。
今月末には書店に並ぶと思うのでよろしくお願いしまーす。
, Tags : タグ: ActionScript3.0, Flash, Progression, Category : Diary
2010年03月19日 12:3月
Twitter でも告知したけど、FDT Pro & Enterprise がめっちゃくちゃお得に買えるキャンペーンやってます!
Powerflasher Solutions - Promotions
翻訳してもらいました!
アップグレードの価格より安いのでこの機会に是非体験してみてくださいー。
–
新年度に向けた FDT のスペシャルキャンペーン実施中!
いまお使いのFlash用開発ツールから FDT Pro もしくは Enterprise へのアップグレードをご検討中の方に、3月末までを限定に特別価格でご提供させて頂きます(Pro: $299 Enterprise $399)。
アップグレードにはお使いの Flash ツール購入時の領収書など、ライセンスの証明が必要です。詳しくは upgrade2FDT[at]powerflasher.com まで(日本語可)。
–
twitter でも @cellfusion か @keisukes にリプライするといいかも。
, Tags : , Category : Program
2009年12月28日 06:12月
この blog にいろいろ情報を書いていましたが、専用のサイト作った方がいいなと思ったので、 fdt.jp を作成しました。
http://www.fdt.jp/
インストール方法などから各種カスタマイズなどいろいろな tips やチュートリアルなどを掲載予定です。
, Tags : , Category : Program