(六)当前项目备忘录和目前工作安排进展等
1. 虚影前几帧残留贴图参数glGenerateMipmap(GL_TEXTURE_CUBE_MAP);
a) mipmap是一种对于不同大小的表面使用不同大小的纹理图像的技术。在具体使用的时候,需要事先提供各个level的图像,也就是多次调用glTexImage2D函数,每次调用使用的level和大小是不同的。然后设定GL_TEXTURE_MIN/MAG_FILTER , => GL_NEAREAST_MIPMAP_NEAREST ,然后启用glEnable(GL_TEXTURE_2D) 就可以了, openGL会自动根据大小来选择响应的图进行纹理映射。
b) 在实际应用中构建mipmap,因为mipmap的重要性,OpenGL中提供了一些函数了方便mipmap的处理:
(>openGL3.0) glGenerateMipMap(GLenum target) , 为target相关联的纹理生成一组完整的mipmap。其中的target可以是GL_TEXTURE_1/2/3D/[1d/2d_ARRAY]以及 GL_TEXTURE_CUBE_MAP . 所构建的层有GL_TEXTURE_BASE_LEVEL和GL_TEXTURE_MAX_LEVEL控制.
c) 假设已经建立了第0层mipmap,可以使用gluBuild1/2/3DMipmaps() 函数来创建和定义一系列大小递减的mipmap。如果源纹理的大小不是2的幂,可以利用gluBuild*DMipmaps()函数把纹理图像缩放为最邻近的2的幂。
2. 兵乓buffer 加载下载流
3. 帧率计算调整播放速度
double fps;
double t = 0;
t = ((double)cv::getTickCount() - t) / cv::getTickFrequency();
fps = 1.0 / t;
4. Cuda版本:GPU加速
5. Ffmpeg+sdl音频播放
6. glTexImage2D glTexSubImage2D(cube[ii], 0, 0, 0,R, R,GL_BGR_EXT, GL_UNSIGNED_BYTE, 0)
7. 优化:memcpy内存拷贝函数pBytes->img[i].data
8. 六面体映射封装成一个函数remap6(Mat *m)
9. Opengl纹理贴图学习(论文可能要用到)http://www.bagualu.net/wordpress/archives/2405#贴图步骤
10. 音视频同步
11. Lighthouse才是HTC Vive相比于其他VR头显的鹤立鸡群(论文可能要用到)
https://blog.****.net/liulong1567/article/details/50833265
至少5个传感器才能够保证一个刚体的6自由度跟踪
有采取通常的使用光学镜头和马克点的定位系统
数学模型https://blog.****.net/mov2012/article/details/54982683
12.
13. 加载,双buffer-复制Mat 时间相互抵消,
14. Cuda并行 cuda锁页内存