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 ...
随机推荐
- NSIS增加打包文件夹
File /r "F:\rainwayDemo\exploer\RailwayLinesExploer\bin64\log" File /r "models" ...
- linux下用firefox打开csdn故障解决办法
问题:浏览器打开csdn时博客浏览不全,没有了排版 解决办法: 1.下载一个安装包 命令:epel-release-7-11.noarch.rpm: epel-release-7-11.noarch ...
- IMX6Q开发板Linux-QT挂载U盘及TF卡
本文基于:迅为-iMX6开发板Linux-QT挂载U盘及TF卡 如下图所示,qt 启动之后,在超级终端中使用命令“mknod /dev/sda1 b 8 1”创建 U盘的设备节点,如下图所示. 插入 ...
- [LC] 1002. Find Common Characters
Given an array A of strings made only from lowercase letters, return a list of all characters that s ...
- scala编程(六)——函数式对象
Rational 的式样书 分数:rational number 是一种可以表达为比率 d n 的数字,这里的 n 和 d 是数字,其中 d 不能为零.n 被称作是分子:numerator,d 被称作 ...
- windows下使用apache相关资料汇总
1.Apache httpd.conf配置详解 https://www.cnblogs.com/langren1992/p/5160912.html 2.windows下使用apache经验总结 ht ...
- 线程中调用service方法出错
public class PnFileTGIComputeThread implements Runnable { @Resource private AppUsedService appUsedSe ...
- laravel如何输出最后一条执行的SQL
\DB::connection()->enableQueryLog(); // 开启查询日志 \DB::table('xxx'); // 要查看的sql $queries = \DB::getQ ...
- Xen入门系列三【Xen 管理工具 xm】
xm命令是管理Xen的最基本的工具,可以通过xm --help 来获得帮助. 1. 列出所有正在运行的虚拟操作系统 # xm list PS[1]:可缩写为 xm li 2. 启动虚拟机 # 通过配置 ...
- Qt uchar * 转 QImage
QImage(uchar * data, int width, int height, Format format) QImage(const uchar * data, int width, int ...