【问题标题】:LibGdx GLES2.0 cube texel stretchingLibGdx GLES2.0 立方体纹素拉伸
【发布时间】:2012-06-14 09:26:28
【问题描述】:

我已经在 Windows/SDL 上编写 OpenGL 几年了,并且能够用它做很多高级的事情。

我已经切换到 Android 和 libgdx,在过去的几天里,我试图将一个简单的演示放在一起,只是一个旋转的立方体。

使用 libgdx 的 ObjLoaderMesh 类,我加载了从搅拌机导出的立方体网格(带有法线和 uv 坐标),并尝试应用纹理,它绘制了一个立方体,但似乎只使用一个纹素从纹理到覆盖整个模型。

我已经仔细检查了纹理坐标,甚至用特定坐标手动编码了一个平面来测试,同样的事情正在发生。

这是顶点着色器:

attribute vec4 a_position;
attribute vec3 a_normal;
attribute vec2 a_texCoord;

uniform mat4 mvp;

varying vec3 outNormal;
varying vec2 outTexcd;

void main(){
    outNormal = a_normal;
    outTexcd = a_texCoord;
    gl_Position = mvp * a_position;
}

片段着色器:

precision highp float;

varying vec3 outNormal;
varying vec2 outTexcd;
uniform sampler2D tex;

void main(){
    vec3 norms = outNormal;
    gl_FragColor = texture2D(tex,outTexcd);
}

但我不认为这就是问题所在。或者可能确实如此,我不确定。

不想过多地堵塞这个问题,所以主要来源在这里(pastebin):Main Source

如果这是一个不好的问题,请告诉我,这是我的第一个问题。

【问题讨论】:

    标签: android opengl-es-2.0 libgdx texturing


    【解决方案1】:

    玩弄图片我找到了答案。

    使用的是 32 位 .png RGBA8888,但没有告诉 libgdx。

    切换成RGBA8888取图:

    t = new Texture(Gdx.files.internal("Image/r3.png"),Format.RGBA8888,true);

    我有点不好意思,对不起。

    编辑: 奇怪的是,虽然没有透明度......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多