一个可旋转的OpenGL魔方实验(27个立方体作为一个大立方体)

公司的APP想搞个很鬼畜的3D魔方菜单:

不用像真的模仿那样可以扭动,而是27个立方体构成一个大立方体,作为一个整体,可以左右上下翻转就行。

 然后我参考吴亚峰编写的《OpenGL ES 3.x游戏开发 上卷》的P132页开始的透视投影(其实也是以前我用GLSurfaceView加速Canvas的内容移动缩放时使用的模式)章节,并且通过变换矩阵来使观察六角星的角度不停变换,具体相关的技术介绍可以看书本的描述。

 

我在这个章节的源码的基础上,自己魔改了5.3章节Cube类代替它的六角星,一口气生成了27个,分3层的9宫格立方体,再对接作者本身的触摸和变换矩阵的代码,即可实现多角度旋转大立方体效果了。

 

一些小细节代码:

1、触控之后传到Cube里面实现观察方向变化的矩阵变换:

 

2、

Cube的组成是由6个面,每个面4个三角形组成,三角形的每个坐标由x,y,z 3个float比例值构成。

 

实际效果:

代码:

https://download.csdn.net/download/cjzjolly/11828449

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值