没有合适的资源?快使用搜索试试~ 我知道了~
Android利用OpenGLES绘制天空盒实例教程
1 下载量 117 浏览量
2021-01-05
22:13:19
上传
评论
收藏 95KB PDF 举报
温馨提示
前言 天空盒这个效果最早是在腾讯的实景地图里看到的,当时觉得很牛逼,但是没有想过自己去实现以下。最近这段时间对opengl很有兴趣,顺便就搞了这个天空盒,话不多说,先上效果。 天空盒的原理就是在三维空间中放置一个正方体,然后将我们的相机放置在正方体内,当我们的视点转动,相机跟着转动。我们就可以看到相应的景色的变换了,天空盒本质上是一个立方体。 OpenGL 关于什么是OpenGL,什么是OpenGLES就不细说了,不了解的就自行百度吧,我们主要是关注代码。整个项目采用了Kotlin + Ndk的形式进行的开发。现在NDK的环境搭建比以前容易了,而且现在是使用CMakeList来构建C++代码
资源推荐
资源详情
资源评论
Android利用利用OpenGLES绘制天空盒实例教程绘制天空盒实例教程
前言前言
天空盒这个效果最早是在腾讯的实景地图里看到的,当时觉得很牛逼,但是没有想过自己去实现以下。最近这段时间对opengl
很有兴趣,顺便就搞了这个天空盒,话不多说,先上效果。
天空盒的原理就是在三维空间中放置一个正方体,然后将我们的相机放置在正方体内,当我们的视点转动,相机跟着转动。我
们就可以看到相应的景色的变换了,天空盒本质上是一个立方体。
OpenGL
关于什么是OpenGL,什么是OpenGLES就不细说了,不了解的就自行百度吧,我们主要是关注代码。整个项目采用了Kotlin
+ Ndk的形式进行的开发。现在NDK的环境搭建比以前容易了,而且现在是使用CMakeList来构建C++代码的,不熟悉的可以
去查看一下。整个项目就两个关键类,SkyBoxView和SkyBoxRender。下面分别来看一下。
第一步第一步
SkyBoxView继承了GLSurfaceView,为什么要继承GLSurfaceView,因为在使用OpenGLES需要建立一个窗口和一个上下
文,GLSurfaceView帮我们做了这些工作。下面是SkyBoxView的主要代码:
class SkyBoxView(context: Context, attributeSet: AttributeSet?) : GLSurfaceView(context, attributeSet)
{
private lateinit var skyBoxRender: SkyBoxRender
private var lastX=0F
private var lastY=0F
private var yaw=0f
private var pitch=0f
private var screenWidth=0
private var screenHeight=0
private var horSensity=0.03f
private var verSensity=0.03f
constructor(context: Context) : this(context, null)
init
{
// initSensor()
initSensity()
initConfig()
}
private fun initSensity()
资源评论
weixin_38528517
- 粉丝: 4
- 资源: 941
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功