【发布时间】:2019-05-21 07:40:21
【问题描述】:
我正在使用 LibGDX 和 Blender 进行一项初学者练习来渲染 3d 模型。
我创建了一个六面骰子,对其进行 uvunwrap 并创建了一个 png 文件 uvmap。在 Blender 中看起来不错。但是,在游戏窗口中,它显示为灰色。
我尝试了几种不同的灯光配置,但都没有成功。这可能是一个物质问题吗?有什么建议吗?
截图和代码如下。谢谢!
public class ShipRenderer implements ApplicationListener {
public Environment environment;
public PerspectiveCamera cam;
public CameraInputController camController;
public ModelBatch modelBatch;
public Model model;
public ModelInstance instance;
Color lightColor;
PointLight light;
float DISTANCE = 40f;
@Override
public void create() {
modelBatch = new ModelBatch();
environment = new Environment();
environment.set(new ColorAttribute(ColorAttribute.AmbientLight, 1f, 1f, 1f, 1.0f));
cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
cam.position.set(DISTANCE, DISTANCE, DISTANCE);
cam.lookAt(0,0,0);
cam.near = 1f;
cam.far = 150f;
cam.update();
UBJsonReader jsonReader = new UBJsonReader();
G3dModelLoader loader = new G3dModelLoader(jsonReader);
model = loader.loadModel(Gdx.files.internal("dice/dice.g3db"));
instance = new ModelInstance(model);
camController = new CameraInputController(cam);
Gdx.input.setInputProcessor(camController);
}
@Override
public void render() {
camController.update();
Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
modelBatch.begin(cam);
modelBatch.render(instance, environment);
modelBatch.end();
}
【问题讨论】:
标签: opengl libgdx textures lighting