我目前在座標開始環繞的地方遇到了我的紋理VBO問題。我在紋理周圍一直添加了30像素的黃色邊框,使效果更加突出。 紋理環繞,奇怪的邊緣
當看得更近時,看起來好像整個紋理被壓扁並塗抹在黃線之間。
紋理座標代碼(緩衝液[0] =頂點X,緩衝液[2] =頂點Y):我的支票的低於0或高於1通過座標
if ((buffer[0] * s) < 0) Logger.logDebug(buffer[8]+","+buffer[9]);
if ((buffer[2] * s) < 0) Logger.logDebug(buffer[8]+","+buffer[9]);
buffer[8] = (buffer[0] * s) % 1f; //tx
buffer[9] = (buffer[2] * s) % 1f; //ty
if (buffer[8] > 1f || buffer[9] > 1f) Logger.logDebug(buffer[8]+","+buffer[9]);
if (buffer[8] < 0f || buffer[9] < 0f) Logger.logDebug(buffer[8]+","+buffer[9]);
無,所以他們在正確的範圍內。
破片着色器:
#version 150 core
uniform sampler2D texture1;
in vec4 vColor;
in vec4 pass_Color;
in vec2 pass_texCoord;
out vec4 out_Color;
void main()
{
out_Color = pass_Color;
out_Color = texture(texture1, pass_texCoord.st);
}
韋爾着色器:
uniform mat4 projection = mat4(
1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0);
uniform mat4 view = mat4(
1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0);
uniform vec4 overrideColor = vec4(-1,-1,-1,-1);
in vec4 in_Color;
in vec4 in_Position;
in vec2 texCoord;
out vec4 pass_Color;
out vec2 pass_texCoord;
void main()
{
gl_Position = projection * view * gl_Vertex;
if (overrideColor == vec4(-1,-1,-1,-1))
{
pass_Color = in_Color;
}
else
{
pass_Color = overrideColor;
}
pass_texCoord = texCoord;
}
'''看起來很可疑。在那個點你的座標是否可以小於零?嘗試在這裏和那裏添加一些'fabs'。 – usr2564301
所有這一個四元組,或來自[0,1]的tex座標的倍數? – qxz
這是用Java編寫的,對吧? – qxz