gpt4 book ai didi

android - LibGdx GLES2.0 立方体纹素拉伸(stretch)

转载 作者:行者123 更新时间:2023-11-29 02:04:06 25 4
gpt4 key购买 nike

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

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

使用 libgdx 的 ObjLoaderMesh 类,我加载了一个从 blender 导出的立方体网格(带有法线和 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;
}

fragment 着色器:

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

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

最佳答案

通过研究图像我找到了答案。

正在使用 32 位 .png RGBA8888,但没有告诉 libgdx。

切换为以 RGBA8888 格式接收图像:

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

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

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

关于android - LibGdx GLES2.0 立方体纹素拉伸(stretch),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10980702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com