[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Java3Djp:00960] Re: テクスチャの張り方2



◆◇◆  ≪eオークション≫      価格創造        ◆◇◆
厳選された極めつけの商品。
ホテルスィートルーム、スノーボード、香水、ブランドバック
 
日本を代表する売り手企業群。だから安心して入札に参加できます。
 
◆◇◆  ≪eオークション≫  http://www.eac.ne.jp/  ◆◇◆
-----------------------------------------------------------

えんどうです。

>  // 四角形描画メソッド
>  private Shape3D DrawRect(SimpleUniverse universe,Point3d[] vertices,String
> tex,Vector4f texS,Vector4f texT){
> 
> 
>   QuadArray geometry =
>    new QuadArray(vertices.length,
> GeometryArray.COORDINATES|GeometryArray.NORMALS|GeometryArray.TEXTURE_COORDI
> NATE_2);
>   geometry.setCoordinates(0, vertices);
> 
> 
>   Appearance ap = new Appearance();
> 
>   Shape3D shape = new Shape3D(geometry,ap);
> 
>   TextureLoader tloader
>    = new TextureLoader( tex, universe.getCanvas() );
>   Texture texture = tloader.getTexture();

この、

>   TexCoordGeneration texGen = new TexCoordGeneration();
>   texGen.setPlaneS( texS );
>   texGen.setPlaneT( texT ) ;

>   ap.setTexCoordGeneration( texGen );

をとりあえずやめてみてください。

0┌───┐3
 │      │
 │      │
 │      │
 │      │
1└───┘2

こんな形状のようですから、テクスチャー座標は

  float texcoords = { 0.0f, 1.0f,   // 左上
                      0.0f, 0.0f,   // 左下
                      1.0f, 0.0f,   // 右下
                      1.0f, 1.0f }; // 右上

  geometry.setTextureCoordinates(0, texcoords);

こうなると思います。

---
ENDO Yasuyuki <yasuyuki@xxxxxxxxxx>
http://www.javaopen.org/jfriends/index.html (Japanese Only)