9ballsyndrome

カテゴリ:Alternativa3D 8 の記事一覧

≪新しい記事一覧へ | | 古い記事一覧へ≫

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

Alternativa3D 8.8.0 で頂点制御(後編)

Alternativa3D 8.8.0 で頂点制御(前編)

いよいよ頂点制御。手さぐり勝手に意味を推測するのは長かった。

 

ネットで調べててよくDirectXやOpenGL関連のページによくたどりついたからそのへんの設計もってきてるんだろうね。
ていうかWindowsではDirectX9、MacとLinuxではOpenGL1.3で動くんだっけ。そりゃ当然だ。
これらをやってた人にはスラスラ入ってきて有利なんだろうな。

 

使うのはこないだ作ったPlane。どの頂点がどこにあるのかわかってるからね。

 

結果はこんな感じ(要 Flash Player 11)

 

続きを読む
  1. 2011/07/06(水) 09:20:06|
  2. Alternativa3D 8
  3. | トラックバック:0
  4. | コメント:0

Alternativa3D 8.8.0 で頂点制御(前編)

さて。Mesh及びGeometryのイメージが掴めてきたところでAlterrnativa3D 8で頂点制御をしてみよう。

 

 

まずはattributesのおさらい(推測)。

続きを読む
  1. 2011/07/06(水) 09:17:43|
  2. Alternativa3D 8
  3. | トラックバック:0
  4. | コメント:0

Alternativa3D 8.8.0 Planeプリミティブ再考

 

先日のPlaneのコードを読み解いたところで、プリミティブの書き方が少しはわかった。

 

しかし簡易的なコードらしく、他のプリミティブと比べて足りないところが少しある。
今度はこれを付け加えてみよう。

具体的には

だ。

 

続きを読む
  1. 2011/07/05(火) 12:48:31|
  2. Alternativa3D 8
  3. | トラックバック:0
  4. | コメント:0

Alternativa3D 8.8.0 たぶんMeshの作り方

 

Alternativa3D 8で頂点等の制御ができるようになるために先日のPlaneを読み解いてみるよ。

 

続きを読む
  1. 2011/07/04(月) 16:13:54|
  2. Alternativa3D 8
  3. | トラックバック:0
  4. | コメント:0

Alternativa3D 8.8.0 Planeプリミティブ

 

フォーラムのこの記事にPlaneのプリミティブオブジェクトのコードがあったので使わせてもらう。

 

package {
    import alternativa.engine3d.core.Object3D;
    import alternativa.engine3d.core.VertexAttributes;
    import alternativa.engine3d.materials.Material;
    import alternativa.engine3d.objects.Mesh;
    import alternativa.engine3d.resources.Geometry;
 
    /**
     * ...
     * @author
     */
    public class Plane extends Object3D {
        private var _h:uint;
        private var _w:uint;
        private var _material:Material;
        private var _doubleSided:Boolean;
        private var _numTriangles:uint;
 
        public function Plane(h:uint, w:uint, material:Material, doubleSided:Boolean = false){
            this._w = w;
            this._h = h;
            this._material = material;
            this._doubleSided = doubleSided;
            this._numTriangles = (_doubleSided) ? 4 : 2;
            setPlane();
        }
 
        private function setPlane():void {
            var mesh:Mesh = new Mesh()
            var attributes:Array = new Array();
 
            attributes[0] = VertexAttributes.POSITION;
            attributes[1] = VertexAttributes.POSITION;
            attributes[2] = VertexAttributes.POSITION;
            attributes[3] = VertexAttributes.TEXCOORDS[0];
            attributes[4] = VertexAttributes.TEXCOORDS[0];
 
            var geometry:Geometry = new Geometry();
            geometry.addVertexStream(attributes);
            geometry.numVertices = 4;
 
            var vertices:Array = [-(_w / 2), -(_h / 2), 0, -(_w / 2), (_h / 2), 0, (_w / 2), (_h / 2), 0, (_w / 2), -(_h / 2), 0];
            var uvt:Array = [0, 1, 0, 1, 0, 1, 0, 1];
 
            geometry.setAttributeValues(VertexAttributes.POSITION, Vector.<Number>(vertices));
            geometry.setAttributeValues(VertexAttributes.TEXCOORDS[0], Vector.<Number>(uvt));
            var arr_indices:Array = (_doubleSided) ? [0, 1, 2, 0, 2, 3, 0, 2, 1, 0, 3, 2] : [0, 1, 2, 0, 2, 3];
            geometry.indices = Vector.<uint>(arr_indices);
 
            mesh.geometry = geometry;
            mesh.addSurface(_material, 0, _numTriangles);
            mesh.calculateBoundBox();
            addChild(mesh);
        }
 
    }
 
}

 

 

  1. 2011/07/03(日) 12:52:44|
  2. Alternativa3D 8
  3. | トラックバック:0
  4. | コメント:0

Alternativa3D 8.8.0 (+SiON) でキンコン鳴るもん作ってみた

 

Alternativa3D 8.8.0(+SiON)で適当にキンコン鳴らすの作ってみた。

初速と初期位置がランダムだし一定のビートは刻めなそう

 

GPUの機能をちゃんと発揮できてるのかなあ。

3D部分をGPUに任せられればソフトウェア音源のほうも全力出せるはずだよね?

ポリゴン数は少ないのになんか重い

 

 demo(要 Flash Player 11)

 

追記

と思ったら動作確認したラップトップがGPU積んでなかったテヘヘ。

GeForce9800GT積んだデスクトップで確認したらまあまあの動作。

でもGPU-Zで見たGPU使用率は5%未満

もうちょっと使ってくれていいのよ!

 

 

  1. 2011/07/02(土) 21:34:33|
  2. Alternativa3D 8
  3. | トラックバック:0
  4. | コメント:0

Alternativa3D 8.8.0で透明マッピング

 

Alternativa3D 8.8.0で実装されたTextureMaterialの透明マッピングの仕方。

public function TextureMaterial(diffuseMap:TextureResource = null, opacityMap:TextureResource = null, alpha:Number = 1)

TextureMaterialのコンストラクタの第二引数かopacityMapプロパティに透明度の情報のTextureResourceを入れてやればOK。

透明度の情報を含んだBitmapDataから作成したBitmapTextureResourceならそのまま第二引数にいれればいける。

 

var texture:BitmapTextureResource = new BitmapTextureResource(bd);//透過度情報を含んだbd:BitmapDataからBitmapTextureResourceを作成
var material1:TextureMaterial = new TextureMaterial(texture);//透明サポートせず
var material1:TextureMaterial = new TextureMaterial(texture, texture);//透明サポート

 

 

追記

と思ったけどダメだった。変な透け方したわ。

透明にしたくないところをを0xFFFFFF、透明にしたいところを0x00000にしたBitmapDataからBitmapTextureResource作らんくちゃだめだね。

透明度サポートのBitmapDataからだったらアルファ成分(上位16ビット)を抽出して0xFFFFFFでスケールすればOK。

 

 

追記2

 

Alternativa3D 8.8.0で透明マッピング2

 

  1. 2011/07/02(土) 15:19:45|
  2. Alternativa3D 8
  3. | トラックバック:0
  4. | コメント:0

Alternativa3D 8.8.0 リリース

 

Alternativa3D 8.8.0リリース

 

変更点を見てみよう

- TextureMaterial, VertexLightMaterial, LightmapMaterial now supports the map-transparency and alpha property.
- EllipsoidCollider class was added.
- concatenatedMatrix property was added in Object3D.
- New class SkyBox was added.
- FileTextureResource: after a repeated call to upload() the resource is not destroyed now.
- FileTextureResource: you can get and set the texture data now.
- FileTextureResource renamed to ExternalTextureResource.
- StandardMaterial supports Object-space normal maps now.
- ColladaMaterial renamed to ParserMaterial.
- Bug with culling of scaled objects in camera was fixed.
- ParserA3D: glossiness maps are parsed for materials now.
- Geometry: findVertexBufferByAttribute renamed to findVertexStreamByAttribute.
- ParserCollada: A bug, when model without vertex normals parsed, was fixed.
- clone() method was added to Skin.
- Parsing of Skin with animation from collada was fixed.
- Lighting in StandartMaterial, VertexLightMaterial, when models have non-identity scale, was fixed.
- Primitive Box contains vertex tangents now.
- Property alwaysOnTop was added in the Sprite.
- StandardMaterial: glossinessMap property was added.
- Opacity map parses from A3D now.
- Bug with textures assignment in ParserA3D class was fixed.
- Vertex tangents are loaded from A3D now.
- ParserA3D: bug, when Geometry methods worked incorrectly on a parsed model, was fixed.
- DirectionalLight: bug with wrong light direction after parsing from Collada was fixed.
- Surface: owner property renamed to object.
- Mouse events work properly now after creating the View with zero width or height.
- View can be any size now without throwing exceptions.
- Decal class was added.
- WireFrame class was added.
- Posibility to use StandartMaterial and VertexLightMaterial with sprites was removed.
- Fillmaterial: the color property has uint type now.
- A bug in dispose() method of Geometry class was fixed.

 

続きを読む
  1. 2011/07/02(土) 12:24:31|
  2. Alternativa3D 8
  3. | トラックバック:0
  4. | コメント:0

Alternativa3D 8.5.0 さわってみた3

Molehill API対応3Dエンジンのひとつ"Alternaiva3D 8.5.0"をさわってみる。

今回はexampleのparsersexampleだ。
外部モデルデータを読み込むサンプルだね。

モデルを作れない俺には関係なさそうだけど...。

 

 

続きを読む
  1. 2011/06/26(日) 14:38:51|
  2. Alternativa3D 8
  3. | トラックバック:0
  4. | コメント:0

Alternativa3D 8.5.0 さわってみた2

前回に引き続きMolehill API対応3Dエンジンのひとつ"Alternaiva3D 8.5.0"をさわってみる。

exampleのmouseeventsexampleだ。

 

続きを読む
  1. 2011/06/25(土) 12:21:47|
  2. Alternativa3D 8
  3. | トラックバック:0
  4. | コメント:0
前のページ 次のページ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。