Wavefront objファイルをロードし、回転させて表示する非常に単純なプログラムがあります。問題は、プログラムがいくつかの問題 (三角形の欠落など) でそれをレンダリングすることです。NeHe のチュートリアルから取得した頂点バッファーを使用してピラミッドをレンダリングしようとしたときに、同様の問題が発生しました。したがって、このレンダリングの問題の原因はわかりません。手伝って頂けますか?
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() {
}
}