4 SDK接入快速入门¶
Step3:使用SDK¶
新建Activity,继承自com.picovr.vractivity.VRActivity类,该类实现SurfaceHolder.Callback,通过Activity及SurfaceView生命周期回调,控制SDK核心线程的创建及销毁。

图4.4 创建新的activity
实现SDK的回调方法:

图4.5实现SDK的回调方法
回调接口说明:
- void onFrameBegin(HmdState var1)
其中参数为头戴状态,详细内容参考com.picovr.vractivity.HmdState类,每帧开始时执行一次,建议在该函数中执行与检测头戴位置朝向、更新画面内容等相关的操作。
- void onDrawEye(Eye var1)
其中的参数可参考com.picovr.vractivity.Eye类,每帧执行两次,分别绘制左眼右眼图像,可在该函数内实现OpenGL绘制操作。Eye类中getType()返回0代表左眼,返回1代表右眼。
- onFrameEnd()
每帧画面渲染结束时执行一次。
- void initGL (int w, int h)
其中 w,h 分别为屏幕宽度和高度,当Surface对象创建完成,SDK初始化OpenGL完成以后,会回调该接口。
- void surfaceChangeCallBack(int w, int h)
在Surface对象发生改变以后执行一次, w 和 h 分别为渲染内容(Render Texture)的 宽 和 高。
- void onRenderPause()
渲染暂停以后执行一次。
- void onRenderResume()
渲染重新开始以后执行一次。
- void onRendererShutdown()
停止渲染,Surface对象销毁以后执行一次。
- void renderEventCallBack(int event)
开发者可利用MsgQueue传递自定义事件,通过VRActivity类中的RenderEventPush(int renderEvent)方法向MsgQueue发送消息(renderEvent取值应大于100),通过该接口监听事件做相应操作。