gpt4 book ai didi

java - Libgdx 渲染网格问题

转载 作者:行者123 更新时间:2023-12-01 16:18:03 24 4
gpt4 key购买 nike

我在渲染网格和使用着色器时遇到问题。我以前让它工作过,但我一直在做一些重构以更好地控制数据,现在它正在做一些有趣的事情。看起来要么顶点设置得很奇怪,要么相机矩阵在屏幕上渲染顶点的位置上做了一些奇怪的事情。

我的顶点着色器现在非常简单。

attribute vec4 a_color;
uniform mat4 u_projTrans;
varying vec4 vColor;

void main() {
vColor = vec4(.5,.5,.5,.8);
gl_Position = u_projTrans * vec4(a_position.x,a_position.y, 0.0, 1.0);
}

这是位置和颜色数据的示例(尽管现在我只是忽略着色器中的颜色数据)

[960.0, 980.0, -1.0, 980.0, 970.0, -1.0, 980.0, 960.0, -1.0]
[960.0, 980.0, -1.0, 980.0, 960.0, -1.0, 960.0, 960.0, -1.0]

每行都是一个三角形,有 3 个顶点(2 个位置分量和 1 个颜色)

这是我设置网格和顶点属性的方法

mesh = new Mesh(true, withShaderData.length, 0,
new VertexAttribute(VertexAttributes.Usage.Position, POSITION_COMPONENTS, "a_position"),
new VertexAttribute(VertexAttributes.Usage.ColorPacked, COLOR_COMPONENTS, "a_color"));
mesh.setVertices(withShaderData);

当我渲染这个网格时,它看起来像这样。

enter image description here它应该看起来像一个简单的洞穴系统,并且应该只填充其中 1 个紫色方 block 。我知道生成代码工作正常,因为它刚刚工作不久,但我一直在重构以使自己更好地控制网格,现在我无法弄清楚发生了什么。

这张图片显示的是放大版本。 enter image description here

正如您从该图像中看到的,边缘是重叠的,这不应该是我拥有的数据的情况。

有人对它无法正确渲染的原因有任何建议吗?我已确保数据格式正确,至少我认为如此。我确保着色器没有做任何疯狂的事情。但它仍然在奇怪的位置渲染三角形。

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

啊啊,我真是傻了。我以为我的格式正确,但我发现我的格式有 1 处完全错误。

关于java - Libgdx 渲染网格问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62353994/

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