OpenGL Panorama Player
JMGL_PANO
star_war_eve source 1

star_war_eve source 2

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>
- 鱼眼

- 小行星

5. TODO list
- 处理键盘输入
- 处理鼠标输入
- 处理触摸屏输入
- 全景模式变换
- 全景浏览
- 鱼眼模式
- 水晶球模式
- 小行星模式
- 优化OpenGL渲染
- 媒体文件硬解码支持
- 贴图编码
注: 本页JPEG图片使用Google guetzli 工具压缩,压缩时间太长,压缩率还可以接受。
OpenGL Panorama Player的更多相关文章
- 计算机视觉code与软件
Research Code A rational methodology for lossy compression - REWIC is a software-based implementatio ...
- 学习pano2vr制作html5全景笔记
demo截图: demo下载: 百度网盘:http://pan.baidu.com/s/1o8yBwIA 密码:nf62(启服务端查看); 我制作是全屏定点360的全景页面,使用pano2vr软件制作 ...
- NeHe OpenGL教程 第三十五课:播放AVI
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第二十一课:线的游戏
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- Media PLayer
PotPlayer http://potplayer.daum.net/?lang=zh_CN KMPlayer 的原制作者姜龙喜先生(韩国)进入 Daum 公司后的新一代作品.PotPlayer 的 ...
- win10系统搭建虚拟机:VMware Workstation Player 12环境+Ubuntu Kylin 16.04 LTS系统
笔者小白一枚,其实连虚拟机是个啥都不知道...实属惭愧,介于此所以今天倒腾了一下花了一上午就已经搭建好一个VMware Workstation Player 12免费版的,很哈皮,于是赶紧分享一下. ...
- OpenGL.Tutorial文章转载
ZC:本来以为没有中文版的,原来有中文版,网址为: ZC: OpenGL3.0教程 _ 泰然网.html(http://www.tairan.com/archives/6126/) ZC: OpenG ...
- Player Settings 导出设置
Player Settings is where you define various parameters (platform specific) for the final game that y ...
- 第11月第14天 opengl yuv beginners-tutorials
1. Here is some snippets of code from my project 'movie player for iOS'. 1. fragment shader varying ...
随机推荐
- swift------导入OC三方类找不到头文件的解决方法
1.首先新建个 swift工程 2.在swift 中新建 OC 类 比如新建 Request 类,会自动生成个.XXXX-Bridging-Header 类: 3.让后把 导入的第三方头文件导入进去. ...
- IDEA 安装破解
打开IntelliJ IDEA的官网. https://www.jetbrains.com/idea/download/#section=windows 开始安装吧!傻瓜式安装,不多说 激活 ...
- iTOP-4418开发板Qt Creator 编译注意事项
用“Qt Creator3.2.2”打开“qt4.7.1”环境下的工程文件可能会提示版本太旧.环境不匹 配导致程序无法编译,解决办法:建立新的工程把测试程序代码粘贴上去即可(界面需要自己 添加). 在 ...
- i春秋web作业2.26
Web安全工程师(入门班) [全国线上入门班53期]课后作业 2020-2-26 DorinXL 1)为什么说js校验是一种不安全的校验方式? js校验不安全,是因为用户很容易通过控制台删除或 ...
- 联想的amd电脑,Debian8.8开机后亮度值始终最大,尝试过各种方法,始终无法解决,最后debian8.8在安装开源驱动后,成功调节
安装ATI显卡驱动(开源)(方法步骤来自Debian WiKi) A.先升级可用的包 # aptitude upgrade B.安装下面3个包 # apt-get install firmware-l ...
- linux中 su 与 su - 的区别
linux中 su 与 su - 的区别 su只是切换了用户身份,shell环境仍然是切换前用户的shell环境 su -是用户和shell环境一起切换成. 备注:1.切换了shell环境会相应的用户 ...
- sockaddr_in 转成string
string strAcceptIp = inet_ntoa(remoteAddr.sin_addr);
- vue打包成app后,点击手机上的物理返回按钮后直接退出app
在浏览器上浏览vue项目时,后退按钮是可以正常返回上一页的,但是打包成app后,点击手机上的屋里返回按钮,就直接退出app回到桌面了, 以下是解决办法: 使用mui进行手机的物理键的监听 1.首先安装 ...
- 4418开发板Android源码整体&单独编译
内核缺省文件配置之后,Android 目录,运行一键编译脚本“build_android.sh”,如下图所示.注意:本篇文章基于iTOP-4418开发板,编译 Android 必须保证给 Ubuntu ...
- java调用IPFS去中心化体系
Maven pom.xml引入 <repositories> <repository> <id>jitpack.io</id> <url>h ...