0
我跑this example,爲什麼GL_CLAMP在這裏很重要?
但改變:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
到:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
和我在頂部和右側有一個稍微不同的圖像。
但作爲從代碼中看出:
glBegin(GL_QUADS);
//lower left
glTexCoord2f(0, 0);
glVertex2f(-1.0, -1.0);
//upper left
glTexCoord2f(0, 1.0);
glVertex2f(-1.0, 1.0);
//upper right
glTexCoord2f(1.0, 1.0);
glVertex2f(1.0, 1.0);
//lower right_
glTexCoord2f(1.0, 0);
glVertex2f(1.0, -1.0);
glEnd();
紋理都不會出門的範圍,爲什麼GL_CLAMP事項?
你能解釋一下這個'0.0625' ='1.0/16'的魔法值來自哪裏嗎? – 2012-07-16 21:36:10
@StevenLu我剛剛發現這個矢量被添加到紋理座標,因此它可以計數超過1.0,其中'GL_CLAMP'進場。要了解着色器中實際做了什麼,最好問一下[此代碼的作者](http://stackoverflow.com/a/3585515/344480)。 – Matthias 2012-07-17 09:37:15