タグ

ブックマーク / cuaoar.jp (8)

  • Vector の新しい初期化方法 (Flex 4 & Flash Professional CS5) - akihiro kamijo

    Flash Professional CS5 と Flex SDK 4 から、初期値を指定して Vector を初期化できるようになりました。これはコンパイラーの仕様変更です。 いくつかの型では、既に、インスタンスを生成する際に 3 種類の手段、初期値の指定、コンストラクターの使用、グローバル関数の使用、を利用することができました。例えば、配列の場合は以下のようにしてインスタンスを生成することができます。 // 初期値を [] 内に指定 var arr1:Array = ["a", "b", "c"]; // コンストラクターを使用 var arr2:Array = new Array("a", "b", "c"); // グローバル関数を使用 var obj:Object = ["a", "b", "c"]; var arr3:Array = Array(obj); (注:上の例の ar

    snaka72
    snaka72 2015/11/24
  • Stage3D と Context3D を使った描画手順 - akihiro kamijo

    前回の記事 (Stage3D のシェーダのアップロードと AGAL の基情報) までで、Stage3D で 3D モデルの形状とシェーダを GPU にアップロードする手順を紹介しました。後は、GPU に描画指示を出す手順だけ理解すれば Stage3D の基は完了です。 Stage3D で描画をする場合、中心になるクラスは Context3D です。今までも、Context3D は、頂点バッファやインデックスバッファ作成のサンプルコードの中で登場してました。覚えてなければ、後で確認してみて下さい。 Context3D は、描画するリソースやその状態を管理します。GPU が利用できないとき、ソフトウェアの描画エンジンにフォールバックするのも Context3D の役割です。 これまで紹介してきた GPU 描画の仕組み、例えば、2 つのシェーダを描画処理パイプラインで使えること、常に 3 角

    snaka72
    snaka72 2015/11/03
  • Stage3D と 2 つのシェーダと頂点情報 - akihiro kamijo

    前回の記事 (Stage3D の裏側のお話) では、GPU (Stage3D) が 3 角形の描画を得意とすること、描画処理が大きく 2 つの段階に分けられ、それぞれの段階にシェーダと呼ばれるプログラムが必要となること、までカバーしました。 今回は、シェーダの役割をもう少し詳しく確認してから、シェーダに頂点情報を渡す Stage3D の API の使い方に話題を移します。 頂点シェーダと断片シェーダ GPU 描画では、2 種類のシェーダが使われます。頂点シェーダと断片 (ピクセル) シェーダです。 実行される順序は、頂点シェーダ → 断片シェーダの順です。頂点シェーダが各頂点の位置を確定すると、断片シェーダが頂点の間の断片 (ピクセル) を色づけします。 下の図は、直方体を 2 種類のシェーダそれぞれが処理する様子を示したものです。 頂点シェーダでは頂点の位置が変換されます。これで形状が決

    snaka72
    snaka72 2015/11/03
  • Stage3D の裏側のお話 - akihiro kamijo

    Flash Player 11 から追加された Stage3D は、GPU を Flash コンテンツからフル活用するための機能です。 3D 描画だけでなく 2D 描画にも利用できるので、Stage3D という名前はいささか誤解を招くものかもしれません。従来の、CPU で描画される Stage との違いを明確にするには、StageGPU とかのほうが合っているような気がします。 で、どんなときに Stage3D が使えて嬉しいかと考えてみたときに、高度な 3D 描画を実現したい場合というのは分かり易い例かもですが、デバイス (スマホ/タブレット) 向けコンテンツのパフォーマンスを向上させたい場合の方が、もしかすると多くなるような気もします。 CPU 描画は、1 画素ずつ CPU で描画データを計算します。そのため、CPU のスペックが低くて、描画する画素数が多い環境は苦手とします。 そうす

    snaka72
    snaka72 2015/11/03
  • アドビの新プロジェクト:JavaScript で WebGL シェーダを記述できる ShaderDSL.js - akihiro kamijo

    アドビの新しいオープンソースプロジェクトが公開されました。WebGL のシェーダを JavaScript で記述できるよう開発されたフレームワーク ShaderDSL.js です。 WebGL の場合は、シェーダーの記述に使用される言語は GLSL が一般的です。そのため、一般的な Web 開発者にとっては、WebGL を使うには、機能だけでなく、新しい言語を学ぶという手間も発生します。 また、複数のの言語を使って Web ページを記述するのは、メンテ等も大変そうです。そこで、JavaScript で WebGL のシェーダーが記述できたたらよいね!と思ったアドビが新しいフレームワークの開発に着手したというお話です。 (なぜアドビがこんなフレームワークを開発しているのか妄想してみると楽しいかもです) ShaderDSL.js は、内部的に Gladder と RiverTrail を利用し

    snaka72
    snaka72 2013/10/03
  • Starling (新しい ActionScript 3 の 2D フレームワーク) のご紹介 - akihiro kamijo

    Starling は、Flash Player 11 の新しい 3D 描画機能 "Stage3D" 上に構築された、オープンソースの 2D 描画用 ActionScript フレームワークです。FreeBSD ライセンス下で配布されます。 現在バージョン 0.9 が公開されています。ダウンロードはこちらのリンクから。 (Starling Framework v0.9) Stage3D は直接 GPU 機能を活用できるため、従来よりもずっと高速な描画を実現できます。すでに、様々な 3D フレームワークが Stage3D に対応しています。 (Alternativa3D とか Away3D とか Minko とか Flare3D とか Mixamo とか) Stage3D は強力なのですが、実際に使おうと思ったら、アセンプラでシェーダープログラムを書くとか、何れかの 3D フレームワークの使い

    snaka72
    snaka72 2013/09/11
  • Apache Flex 4.10.0 公開 - akihiro kamijo

    半年振りに Apache Flex のアップデートが公開されました。短期間に更新を繰り返す最近流行の開発に比べるとゆっくりですが、4.10.0 とマイナーアップデート扱いの割にはいくつも更新が行われています。最新のランタイムに対応し、200 以上のバグ修正も行われました。 インストーラーも新しくなり、GUI からターゲットとするランタイムのバージョンを選択すると、必要な設定が勝手に行われる便利な仕様になっています。インストーラーの入手先はこちらです。 Apache Flex SDK Installer ソースコードとドキュメントも公開されています。ドキュメントはまだ怪しいところもあるようですが。 Apache Flex SDK Download なお、Flash Builder 4.7 / 4.6 で、Apache Flex 4.10.0 SDK を使用する新規プロジェクトに MXML フ

    snaka72
    snaka72 2013/08/19
  • Stage3D のシェーダのアップロードと AGAL の基本情報 - akihiro kamijo

    前回 (Stage3D と 2 つのシェーダと頂点情報) は、3D モデル情報を Stage3D に渡す方法をご紹介しました。今回は、シェーダ関連の Stage3D の API の紹介です。 それから、AGAL (Adobe Graphics Assembly Language) も、少しだけ紹介します。 始める前に、今回ご紹介するサンプルでは、AGAL Mini Assembler というサンプルツールを使っています。今のところ、実行時に AGAL をコンパイルする機能を提供する正式なツールは提供されていないので、動作確認には、こちらをダウンロードしてお使い下さい。 早速ですが、以下が AGAL で記述された頂点シェーダと断片シェーダの例です。 // 頂点シェーダを記述 private const VERTEX_SHADER:String = "m44 op, va0, vc0 \n"

    snaka72
    snaka72 2012/10/31
  • 1