0

特に s と t のどのパラメーターを使用して、球体をテキスト マップしますか? さまざまなオプションを試しましたが、float[] s と t にどの値を選択しても、歪んだ部分が常に少しあります。平面と円柱はできますが、球についてはよくわかりません。どんな助けでも大歓迎です。

    gl.glTexGeni(GL2.GL_T, GL2.GL_TEXTURE_GEN_MODE, GL2.GL_OBJECT_LINEAR);
    float[] s = {1f, 0f, 0f, 0};
    gl.glTexGenfv(GL2.GL_S, GL2.GL_OBJECT_PLANE, s, 0);
    float[] t = {0f, 1f, 0f, 0};
    gl.glTexGenfv(GL2.GL_T, GL2.GL_OBJECT_PLANE, s, 0);
4

1 に答える 1

0

単一の長方形のテクスチャを使用して球体をテクスチャ マップすると、どこかで深刻な歪みが生じることはありません。数学的に不可能です。そうは言ってglTexGenも、この機能も使用しないでください。a) 廃止され、b) 球体をテクスチャリングするには曲線座標が必要なのに対し、線形平面マッピングのみを作成するためです。頂点シェーダーを使用して、頂点位置からテクスチャ座標を生成します。

于 2012-11-05T23:25:31.397 に答える