小编nas*_*sso的帖子

OpenGL纹理重复工件

我正在使用OpenGL(4.5核心,使用LWJGL 3.0.0 build 90),我注意到纹理上的一些工件使用GL_REPEAT了具有大量重复的包装模式:

纹理瑕疵

是什么导致这种情况,我该如何解决(如果可以的话)?


这里,平面的大小是100x100,UV是10000x10000.这个截图是真的很接近它(从更远的,质地是如此之小,我们只看到一台灰色),近平面是在0.0001和10远平面,我不知道问题出在自OpenGL默认值以来,深度缓冲区在更近距离处具有非常高的精度.

(编辑:我在考虑纹理坐标上的浮点错误,但我不确定)

这是我的着色器(我使用延迟渲染,纹理采样在几何传递中,所以我只给出几何传递着色器).

顶点着色器:

#version 450 core

uniform mat4 projViewModel;
uniform mat4 viewModel;
uniform mat3 normalView;

in vec3 normal_model;
in vec3 position_model;
in vec2 uv;
in vec2 uv2;

out vec3 pass_position_view;
out vec3 pass_normal_view;
out vec2 pass_uv;
out vec2 pass_uv2;

void main(){
    pass_position_view = (viewModel * vec4(position_model, 1.0)).xyz;
    pass_normal_view = normalView * normal_model;
    pass_uv = uv;
    pass_uv2 = uv2;

    gl_Position = projViewModel * vec4(position_model, 1.0);
}
Run Code Online (Sandbox Code Playgroud)

片段着色器:

#version 450 core

struct …
Run Code Online (Sandbox Code Playgroud)

java opengl textures glsl opengl-4

5
推荐指数
1
解决办法
455
查看次数

标签 统计

glsl ×1

java ×1

opengl ×1

opengl-4 ×1

textures ×1