OpenGL + OpenGL ES +Metal 系列文章汇总
利用OpenGL中定时器,实现球体自转的效果,效果如图所示
整体实现的流程图如下
流程中的main、setupRC、DrawWireFrameBatch等函数与几何图形的绘制基本一致,这里就不再重复说明
着重说下RenderScene函数,这里包括定时器的开启及自转的实现
//1、基于时间变化 CStopWatch--NSTimer定时器static CStopWatch rotTimer;//获得角度float yRot = rotTimer.GetElapsedSeconds() * 60.0f;
//3、创建3矩阵: 平移、旋转、模型视图矩阵、模型视图投影M3DMatrix44f mTranslate, mRotate, mModelView, mModelViewProjection;//往z轴移动-2.5fm3dTranslationMatrix44(mTranslate, 0, 0, -2.5f);//围绕y轴旋转m3dRotationMatrix44(mRotate, m3dDegToRad(yRot), 0, 1, 0);//矩阵相乘m3dMatrixMultiply44(mModelView, mTranslate, mRotate);//mvp是有顺序的:结果-p-mv,不满足交换律
// m3dMatrixMultiply44(mModelViewProjection, viewFrustum.GetProjectionMatrix(), mModelView);m3dMatrixMultiply44(mModelViewProjection, mModelView, viewFrustum.GetProjectionMatrix());
完整的Demo实现见github - 05_OpenGL_03_球自转
本文发布于:2024-02-02 09:43:18,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170683819742960.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |