gpt4 book ai didi

java - libGdx--尝试使用 libgdx.g3d 加载 obj 模型时出现黑屏

转载 作者:行者123 更新时间:2023-11-30 03:07:03 26 4
gpt4 key购买 nike

尝试使用 libgdx 加载和渲染 .obj 模型时,我除了黑屏外一无所获。我尝试了不同的模型(使用 blender 以 .obj 格式导出)我尝试加载 .g3db 文件而不是 obj 文件并得出相同的结果。除了我的 glClearColor(是的,我尝试了黑色以外的其他东西,看看我的模型是否呈现纯黑色),屏幕上什么都没有呈现。我为 .obj 文件(skeleton.mtl、skeleton.obj、纹理)正确加载了所有 Assets 。 png) 并且我确定我的代码正在对它们执行某些操作,因为如果我删除 texture.png,我会收到一条错误消息,提示找不到 Assets 。那么为什么我在渲染时什么也得不到呢?我想了解为什么会这样。这是我的代码:

    public void show() {
modelBatch = new ModelBatch();
environment = new Environment();
environment.set(new ColorAttribute(ColorAttribute.AmbientLight, 0.4f, 0.4f, 0.4f, 1f));
environment.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, -1f, -0.8f, -0.2f));

cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
cam.position.set(1f, 1f, 1f);
cam.lookAt(0,0,0);
cam.near = 0.1f;
cam.far = 300f;
cam.update();
ModelLoader loader = new ObjLoader();
model = loader.loadModel(Gdx.files.internal("models/skeleton.obj"));
instance = new ModelInstance(model);

camController = new CameraInputController(cam);
Gdx.input.setInputProcessor(camController);

ModelLoader loader = new ObjLoader();
model = loader.loadModel(Gdx.files.internal("models/skeleton.obj"));
instance = new ModelInstance(model);

camController = new CameraInputController(cam);
Gdx.input.setInputProcessor(camController);

然后我的渲染循环:

@Override
public void render(float delta) {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

camController.update();

modelBatch.begin(cam);
modelBatch.render(instance, environment);
modelBatch.end();
}

最佳答案

我忘了清除我的深度缓冲区。

在我的:

public void render(float delta) {

我改变了这个:

Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

对此

Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);

如果您使用的是 GL10,它会像这样:

Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

我知道这是愚蠢的事情。我还按照另一位发帖人的建议进行了更改,以确保我的透明度在 blender 中设置为高于零,并且还因为相机太近而后退我的相机,它也没有在那个距离渲染任何东西。谢谢。

关于java - libGdx--尝试使用 libgdx.g3d 加载 obj 模型时出现黑屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21623394/

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