2

私は pyglet と opengl に入ろうとしましたが、テクスチャで単純な三角形を描画すると奇妙な結果が得られました。三角形を描画すると、テクスチャに黒い境界線が表示されます。min/mag_filter を変更しようとしましたが、境界線に影響はありません。ここで重要な何かが欠けていますか?

    img = pyglet.image.load('test.png')
    tex = img.get_texture()
    #left triangle
    vert = [0,0,0,100,100,100]
    #right triangle
    vert2 = [200,0,200,100,300,100]
    uv = [0.0,0.0,0.0,1.0,1.0,1.0]
    img.blit(200,200)

    pyglet.gl.glDisable(tex.target)
    pyglet.graphics.draw(3,pyglet.gl.GL_TRIANGLES,('v2f',tuple(vert2)))

    pyglet.gl.glEnable(tex.target)
    pyglet.gl.glBindTexture(tex.target,tex.id)
    pyglet.graphics.draw(3,pyglet.gl.GL_TRIANGLES,('v2f',tuple(vert)),('t2f',tuple(uv)))

ここに画像の説明を入力

4

1 に答える 1

3

ほとんどの場合、ピグレットがテクスチャを2の次の累乗でパディングし、残りのテクスチャをストレッチする代わりに黒で塗りつぶします。

この問題には2つの解決策がありますが、どちらもLWJGLに関する以前のSOの質問に答えました。テクスチャが適切に伸びません。なぜこうなった?

于 2012-06-25T20:05:56.990 に答える