JMGL_PANO

star_war_eve source 1

OpenGL Panorama Player插图

star_war_eve source 2

OpenGL Panorama Player插图1

1. 介绍

JMGL_PANO 是Justin开源的一个全景视频播放器(Github)。基于硬件加速的视频解码和OpenGL渲染。仅供个人学习使用,商业使用请联系作者(Justin’s Email: mojing1999@gmail.com)

2. 相关库

OpenGL – OpenGL V3.3
GLEW – OpenGL核心库操作
GLFW – 和window相关操作
FFmpeg – 媒体解码库
pthread – 线程库
Intel Media SDK – 解码库
NV CUDA – 解码库
Video codec – 作者基于硬件加速的视频库
AnyOption- http://www.hackorama.com/anyoption/

3. 框架结构

FFmpeg/video_codec 媒体处理,输出YUV420图像
OpenGL 创建模型,贴图,渲染
GLFW 创建显示窗口,处理鼠标键盘输入

4. 使用

Usage: jmgl_pano [option] input_file
option: -d decode type, user can select decode library.

0: Auto, 1: Nvidia, 2: Intel, 3: ffmpeg

switch view mode by keyboard input:

F1 : Rectilinear
F2 : Mirror Ball
F3 : Fisheye
F4 : Little Planet
‘a’ : Auto rotation
‘t’ : Stop auto rotation

程序截图

全景预览

OpenGL Panorama Player插图2

水晶球

OpenGL Panorama Player插图3

大专栏  OpenGL Panorama Player>
鱼眼

OpenGL Panorama Player插图4

小行星

OpenGL Panorama Player插图5

5. TODO list

处理键盘输入
处理鼠标输入
处理触摸屏输入
全景模式变换

全景浏览
鱼眼模式
水晶球模式
小行星模式

优化OpenGL渲染
媒体文件硬解码支持
贴图编码

注: 本页JPEG图片使用Google guetzli 工具压缩,压缩时间太长,压缩率还可以接受。

发表回复

您的电子邮箱地址不会被公开。