[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:00842] Re: clamp,repeat
☆★☆★☆★☆ホームページスペースのことならAKB NETWORKへ★☆★☆★☆★
★☆ http://あなたのID.miffy.toでHPを作るなら→\890/月から! ★☆
☆ 50Mの大容量!!!独自ドメインでのホスティングなら→\3,980/月から! ★
★ サーバー丸ごとレンタル。Webレンタル業務も簡単→\20,000/月から! ☆
☆★ ただいまキャンペーン中!更にお安く提供しています!! ☆★
★☆★☆★☆★業界屈指の低料金!!http://www.akb-net.com/☆★☆★☆★☆
Numakuraです。
えんどうさん、
> > 2.ポリゴンの一部にだけテクスチャを貼る、つまり
> > 0〜1のところだけにマッピングするために何か
> > よい方法はありますか?(ポリゴンを分割する
> > しかない?)
>
> たとえば四角形ポリゴンだったら、s0=-1.0, t0=-1.0, s1=2.0, t1=2.0
> とかしていおいて、WRAP にすれば出来そうな気がします。
>
これだとうまくいかないんです。以下は、ソースの一部ですが適当な
プログラムに入れ込んで実行してみてください。
Point3d[] vertices = new Point3d[4];
vertices[0] = new Point3d(-1.0, -0.5, 0.0);
vertices[1] = new Point3d( 1.0, -0.5, 0.0);
vertices[2] = new Point3d( 0.5, 0.5, 0.0);
vertices[3] = new Point3d(-0.5, 0.5, 0.0);
float texCoords[] = { -1.0f, -1.0f,
2.0f, -1.0f,
2.0f, 2.0f,
-1.0f, 2.0f };
QuadArray quad = new QuadArray( 4, QuadArray.COORDINATES |
QuadArray.TEXTURE_COORDINATE_2 );
quad.setCoordinates(0, vertices);
quad.setTextureCoordinates(0, texCoords);
Texture texture = new TextureLoader("e:/texture.gif",
this ).getTexture();
// ^ textureのパスは適当に!!
texture.setBoundaryModeS( Texture.WRAP );
texture.setBoundaryModeT( Texture.WRAP );
texture.setBoundaryColor( 0.0f, 0.0f, 1.0f, 0.0f );
texture.setMagFilter(Texture.NICEST);
texture.setMinFilter(Texture.NICEST);
Appearance app = new Appearance ();
app.setTexture( texture );
// TextureAttributes ta = new TextureAttributes();
// ta.setPerspectiveCorrectionMode( TextureAttributes.NICEST );
// app.setTextureAttributes( ta );
#ちなみに、上記は「一般の四角形にマッピングするとPerspectiveCorrection
#してもテクスチャがゆがむ」ということも見て取れます。これは四角形を2個の
#三角形に分割するからだと思われますが、どうもこれが好きになれません。
#OpenGLのせいなのですが、いつなおるんでしょう?
_/_/_/ E-Mail:numakura@aie-res.co.jp _/_/_/