参考教程地址:http://blog.xoppa.com/basic-3d-using-libgdx-2/

1. 创建项目

2. 代码

 1 package com.mygdx.game;
 2
 3 import com.badlogic.gdx.ApplicationAdapter;
 4 import com.badlogic.gdx.Gdx;
 5 import com.badlogic.gdx.graphics.*;
 6 import com.badlogic.gdx.graphics.g3d.*;
 7 import com.badlogic.gdx.graphics.g3d.attributes.ColorAttribute;
 8 import com.badlogic.gdx.graphics.g3d.environment.DirectionalLight;
 9 import com.badlogic.gdx.graphics.g3d.utils.CameraInputController;
10 import com.badlogic.gdx.graphics.g3d.utils.ModelBuilder;
11
12 public class MyGdxGame extends ApplicationAdapter {
13     public Environment environment;//可以包含点光源集合和线光源集合
14     public PerspectiveCamera cam;//3D视角
15     public Model model;//模型
16     public ModelInstance instance;//模型实例
17     public ModelBatch modelBatch;
18
19     public CameraInputController camController;//视角控制器
20
21     @Override
22     public void create () {
23         environment = new Environment();
24         environment.set(new ColorAttribute(ColorAttribute.AmbientLight, 0.4f, 0.4f, 0.4f, 1f));//环境光
25         environment.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, -1f, -0.8f, -0.2f));//直线光源
26
27         modelBatch = new ModelBatch();
28         cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());//67可以理解成一个定值,视角宽度(67度)
29         cam.position.set(10f, 10f, 10f);
30         cam.lookAt(0,0,0);
31         cam.near = 1f;
32         cam.far = 300f;
33         cam.update();
34
35         camController = new CameraInputController(cam);
36         Gdx.input.setInputProcessor(camController);
37
38         ModelBuilder modelBuilder = new ModelBuilder();//Helper class
39         model = modelBuilder.createBox(5f, 5f, 5f,
40                 new Material(ColorAttribute.createDiffuse(Color.GREEN)),
41                 VertexAttributes.Usage.Position | VertexAttributes.Usage.Normal);
42         instance = new ModelInstance(model);
43
44
45
46     }
47
48     @Override
49     public void render () {
50         camController.update();
51         Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
52         Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
53
54         modelBatch.begin(cam);
55         modelBatch.render(instance,environment);
56         modelBatch.end();
57     }
58
59     @Override
60     public void dispose() {
61         model.dispose();
62         super.dispose();
63     }
64 }

3. 运行效果图

转载于:https://www.cnblogs.com/hanhongmin/p/3844447.html

libgdx 3D 测试一相关推荐

  1. 几个著名的3D测试场景与模型

    来自:http://tieba.baidu.com/p/2516805630 Sponza Atrium(Marko Dabrovic版) 由来自Lightwave的Marko Dabrovic于20 ...

  2. 显示器3d测试软件,3D显示器专题测试看上去很美.pdf

    3D显示器专题测试看上去很美.pdf 3D 显 示 器 专 题 测 试 当 无 拖 影 . L E D 背 光 和 广 色 域 等 技 术 E 经 不 再 新 鲜 . 液 晶 显 示 器 再 次 遇 ...

  3. 显示器3d测试软件,3D画面究竟如何开启_AOC D2357PH_液晶显示器评测-中关村在线

    身为一款3D显示器,其3D显示方面的性能表现自然也就是我们测试的一部分.目前偏光和快门是开启3D画面的方式有所不同.对于采用了偏光式3D解决方案的显示器产品而言,一般是无需安装软件即可实现一键式2D转 ...

  4. libgdx 3D 渲染优化

    原文地址:http://blog.xoppa.com/3d-frustum-culling-with-libgdx/ 非翻译,详细内容请见原文,捡点我能理解的说说吧~ 关于矩阵之类的知识可以看一下 h ...

  5. libgdx 3D CameraInputController WASD控制器

    libgdx源码中有一个默认实现CameraInputController,基本实现了各种控制. 我想要的和他的有点区别,可能更类似于WOW或者CS的操作方式吧... 在他的基础上改改,见源码: 1 ...

  6. 显示器3d测试软件,全球首款120Hz 优派3D液晶显示器首测

    对于玩家来说,打游戏什么最爽?还不就是立体逼真的影像与声音,能有临场感那是最棒的.近年来液晶显示器不断加入了新的技术,响应时间的提升以及对比度的刷新都是为了让玩家有更好的游戏感受,而如今120Hz超高 ...

  7. 显卡3d测试软件中文版,Gpu显卡测试软件(Geek3d GpuTest GUI) V0.5.0官方版

    Gpu显卡测试软件(Geek3d GpuTest GUI)基准测试其 GPU 以及运行 OpenGL.测试集成内 GpuTest 来从其他知名的软件解决方案,它们是:·基于 FurMark 的应力测试 ...

  8. libgdx 3d_使用Java和libgdx进行3D游戏编程,使用Blender建立模型

    libgdx 3d Or- the journey through the x, y, and z axes through the lens of a computer screen. 或 -通过x ...

  9. CVPR2020论文介绍: 3D 目标检测高效算法

    CVPR2020论文介绍: 3D 目标检测高效算法 CVPR 2020: Structure Aware Single-Stage 3D Object Detection from Point Clo ...

最新文章

  1. Unity中创建本地多人游戏完整案例视频教程 Learn To Create A Local Multiplayer Game In Unity
  2. R语言as.numeric函数将因子变量(factor)转化为数值变量(Numeric)
  3. LIVE 预告 | CMU研究者:解放审稿人,AI可以帮我们实现自动审稿吗?
  4. 皮一皮:能到大四也是不容易了...
  5. linux的终端,网络虚拟终端,伪终端
  6. [案例分享]科大云炬工作室开发的安卓APP项目
  7. Chrome模拟手机浏览器(iOS/Android)的三种方法,亲测无误!
  8. Nova虚拟机启动提示libvirtError
  9. 让TortoiseGit记住帐号密码方法
  10. 寻找两个有序数组中的中位数
  11. 正在播放 html全集视频教程,正在播放:HTML基础视频教程(全集)-网络编程视频-星火视频教程 21edu8.com...
  12. mysql 导出csv命令_MySQL 导出数据到csv文件的命令
  13. 查看perl的模块版本
  14. 腾讯荣升Linux基金会白金会员助力支持开源社区
  15. Java设计模式介绍
  16. mapreduce 的partitioner,GroupComparator,KeyComparator,分布式缓存使用示例
  17. 如何区分前后端 BUG
  18. 8月书讯(上)| 这些新书不可错过
  19. convert 8bit/10bit RGB444,YUV444,NV12,NV21 to PNG
  20. win7 安装IE11 教程

热门文章

  1. VS无法读取项目文件?
  2. 业务逻辑写在存储过程好还是后端好_后端两小时,前端一星期!你只是一个写接口的工程师吗?...
  3. android activity根节点addview_Activity问你4个问题,你敢回答吗?
  4. python0.1+0.2_为什么0.1+0.2=0.30000000000000004
  5. SQLite中的SELECT子句
  6. swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程
  7. mysql ndb 测试_.部署MYSQL集群 --测试
  8. linux 网络传输压塑文件,萌新的Linux学习之路(十一)文件压缩传输
  9. HTML做frame跳转设置响应头,X-Frame-Options header响应头如何配置
  10. 360修复高危漏洞可以修复吗_360代码卫士助D-LINK修复多个高危漏洞