座標が折り返し始める時点で、テクスチャ付きVBOで問題が発生しています。エフェクトをより目立たせるため、テクスチャの周りに30pxの黄色の境界線を追加しました。近いそれを見てテクスチャラッピング、奇妙なエッジ
は、それが全体の質感が押しつぶさと黄色のラインの間にまみれているほとんどかのように見えます。
テクスチャは([2] =頂点Yバッファ、[0] =頂点Xバッファ)コードは、座標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]);
なし、彼らは正しい範囲にあります。
FRAGシェーダ:
#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
そのすべてが1つのクワッドか、[0,1]からのテックス・コードを持つ複数のものですか? – qxz
これはJava版です – qxz