zoukankan      html  css  js  c++  java
  • OpenGL Panorama Player

    JMGL_PANO

    star_war_eve source 1

    Source1

    star_war_eve source 2

    Source1

    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

    程序截图

    • 全景预览

    rectilinear

    • 水晶球

    mirror

    fisheye

    • 小行星

    planet

    5. TODO list

    • 处理键盘输入
    • 处理鼠标输入
    • 处理触摸屏输入
    • 全景模式变换
      • 全景浏览
      • 鱼眼模式
      • 水晶球模式
      • 小行星模式
    • 优化OpenGL渲染
    • 媒体文件硬解码支持
    • 贴图编码

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

  • 相关阅读:
    C++对象模型
    C/C++内存结构
    第一篇
    Goodbye Steve(19552011)
    DirectX学习笔记_关于Sprite.Draw2D的说明
    Goodbye World!
    js把一个数组的数据平均到几个数组里面
    Django model字段类型清单
    Golang中间件——goredis操作Redis
    Python开发一个短网址生成器
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12288988.html
Copyright © 2011-2022 走看看