Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Помогите, непонятно почему не отрисовывается 3d модель libgdx.

Помогите, непонятно почему не отрисовывается 3d модель libgdx.

Поделиться
kitbuilderПользовательwww2 ноя. 20179:16#0
package com.mygdx.game;

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.PerspectiveCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g3d.ModelBatch;
import com.badlogic.gdx.graphics.g3d.ModelInstance;
import com.badlogic.gdx.graphics.g3d.loader.ObjLoader;

public class MyGdxGame extends ApplicationAdapter {

  //Соднаие batch//Creating batch
  ModelBatch batch;
  //Содание перспективной камеры//Creating perspective camera
  PerspectiveCamera camera;

  //Создание модели//Creating model
  ModelInstance model;

  //Функция объявления камеры(для удобства)//Function for initialize camera
  void InitializeCamera(float angle_persp,
            int weight,int height,
            float posx,float posy,float posz,
            float lookx,float looky,float lookz,
            float far,
            float near) {

    camera = new PerspectiveCamera(angle_persp,weight,height);
    camera.position.set(posx,posy,posz);
    camera.lookAt(lookx,looky,lookz);
    camera.far = far;
    camera.near = near;

  }

  @Override
  public void create () {
    //Инициализация batch//Initializate batch
    batch = new ModelBatch();
    //Инициализация камеры//Initializate camera
    InitializeCamera(67,
        Gdx.graphics.getWidth(),Gdx.graphics.getHeight(),
        5,5,5,
        0,0,0,
        300,
        1f);

    ObjLoader loader = new ObjLoader();
    model = new ModelInstance(loader.loadModel(Gdx.files.internal("untitled.obj")));
    model.transform.translate(0,0,0);
    model.transform.scl(3);
  }

  @Override
  public void render () {
    //Очищение буффера глубины и цвета//Clear buffer deth and color
    Gdx.gl20.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_TEST);

    //Обновление камеры//Update camera
    camera.update();

    //Начинаем отрисовку//Begin render
    batch.begin(camera);

    batch.render(model);

    //Заканчиваем отрисовку//End render
    batch.end();
  }
  

}
glasmПользовательwww2 ноя. 201712:25#1
предполагая отсутствие ошибок:
- простой треугольник рисуется ?
- шейдеры встроены в loadModel ?
- размер объекта попадает в пределы ~300 единиц ?
- без камеры тоже пусто ?
kitbuilderПользовательwww2 ноя. 201713:25#2
1 нет
2 скорей всего нет
3 да
4 да
glasmПользовательwww2 ноя. 201715:06#3
тогда добавь треугольник сначала вручную, а потом через загрузку OBJ... обычно всё подобное происходит из-за какой-нить ерунды, о которой забываешь )

/ Форум / Программирование игр / Графика

2001—2017 © GameDev.ru — Разработка игр