gpt4 book ai didi

android - 网格渲染问题 libgdx

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:06:51 25 4
gpt4 key购买 nike

我有一个非常简单的程序,它加载一个 wavefront obj 文件,旋转并显示它。问题是程序呈现了一些问题(比如缺少三角形)。当我尝试使用从 NeHe 的教程中获取的顶点缓冲区渲染金字塔时,我遇到了类似的问题。所以我不知道是什么导致了这个渲染问题。你能帮助我吗? Buggy Space Shuttle

package com.jam.libgdx3DTest;

import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.*;
import com.badlogic.gdx.graphics.g3d.loaders.obj.ObjLoader;

import java.io.InputStream;

public class Libgdx3DTest extends Game {

private Mesh shuttleMesh;
private Camera camera;
private float rotateAngle;

public void create() {
if (shuttleMesh == null) {
InputStream in = Gdx.files.internal("shuttle.obj").read();
shuttleMesh = ObjLoader.loadObj(in, false);
}
}

public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

Gdx.gl10.glMatrixMode(GL11.GL_MODELVIEW_MATRIX);

Gdx.gl10.glLoadIdentity();

camera.update();
camera.apply(Gdx.gl10);

rotateAngle += 0.5f;
Gdx.gl10.glRotatef(rotateAngle, 0f, 1f, 0f);
Gdx.gl10.glRotatef(-90f, 1f, 0f, 0f);

shuttleMesh.render(GL11.GL_TRIANGLES);
}

public void resize(int width, int height) {
float aspectRatio = (float) width / (float) height;
camera = new PerspectiveCamera(67, 2f * aspectRatio, 2f);
camera.translate(0f, 0f, 12f);
}

public void pause(){
}

public void resume(){
}

public void dispose() {
}
}

最佳答案

我认为您可能遇到缠绕问题,即模型的缠绕与 OpenGL 不同。

OpenGL 绕线默认是逆时针的,不过这可以用 glFrontFace(GL_CW) 改变;

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

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