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 ...
随机推荐
- Teensy-HID攻击
title date tags layut 渗透利器-Teensy(低配版BadUSB) 2018-09-25 kali post 准备工作 一块 Teensy2.0++ 的板子(淘宝一搜就有) Ar ...
- shell的集合运算
用cat,sort,uniq命令实现文件行的交集 .并集.补集 交集 $F_1 \cap F_2 $ cat f1 f2 | sort | uniq -d 并集 $F_1 \cup F_2 $ cat ...
- ID3/C4.5/Gini Index
ID3/C4.5/Gini Index */--> ID3/C4.5/Gini Index 1 ID3 Select the attribute with the highest informa ...
- F 乘法(第k大问题)(二分)
题:https://ac.nowcoder.com/acm/contest/3979/F 题意:俩个序列俩俩相乘得到n*m个数,求第k大的数是哪个 分析:二分 #include<bits/std ...
- grep 提取百度网盘的链接
弄到一堆学习资料,都是网盘地址,其中有很多失效了,不想一个个试 3.3第20季:HTML5特效实战 https://pan.baidu.com/s/1kVBrpZp 3.4第21季:3小时玩转微信小程 ...
- video文件转blob
//创建 XMLHttpRequest 对象 var xhr = new XMLHttpRequest(); //配置请求方式.请求地址以及是否同步 xhr.open('POST', './play' ...
- [学习笔记]set的使用
set默认进行升序排列,通过结构体可以改. 维护一个比主人公分数高的set 降序排列,比主人公高就进入set 比主人公低就不进去,或者在删除操作里删掉. 然后血的教训 https://blog.csd ...
- java面试和笔试大全
2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型 ...
- P2486 [SDOI2011]染色 区间合并+树链剖分(加深对线段树的理解)
#include<bits/stdc++.h> using namespace std; ; struct node{ int l,r,cnt,lazy; node(,,,):l(l1), ...
- c++与c语言的区别部分
1.new <malloc> delete <free> 2.多态: 重载 <函数 操作符> 类似于c中的变化参数 虚函数 3.模板 ...