Documentation generator: JsDoc Toolkit 2.4.0
Template: Codeview 1.2
Generated on: 2016-0-4 21:24

Class enchant.gl.Mesh

Class Summary
Constructor Attributes Constructor Name and Description
 
頂点配列やテクスチャを格納するクラス.
Field Summary
Field Attributes Field Name and Description
 
Meshの頂点色配列.
 
Meshの頂点インデックス配列.
 
Meshの頂点法線ベクトル配列.
 
Meshのテクスチャマッピング配列.
 
Meshの頂点配列.

Method Summary

Method Attributes Method Name and Description
 
オブジェクトを破棄する.
 
メッシュの面の向きと法線の向きを反転させる.
 
setBaseColor(color)
Meshの色を変更する.

Class Detail

enchant.gl.Mesh()
頂点配列やテクスチャを格納するクラス. enchant.gl.Sprite3Dのプロパティとして使用される.

Field Detail

{Number[]} colors
Meshの頂点色配列. 4つの要素を一組として頂点色を指定する. 全体の要素数は, 頂点の個数nに対して4nとなる. 4n, 4n+1, 4n+2, 4n+3番目の要素はそれぞれ, n番目の頂点の色のr, g, b, a成分である. 頂点色はMeshのtextureにテクスチャが割り当てられていない場合の描画に使用される. enchant.gl.Mesh#setBaseColorで一括して変更することができる.
  var sprite = new Sprite3D();
  //頂点配列を代入
  //データはx, y, z, x, y, z...の順に格納する
  sprite.mesh.vertices = [
      0.0, 0.0, 0.0,  //0番目の頂点(0.0, 0.0, 0.0)
      1.0, 0.0, 0.0,  //1番目の頂点(1.0, 0.0, 0.0)
      1.0, 1.0, 0.0,  //2番目の頂点(1.0, 1.0, 0.0)
      0.0, 1.0, 0.0   //3番目の頂点(0.0, 1.0, 0.0)
  ];

  //頂点色配列を代入
  //データはr, g, b, ,a, r, g, b, a...の順に格納する
  sprite.mesh.normals = [
      0.0, 0.0, 1.0, 1.0, //0番目の頂点の色(0.0, 0.0, 1.0, 1.0)
      0.0, 1.0, 0.0, 1.0, //1番目の頂点の色(0.0, 1.0, 0.0, 1.0)
      0.0, 1.0, 1.0, 1.0, //2番目の頂点の色(0.0, 1.0, 1.0, 1.0)
      1.0, 0.0, 0.0, 1.0  //3番目の頂点の色(1.0, 0.0, 0.0, 1.0)
  ];
See:
enchant.gl.Mesh#setBaseColor
{Integer[]} indices
Meshの頂点インデックス配列. 3つの要素を一組として三角形を指定する.全体の要素数は, 三角形の個数nに対して3nとなる. インデックスの値は, enchant.gl.Mesh#verticesで指定した頂点の番号である.
  var sprite = new Sprite3D();
  //頂点配列を代入
  //データはx, y, z, x, y, z...の順に格納する
  sprite.vertices = [
      0.0, 0.0, 0.0,  //0番目の頂点(0.0, 0.0, 0.0)
      1.0, 0.0, 0.0,  //1番目の頂点(1.0, 0.0, 0.0)
      1.0, 1.0, 0.0,  //2番目の頂点(1.0, 1.0, 0.0)
      0.0, 1.0, 0.0   //3番目の頂点(0.0, 1.0, 0.0)
  ];

  //頂点インデックスを代入
  //3要素一組として, 三角形を描画する
  //この例では(0,0,0), (1,0,0), (1,1,0)の三角形と
  //(1,1,0), (0,1,0), (0,0,0)の三角形の計二つを描画する
  sprite.indices = [
      0, 1, 2,
      2, 3, 0
  ];
  var scene = new Scene3D();
  scene.addChild(sprite);
See:
enchant.gl.Mesh#vertices
enchant.gl.Mesh#normals
enchant.gl.Mesh#texCoords
{Number[]} normals
Meshの頂点法線ベクトル配列. 3つの要素を一組として法線ベクトルを指定する. 全体の要素数は, 法線ベクトルの個数nに対して3nとなる. 3n, 3n+1, 3n+2番目の要素はそれぞれ, n番目の頂点の法線ベクトルのx, y, z成分である. 法線ベクトルはライティングの影の計算に利用される.
  var sprite = new Sprite3D();
  //頂点配列を代入
  //データはx, y, z, x, y, z...の順に格納する
  sprite.mesh.vertices = [
      0.0, 0.0, 0.0,  //0番目の頂点(0.0, 0.0, 0.0)
      1.0, 0.0, 0.0,  //1番目の頂点(1.0, 0.0, 0.0)
      1.0, 1.0, 0.0,  //2番目の頂点(1.0, 1.0, 0.0)
      0.0, 1.0, 0.0   //3番目の頂点(0.0, 1.0, 0.0)
  ];

  //法線ベクトル配列を代入
  //データはx, y, z, x, y, z...の順に格納する
  sprite.normals = [
      0.0, 0.0, 0.0,  //0番目の頂点の法線ベクトル(0.0, 0.0, 0.0)
      1.0, 0.0, 0.0,  //1番目の頂点の法線ベクトル(1.0, 0.0, 0.0)
      1.0, 1.0, 0.0,  //2番目の頂点の法線ベクトル(1.0, 1.0, 0.0)
      0.0, 1.0, 0.0   //3番目の頂点の法線ベクトル(0.0, 1.0, 0.0)
  ];
See:
enchant.gl.Mesh#vertices
enchant.gl.Mesh#indices
enchant.gl.Mesh#texCoords
{Number[]} texCoords
Meshのテクスチャマッピング配列. 2つの要素を一組としてuv座標を指定する. 全体の要素数は, 頂点の個数nに対して2nとなる. 2n, 2n+1番目の要素はそれぞれ, n番目の頂点のテクスチャのu, v座標である. それぞれの座標のとりうる値は0<=u,v<=1である.
  var sprite = new Sprite3D();
  var texture = new Texture();
  texture.src = "texture.png";
  sprite.mesh.texture = texture;

  //頂点配列を代入
  //データはx, y, z, x, y, z...の順に格納する
  sprite.mesh.vertices = [
      0.0, 0.0, 0.0,  //0番目の頂点(0.0, 0.0, 0.0)
      1.0, 0.0, 0.0,  //1番目の頂点(1.0, 0.0, 0.0)
      1.0, 1.0, 0.0,  //2番目の頂点(1.0, 1.0, 0.0)
      0.0, 1.0, 0.0   //3番目の頂点(0.0, 1.0, 0.0)
  ];

  //uv座標配列を代入
  //データはu, v, u, v...の順に格納する
  sprite.mesh.texCoords = [
      0.0, 0.0,  //0番目の頂点のuv座標(0.0, 0.0)
      1.0, 0.0,  //1番目の頂点のuv座標(1.0, 0.0)
      1.0, 1.0,  //2番目の頂点のuv座標(1.0, 1.0)
      0.0, 1.0   //3番目の頂点のuv座標(0.0, 1.0)
  ];
See:
enchant.gl.Mesh#vertices
enchant.gl.Mesh#indices
enchant.gl.Mesh#normals
enchant.gl.Mesh#texture#
{Number[]} vertices
Meshの頂点配列. 3つの要素を一組として頂点を指定する. 全体の要素数は, 頂点の個数nに対して3nとなる. 3n, 3n+1, 3n+2番目の要素はそれぞれ, n番目の頂点のx, y, z座標である.
  var sprite = new Sprite3D();
  //頂点配列を代入
  //データはx, y, z, x, y, z...の順に格納する
  sprite.mesh.vertices = [
      0.0, 0.0, 0.0,  //0番目の頂点(0.0, 0.0, 0.0)
      1.0, 0.0, 0.0,  //1番目の頂点(1.0, 0.0, 0.0)
      1.0, 1.0, 0.0,  //2番目の頂点(1.0, 1.0, 0.0)
      0.0, 1.0, 0.0   //3番目の頂点(0.0, 1.0, 0.0)
  ];
See:
enchant.gl.Mesh#indices
enchant.gl.Mesh#normals
enchant.gl.Mesh#texCoords

Method Detail

  • destroy()
    オブジェクトを破棄する.
  • reverse()
    メッシュの面の向きと法線の向きを反転させる.
  • setBaseColor(color)
    Meshの色を変更する. Mesh.colorsを指定した色の頂点配列にする.
      var sprite = new Sprite3D();
      //紫色に設定. どれも同じ結果が得られる.
      sprite.mesh.setBaseColor([1.0, 0.0, 1.0, 0.0]);
      sprite.mesh.setBaseColor('#ff00ff');
      sprite.mesh.setBaseColor('rgb(255, 0, 255');
      sprite.mesh.setBaseColor('rgba(255, 0, 255, 1.0');
    Parameters:
    {Number[]|String} color
    z z軸方向の平行移動量